Sr/Staff Embedded Software Engineer
Diligent Robotics
What we’re doing isn’t easy, but nothing worth doing ever is.
We envision a future powered by robots that work seamlessly with human teams. We build artificial intelligence that enables service robots to collaborate with people and adapt to dynamic human environments. Join our mission-driven, venture-backed team as we build out current and future generations of humanoid robots.
As a Sr/Staff Embedded Software Engineer, you’ll be responsible for the low-level software that powers our robots’ sensing, actuation, and compute platforms. You’ll work across sensors, actuators, and power systems, developing firmware and drivers that integrate motors, IMUs, cameras, LIDARs, and other hardware into a cohesive robotics platform. This role spans from device firmware to operating system and driver development for primary and peripheral compute devices. This is a hands-on engineering role for someone who thrives on building real systems that bridge hardware and software.
Responsibilities
- Design, implement, and maintain embedded software and firmware for sensors, actuators, power units, and communication devices.
- Develop device drivers, board support packages, and OS-level integration for primary and peripheral compute platforms.
- Work with a variety of sensors and actuators including motors, IMUs, cameras, LIDARs, depth sensors, and communication modules.
- Implement low-level control and communication protocols (e.g., SPI, I2C, CAN, UART, Ethernet, USB).
- Collaborate with robotics software, perception, and platform teams to integrate hardware drivers into the broader robotics stack.
- Optimize embedded code for performance, reliability, and power efficiency.
- Debug hardware/software interactions, including timing, synchronization, and electrical interface issues.
- Support bring-up and testing of new hardware platforms.
- Write and maintain documentation, test plans, and automated testing for embedded components.
- Stay current on emerging embedded platforms, sensors, and real-time operating systems relevant to robotics.
Skills and Experience
- 5+ years of experience in embedded systems development (or equivalent with graduate work in robotics/embedded systems).
- Strong proficiency in C and C++ for embedded programming.
- Hands-on experience developing firmware and device drivers for sensors, actuators, and compute peripherals.
- Experience with real-time operating systems (RTOS) or Linux kernel/driver development.
- Familiarity with low-level communication protocols (SPI, I2C, CAN, UART, Ethernet, USB).
- Track record of shipping embedded software on robotics, autonomous systems, or other safety-critical hardware platforms.
- Ability to debug hardware/software issues using tools like oscilloscopes, logic analyzers, and protocol analyzers.