Job Description
Architect, develop, and optimize embedded software solutions for secure and high-performance systems. Implement and maintain Secure Boot, and other security measures for embedded platforms. Work on RTOS environment and Linux kernel driver development, including optimizingdevice drivers and upstreaming. Develop and integrate software for various peripheral interfaces (SPI, I2C, UART, USB,SGPIO, eSPI, etc.) and bus protocols (PCIe, Ethernet, etc.). Diagnose and resolve complex hardware and software issues, leveraging debugging tools andmethodologies. Conduct performance analysis and tuning of embedded software systems to ensure efficiencyand reliability. Define and implement scalable and maintainable embedded software architectures. Engage in open-source development, contributing to Linux or similar embedded softwareprojects. Work closely with hardware engineers, security experts, and system architects to developrobust embedded solutions. Mentor junior engineers and contribute to best practices for embedded softwaredevelopment.QualificationsBachelor’s or Master’s degree in Computer Science, Electrical Engineering, or related field. 20+ years of experience in embedded software development, with a strong background inC/C++. Expertise in Root of Trust (RoT), Secure Boot, and cryptographic security principles. Extensive experience with RTOS, Linux kernel, and device driver development. Strong debugging skills using JTAG, GDB, and other embedded debugging tools. Experience in performance profiling and optimization for embedded systems. Proven ability to diagnose hardware and software interaction issues. Experience in open-source Linux development or similar community-driven softwareprojects. Strong understanding of system-level software architecture and real-time performanceconstraints. Hands-on experience with peripheral interfaces (SPI, I2C, UART, USB, etc.) and busprotocols (PCIe, Ethernet, etc.) driver development. Experience in Baseboard Management Controller (BMC) is a plus. Proven ability to debug low-level PCIe issues using analyzers is a plus. In-depth knowledge of PCIe protocol, including, root port, SRIOV Familiarity with machine learning acceleration on embedded platforms. Experience with hardware bring-up and board support packages (BSPs). Knowledge of Yocto, Buildroot, and other Linux build systems.