Responsibilities:
-
Design, develop, and maintain Embedded Linux software for embedded devices
-
Customize and optimize Linux kernel, device drivers, and system services
-
Develop and maintain Board Support Packages (BSP)
-
Work closely with hardware, firmware, and system teams to ensure stable system integration
-
Debug and resolve system-level issues related to performance, boot, and hardware interaction
-
Participate in system architecture design and technical decision-making
-
Contribute to code reviews, documentation, and continuous improvement of development processes
-
Support Android system-level development, including Android BSP and system customization
-
Develop or integrate machine learning applications on embedded platforms
Requirements:
-
Bachelor’s degree or above in Computer/Electronic Engineering or related disciplines
-
2+ years of hands-on experience in Embedded Linux development
-
Strong proficiency in C/C++
-
Solid understanding of: Linux kernel architecture , Device drivers , Bootloaders (e.g., U-Boot) , Build systems (Yocto, Buildroot, or similar)
-
Experience with debugging tools (gdb, strace, perf, etc.)
-
Familiarity with cross-compilation and embedded toolchains
-
Experience working with version control systems (Git)
-
Experience with Android system development, especially: Android BSP ,AOSP customization and HAL / system services
-
Experience deploying or integrating machine learning applications (e.g., TensorFlow Lite, ONNX, OpenCV) on embedded or edge devices
-
Familiarity with common platforms such as ARM or MIPS
-
Experience with performance optimization and system profiling
-
Knowledge of networking, multimedia, or security in embedded systems
-
Strong problem-solving and debugging skills
-
Ability to work effectively under pressure and meet tight deadlines
-
Ability to work independently and collaboratively in a team environment
-
Good communication skills and technical documentation ability
-
Proactive mindset and willingness to learn new technologies