Posted on: 23/12/2025
Description :
Role : Android NDK Developer
Location : Bangalore, Chennai, Trivandrum
Experience : 5 - 9 Years
Role Summary :
The Android NDK Developer is responsible for engineering high-performance, system-level components that sit at the intersection of native C/C++ and the Android framework. This role focuses on developing performance-critical features where standard Java/Kotlin execution is insufficient, such as advanced multimedia processing, complex mathematical computations, and low-level hardware abstraction. You will be tasked with architecting seamless communication between the Android Runtime and native libraries via JNI, while ensuring that the resulting system is memory-efficient and highly optimized for diverse mobile hardware.
Responsibilities :
- Design, develop, and optimize Android components using C/C++ via the Android NDK to meet strict performance requirements for real-time applications.
- Engineer solutions across the entire Android stack, including the application layer, background services, and core framework-level native libraries.
- Architect and implement complex JNI (Java Native Interface) bridges to enable high-speed data exchange and synchronization between native code and Java/Kotlin.
- Perform deep-dive debugging and profiling of native code using system-level tools such as GDB, LLDB, and the Android Studio Profiler (System Trace, Native Memory).
- Implement and optimize low-level features for device connectivity (Bluetooth, Wi-Fi), sensor fusion, and high-fidelity multimedia (audio/video processing).
- Manage native memory allocation and concurrency to prevent memory leaks, race conditions, and ANRs (Application Not Responding) in performance-sensitive modules.
- Integrate third-party C++ libraries and frameworks into the Android environment, ensuring cross-architecture compatibility (ARM, x86).
- Collaborate with hardware and framework teams to expose native capabilities to the application layer through custom-built APIs.
- Utilize build systems like CMake and ndk-build to manage complex native dependencies and multi-module project structures.
Technical Requirements :
- 59 years of professional software development experience, with a core focus on Android NDK.
- Mastery of C and C++ (C++11/14/17) with a deep understanding of memory management and pointers.
- Expert-level knowledge of JNI (Java Native Interface) lifecycle, thread management, and object referencing.
- Strong proficiency in Java or Kotlin to ensure efficient integration with the Android application layer.
- Hands-on experience with Android native build tools including CMake, Ninja, and Gradle integration.
- Advanced debugging skills using LLDB and native crash dump analysis (stack traces, tombstone files).
- Experience with performance profiling tools such as Systrace, Perfetto, or Simpleperf to identify native bottlenecks.
Preferred Skills :
- Experience with Android HIDL/AIDL for communicating with the Hardware Abstraction Layer (HAL).
- Familiarity with native multimedia frameworks like OpenSL ES, AAudio, or Oboe.
- Knowledge of computer vision or graphics libraries such as OpenCV or OpenGL ES/Vulkan.
- Understanding of SIMD optimizations (ARM NEON) to accelerate computational tasks.
- Previous experience in developing SDKs or middleware that heavily utilizes native code.
- Strong architectural understanding of Android Internals and the Linux kernel.
Did you find something suspicious?
Posted by
Posted in
Semiconductor/VLSI/EDA
Functional Area
Embedded / Kernel Development
Job Code
1594310
Interview Questions for you
View All