Job
Role: Android Full-Stack Engineer
Job
Location: Dearborn, MI
Job
Description:
We
are seeking an experienced Android Full-Stack Engineer to join our platform
stability team. In this role, you will be responsible for diagnosing,
debugging, and resolving complex Android stability issues spanning the entire
Android stack—both above (System Partition) and below (Vendor Partition) the
Treble boundary.
You
will work deep within Android framework internals, reverse-engineering issues
from source code, providing technical direction for ambiguous problems, and
ensuring overall platform robustness across Android version upgrades.
This
is a hands-on engineering role for someone who thrives on solving the hardest,
least-understood problems in the Android ecosystem.
Key
Responsibilities:
- Design
and develop middleware and Android background services for platform-level
functionality - Debug
and reverse-engineer complex issues directly from Android Open Source Project
(AOSP) source code Own overall Android platform stability and reliability - Resolve
Android upgrade and integration issues across releases - Diagnose
and fix bugs in system_server components (Activity Manager, Window Manager,
Package Manager, etc.), Car Service, and SurfaceFlinger - Investigate
and resolve black screen, boot failure, and ANR (Application Not Responding)
issues - Resolve
and provide technical direction and root-cause analysis for unknown or
hard-to-reproduce issues - Address
and resolve compliance test failures across CTS, VTS, ATS, and STS
Skills
Required:
- Kotlin,
C++, Java - Kotlin
– Candidate should be able to write and maintain Kotlin-based Android
background services and middleware components and be comfortable working within
Kotlin code in the Android framework/system_server layer (e.g., modifying or
extending services like Activity Manager, Package Manager) as part of resolving
platform stability issues. - C++
– Candidate should have hands-on experience debugging and modifying native
Android components (e.g., SurfaceFlinger, HAL layers, vendor partition code) in
C++, including reverse-engineering issues directly from AOSP nativeopen source
code. - Java
– Candidate should be able to read, debug, and modify Java-based Android
framework code (system_server internals such as Window Manager, Activity
Manager) to diagnose and resolve issues like ANRs, boot failures, and black
screens, including designing AIDL/Binder interfaces exposed to applications.
Experience
Required:
- 3+
years of hands-on Android platform/framework development experience. - Proven
experience in designing and developing middleware and Android background
services (long-running/foreground service) that expose feature-rich interfaces
(AIDL/Binder, APIs) to applications. - Demonstrated
track record of resolving complex, low-level Android stability issues. - Experience
contributing to or modifying AOSP source code - Proven
experience working across the full Android stack (framework, native services,
vendor layers)
Experience
Preferred:
- Experience
with Android Automotive OS (AAOS) and Car Service. - Familiarity
with HAL (Hardware Abstraction Layer) and vendor integration. - Experience
with CTS, VTS, ATS, and STS compliance frameworks. - Knowledge
of Android graphics stack and display subsystems. - Experience
with native debugging tools (gdb, lldb, perfetto, systrace, logcat analysis). - Familiarity
with Android build systems (Soong/Make) and partition architecture. - Experience
working with SoC/silicon vendors on platform bring-up
Education
Required:
- Bachelor's
Degree
Education
Preferred:
- Master's
Degree