
Senior Android Developer (C++)
- Bangalore, Karnataka
- Permanent
- Full-time
- Design, develop, and maintain high-performance, reliable Android system services using Kotlin and C++/JNI.
- Implement and optimize native code modules using C++ and integrate them with Kotlin-based services via the Java Native Interface (JNI).
- Develop services that interact with various Android framework APIs and manage system resources effectively (e.g., background processing, power management, connectivity).
- Create well-defined APIs for the services developed, enabling communication with other applications or components.
- Focus on the stability, security, and efficiency of the system services, ensuring they meet stringent performance criteria.
- Write clean, maintainable, and well-documented code in both Kotlin and C++.
- Develop comprehensive unit tests and participate in integration testing for the services and native components.
- Debug and troubleshoot complex issues within the services, JNI layer, and interactions with the Android framework.
- Collaborate with other engineers, product managers, and QA teams to define requirements, design solutions, and deliver high-quality software.
- Participate in code reviews to ensure adherence to coding standards and best practices.
- Stay updated with the latest advancements in Android system development, Kotlin, C++, JNI, and related technologies
- Bachelor's or Master's degree in Computer Science, Engineering, or a related technical field.
- 5+ years of professional software development experience with a strong focus on Android.
- Proven expertise in developing Android system services using Kotlin.
- Strong proficiency in C++ and extensive hands-on experience with the Java Native Interface (JNI) for Android.
- In-depth understanding of Android OS fundamentals, application lifecycle, services, inter-process communication (IPC), and system-level APIs.
- Experience with the Android NDK (Native Development Kit).
- Solid grasp of software design patterns applicable to system services and native development.
- Proficiency in using Android Studio, Gradle, and debugging tools for both Java/Kotlin and native C++ code.
- Experience with multithreading, concurrency, and performance optimization in an Android context.
- Strong problem-solving, analytical, and debugging capabilities.
- Excellent communication and teamwork skills.
- Ability to work independently and manage priorities in an agile environment.
- Familiarity with Kotlin Multiplatform (KMP) concepts and its potential applications.
- Experience with Android security mechanisms and best practices for developing secure services.
- Knowledge of network protocols and communication.
- Experience with CI/CD pipelines for Android development.