Role Overview
We are looking for a highly skilled Embedded Software Engineer specializing in Power and Performance for the Android mobile domain. In this role, you will be responsible for optimizing system-level efficiency, ensuring peak performance, and refining the power consumption of next-generation mobile platforms. You will work deep within the Linux kernel and Android userspace to identify bottlenecks and implement critical improvements.
Key Responsibilities
-
Kernel & Driver Development: Design, develop, and maintain Linux Kernel code and Device Drivers using C and C++.
-
System Optimization: Analyze and improve system performance, including Clock handling, Scheduler tuning, and Memory optimization.
-
Power Management: Implement and validate Low power modes, DVFS, and CPU driver configurations to extend battery life.
-
Performance Analysis: Conduct deep-dive analysis of mobile workloads using profiling tools like ftrace, perfetto, atrace, and perf.
-
Root Cause Analysis: Identify and resolve system-level issues related to power consumption, latency, and stability across hardware-software boundaries.
Mandatory Skills & Qualifications
-
Core Languages: Strong proficiency in C and C++ for low-level development.
-
Linux Internals: In-depth experience with the Linux Kernel, including Interrupt handling, Scheduler, and Device Driver models.
-
Android Domains: Hands-on experience in one or more areas: Power analysis, Performance improvement, or Memory management.
-
Debugging Tools: Proven ability to use ftrace, stack trace, or similar kernel/system-level tracing tools.
-
Technical Knowledge: Understanding of Low power modes, CPU drivers, and Android userspace architecture.
Optional / Desired Skills
Familiarity with the AOSP (Android Open Source Project) build environment. Experience with Java for Android framework or application layer interactions. Exposure to ARM-based architectures (ARMv8/ARMv9) and Qualcomm or similar chipsets.
Skills: linux,linux kernel,android,mobile,c,embedded software,kernel,software