Senior Embedded Linux Developer
Key Responsibilities.
Design, develop, and optimize Linux kernel modules, device drivers, and user-space applications for embedded hardware.
Develop and maintain Board Support Packages (BSPs) for new and existing hardware platforms, including bootloaders, kernel configuration, device tree, and file system integration
Collaborate closely with hardware engineers to bring up new boards, debug hardware-software interactions, and ensure seamless integration.
Analyze and optimize system performance, memory usage, and power consumption for embedded Linux devices.
Diagnose and resolve complex technical issues related to the embedded Linux operating system, drivers, and applications.
Create and maintain clear and concise technical documentation for designs, code, and test procedures.
Work effectively with cross-functional teams including hardware, application software, Quality Assurance, and product management to define requirements, integrate components, and deliver high-quality products.
Qualifications
Bachelor's or Master's degree in computer science, engineering, or related field
At least 5 years experience in Embedded Linux development.
Strong proficiency in C and/or C++ for embedded systems.
In-depth understanding of the Linux kernel, including drivers, kernel modules, and system calls
Experience with embedded Linux distributions and build systems (e.g., Yocto Project)
Hands-on experience with hardware interfaces and protocols (e.g., I2C, SPI, UART, USB, Ethernet, CAN, GPIO)
Proficiency with debugging tools (e.g., GDB, JTAG debuggers, oscilloscopes, etc)
Broad knowledge of git flow
Ability to read hardware schematics and datasheets.
Able to write high quality technical documentation in English
Fluent in English both verbal and written is mandatory