Job Description:
We are seeking a highly experienced Principal Embedded Software Developer (VSE) with strong expertise in embedded systems development across both hardware and software domains. The ideal candidate will possess deep technical knowledge, hands-on programming skills, and the ability to lead design, development, and integration activities for complex embedded platforms.
This role involves working with real-time operating systems (RTOS), embedded Linux, board support packages (BSP), firmware development, and low-level hardware interfacing. The candidate should also have strong debugging skills and the ability to guide junior engineers while collaborating cross-functionally with hardware, QA, and system architecture teams.
Key Responsibilities
- Lead the design, development, and optimization of embedded software for complex hardware platforms.
- Architect and implement firmware components using C/C++, ensuring high performance, reliability, and stability.
- Develop, customize, and integrate Embedded Linux systems, including BSP layers using Yocto, Buildroot, or similar build systems.
- Work with RTOS environments for real-time applications.
- Integrate and validate hardware interfaces and communication protocols such as I2C, SPI, UART, CAN, Ethernet, etc.
- Collaborate closely with hardware engineers to review schematics, debug board-level issues, and validate system behavior.
- Develop and maintain device drivers, bootloaders, and low-level kernel modules.
- Perform system profiling, debugging, and performance tuning using oscilloscopes, logic analyzers, and other diagnostic tools.
- Write clear technical documentation, design specifications, and test procedures.
- Mentor junior engineers and contribute to best practices in coding, architecture, and design reviews.
Required Skills & Qualifications
- 10+ years of professional experience in embedded software development.
- Strong proficiency in C and C++ programming for embedded systems.
- Demonstrated experience with RTOS (e.g., FreeRTOS, VxWorks, QNX, ThreadX).
- Hands-on experience developing embedded Linux systems, BSP customization, kernel configuration, and system integration.
- Practical experience with Yocto Project, Buildroot, or similar embedded Linux build frameworks.
- Strong understanding of low-level hardware interfaces and communication protocols:
- I2C, SPI, UART, CAN, USB, Ethernet
Pay: $55.00 - $65.00 per hour
Work Location: In person