Embedded Firmware Engineer
About the role
This role is for an experienced Embedded Firmware Engineer who works across both real-time RTOS firmware and Embedded Linux environments. You will design, develop, and maintain low-level software spanning MCU/MPU firmware, Linux kernel and device drivers, hardware interfaces, and heterogeneous embedded systems. You will move comfortably between real-time firmware and Linux kernel-level development while independently owning technical deliverables and collaborating closely with cross-functional engineering teams.
Responsibilities
- Develop and maintain production-quality C/C++ software across RTOS firmware and Embedded Linux platforms.
- Design and implement real-time firmware using FreeRTOS, Zephyr, or comparable RTOS environments.
- Develop and maintain Linux kernel device drivers for embedded hardware components.
- Integrate and control hardware using SPI, I2C, UART/serial, and similar embedded interfaces.
- Work with MCU/MPU-based heterogeneous systems, including inter-processor communication and shared resources.
- Configure and customize embedded Linux builds using Yocto, Buildroot, or comparable build systems.
- Perform hardware bring-up, integration, validation, and root-cause debugging across RTOS, Linux kernel, and hardware boundaries.
- Execute firmware bring-up, validation, and root-cause debugging on target hardware platforms.
- Analyze timing, concurrency, memory and resource usage, interrupts, and real-time behavior to ensure robust system performance.
- Collaborate with firmware, electrical, hardware, systems, robotics, and test teams while independently driving assigned work to completion.
- Apply sound engineering judgment, own technical tasks end-to-end, and deliver high-quality solutions with minimal oversight.
- Contribute to software testing and validation activities to ensure reliable and maintainable embedded solutions.
Requirements
- Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
- 5+ years of professional embedded software or firmware development experience.
- Strong proficiency in C and C++ for low-level embedded and systems development.
- Professional RTOS development experience, such as FreeRTOS, Zephyr, or a comparable RTOS.
- Hands-on Embedded Linux experience, including professional Linux kernel device-driver development.
- Experience with embedded Linux build systems such as Yocto, Buildroot, or comparable platforms.
- Strong MCU and MPU fundamentals, including hands-on integration using SPI, I2C, and UART/serial interfaces.
- Strong debugging skills across RTOS, Linux kernel, and hardware boundaries.
- Experience with software testing, validation, and test engineering in embedded environments.
- Demonstrated ownership of technical work, sound engineering judgment, and the ability to deliver with minimal guidance.
Additional Skills & Qualifications
- Experience with heterogeneous systems involving MCUs, MPUs, DSPs, inter-processor communication, or shared memory.
- Professional DSP or digital signal-processing experience.
- Experience with board support packages (BSPs), device trees, bootloaders, JTAG-based debugging, or bare-metal firmware.
- Background in production robotics, autonomous systems, industrial equipment, automotive, or similar complex embedded products.
- Experience with Embedded Linux platform bring-up from initial hardware integration through system validation.
- Experience developing firmware or software for real-time closed-loop and feedback control systems.
- Familiarity with real-time analysis of timing, concurrency, and interrupt-driven behavior in embedded systems.
Work Environment
This is a fully onsite role based in North Reading. You will work in a hands-on engineering environment focused on embedded systems, collaborating closely with firmware, hardware, electrical, systems, robotics, and test teams. The work involves direct interaction with target hardware for bring-up, integration, validation, and debugging, using tools and technologies such as RTOS platforms (FreeRTOS, Zephyr), Embedded Linux, Linux kernel drivers, Yocto or Buildroot-based build systems, and standard embedded interfaces including SPI, I2C, and UART.
Pay
The pay range for this position is $60.00 - $80.00/hr. Individual compensation offered for this position within this range will depend on many factors, including qualifications, skills, relevant experience, job knowledge, geographic location, internal equity, and other pertinent job-related factors.
Benefits
Eligibility requirements apply to some benefits and may depend on your job classification and length of employment. Benefits are subject to change and may be subject to specific elections, plan, or program terms. If eligible, the benefits available for this temporary role may include the following:
- Medical, dental & vision
- Critical Illness, Accident, and Hospital insurance
- 401(k) Retirement Plan – Pre-tax and Roth post-tax contributions available
- Life Insurance (Voluntary Life & AD&D for the employee and dependents)
- Short and long-term disability
- Health Spending Account (HSA)
- Transportation benefits
- Employee Assistance Program
- 15 days of paid time off and 7 paid holidays
Schedule
This is a Contract, fully onsite position based in North Reading, MA.