Android Systems Engineer
Job Description
Looking for an experienced Android Systems Engineer Engineer with expertise in low-level development, hardware bring-up, and Android framework integration. Proficient in C/C++, Linux kernel, device trees, HAL development (HIDL/AIDL), and embedded hardware debugging. Skilled in optimizing system performance, power management, and hardware/software interfaces for diverse mobile platforms.
Responsibilities
- Design, develop, and maintain Board Support Packages (BSPs) for diverse hardware platforms.
- Integrate and customize vendor BSPs with AOSP, optimizing for power consumption, thermal management, and stability.
- Manage BSP versioning and collaborate with hardware vendors to ensure compatibility across different revisions.
- Develop and maintain Android-specific kernel drivers, including porting and adapting upstream Linux drivers for use cases.
- Optimize kernel configuration and implement power management and thermal control at the kernel level.
- Debug complex kernel-level issues, crashes, and hardware integration problems.
- Design and implement Hardware Abstraction Layer (HAL) modules to support new hardware features.
- Utilize HIDL/AIDL interfaces to expose hardware capabilities to higher-level Android framework services.
- Maintain, optimize, and debug existing HAL implementations to ensure proper abstraction and compatibility.
- Lead and execute hardware bring-up activities for new device platforms.
- Collaborate with hardware teams on schematic review and validation.
- Optimize overall system performance across the crucial hardware/software interface.
Requirements
- 2+ years of BSP/kernel/HAL development experience.
- Deep BSP development experience, covering bootloader integration, device trees, and hardware initialization.
- Strong Linux kernel expertise, specifically with Android kernel modifications, driver development, and advanced kernel debugging.
- Extensive HAL development experience using HIDL, AIDL, and core hardware abstraction design patterns.
- Proficient in C/C++ for low-level development, kernel modules, and native libraries.
- Proven hardware debugging skills using tools like oscilloscopes, logic analyzers, and JTAG/gdb for embedded systems.
- Expertise in ARM/x86 processor architectures, System-on-Chip (SoC) designs, and cross-compilation toolchains.
- Deep understanding of the Android hardware abstraction architecture and vendor interfaces, including knowledge of Graphics, Camera, Audio, and Sensor HALs.
- Familiarity with Android's power management framework, thermal policies, and security model (e.g., verified boot).
- Hands-on experience with the AOSP build system, vendor integration, and device manufacturing/factory testing processes.
Key Skills
Android Open Source Project (AOSP)
Board Support Package (BSP)
Hardware Abstraction Layer (HAL)
Linux Kernel Development
C/C++
HIDL/AIDL
Device Tree Configuration
Power & Thermal Management
ARM/x86 Architecture
Hardware Debugging
Embedded Systems
System Performance Optimization