We are looking for a skilled Android System Engineer with deep expertise in Android internals, system-level programming, and low-level architecture. You will work on customizing and extending the Android platform, focusing on hardware abstraction, IPC mechanisms, and system services.
Required Qualifications:
Deep understanding of Android OS architecture from Kernel to HAL, Native Libraries, Framework, and Applications
Proficiency in System Call mechanisms, understanding how user space requests are passed to the kernel via libc, syscall tables, etc
Solid grasp of user space vs kernel space in Android/Linux environments
Hands-on experience with Binder IPC, including serialization/deserialization and inter-process request handling
Proficient in AIDL (Android Interface Definition Language), defining interfaces and ensuring integration across system components
Strong experience in developing and customizing HAL modules
Experience in extending or modifying System Services within the Android Framework
Familiarity with system services, how they are launched, interact, and communicate with HAL
Experience in creating custom Android distributions, building from AOSP, modifying system components, configuring system services, boot process, and hardware-specific customizations
Familiarity with vendor-specific HALs and drivers integration into AOSP
Knowledge of boot process and partitioning schemes such as init.rc and system properties
Nice to Have:
Experience with Android BSP (Board Support Package) integration
Knowledge of secure elements, TEE (Trusted Execution Environment), or other platform security layers
Familiarity with debugging tools like strace, gdb, perf, and Android-specific tools (logcat, adb, systrace)
Process Flow:
HR pre-screen + English check (0.5 h)
Professional interview (1 h)
Client's Technical interview (1 h)