Embedded System Software Engineer
Job Summary
The embedded system Software Engineer is responsible for system level software design and development across Linux and Android platforms, with a primary focus on Android BSP, Linux system services, native frameworks, and hardware adaptation for wireless and IoT products, reporting to Software Manager.
This role drives end to end system software integration, spanning Android Framework, native services, HAL, Linux user space services, kernel interfaces, and hardware abstraction layers, and plays a key role in enabling productization of embedded and intelligent devices on Android and Linux platforms.
In addition, the role requires hands on experience with MCU based cellular module software development, including RTOS based systems, peripheral integration, and modem interaction, supporting a broad portfolio of IoT, industrial, automotive, and intelligent terminal products.
Objectives & Responsibilities
- Design, develop, and maintain system level software on Android and Linux platforms, including native services, system services, framework extensions, platform middleware, and long term lifecycle support.
- Lead Android BSP and Linux BSP development, covering board bring up, platform adaptation, system configuration, and sustained maintenance across multiple product generations.
- Develop and integrate hardware adaptation layers, including HAL, driver interfaces, and platform abstraction, enabling stable and efficient interaction between system software and underlying hardware.
- Drive MCU based cellular module software development, including RTOS based applications, middleware, peripheral drivers, power management, and interaction with cellular modems and host systems.
- Support system bring up, performance optimization, and productization, collaborating closely with hardware, RF, AI, test, and manufacturing teams across EVT/DVT/PVT and mass production, while delivering clear system and BSP documentation.