Embedded Software Engineer (Linux/Android)
Role details
Job location
Tech stack
Job description
As part of continued growth, they are looking to appoint a Principal Linux / Android Platform Engineer to join their Software Engineering division, helping to develop the next generation of broadband-capable devices based on Android and Linux platforms.
About the Position
This opportunity is centred on Android platform engineering at a systems level, with a strong emphasis on AOSP, Linux kernel development, and low-level platform integration - not mobile app development. The successful candidate will contribute to enhancing and customising Android platform functionality, working extensively within the Android framework and Linux operating environment.
Main Responsibilities
- Developing and customising Android platform software using AOSP.
- Configuring, tuning, and optimising the Linux kernel for performance and stability.
- Improving scheduler behaviour, reducing latency, and enhancing power efficiency.
- Enhancing Android framework services and core system components.
- Managing and contributing to large-scale Git repositories, including branching, merging, and upstream synchronisation.
- Integrating and utilising open-source profiling, debugging, and diagnostic tools.
- Designing and developing low-level C++ software in embedded, multi-threaded, real-time environments.
- Assisting with integration testing, troubleshooting, and root-cause investigations.
- Creating technical documentation and supporting system architecture discussions.
- Working collaboratively within agile scrum teams to deliver highly reliable products.
Requirements
- Strong knowledge of Android architecture and AOSP internals.
- Proven experience in Linux systems programming and/or kernel-level development.
- Background in optimising Linux or Android systems for performance, latency, and power consumption.
- Advanced C++ development experience within embedded or real-time multi-threaded systems.
- Familiarity with Android platform technologies including Binder, AIDL, System Services (Java/C++), Framework APIs, NDK/JNI, SELinux, and CTS.
- Experience working with embedded Linux or mobile device platforms.
- Strong debugging and profiling capabilities, including memory analysis, performance profiling, leak detection, and code coverage tools.
- Methodical engineering mindset with an appreciation for software quality standards and processes.
Desirable Experience
- Exposure to Linux open-source package configuration and patch maintenance.
- Experience collaborating with hardware engineering teams using tools such as oscilloscopes and logic analysers.
- Previous work on rugged devices, secure communication systems, or embedded consumer electronics.
Working Environment
- Engineering-focused culture with strong technical collaboration.
- Experienced and stable team supported by senior technical leadership.
- Agile, scrum-driven development processes.
- Opportunity to contribute to resilient, mission-critical technology used in demanding operational environments.
- Office-based collaboration model with on-site working five days per week., * An experienced Android AOSP platform engineer seeking complex, low-level engineering challenges; or
- A skilled embedded Linux engineer interested in moving deeper into Android platform development.
This opportunity is ideal for engineers who enjoy solving complex system-level problems, working close to the hardware layer, and developing highly dependable software for critical applications.