Staff Software Engineer, Hardware Interface
Core
Design, develop, and evolve C++ software components for humanoid robots, interfacing with OS drivers and hardware to enable high-bandwidth, low-latency control.
Role type
Staff Software Engineer, Hardware Interface
Builds
Critical low-level software capabilities for state-of-the-art humanoid robots
Domain
Robotics, Hardware-Software Integration
Deliverable
production ML models | product features | infrastructure
Required skills
Modern C++ (17, 20), Linux system programming, Hardware-in-the-loop debugging, Cross-domain problem solving (electrical/mechanical/software), Industrial fieldbus protocols (EtherCAT, CAN, Profinet), Real-time/low-latency system design, Embedded systems development
Preferred skills
Electronic circuit debugging tools, Brushless motor control, Networking protocols in Linux, Python 3.6+
Technologies
C++, Linux, EtherCAT, CAN, Profinet, WiFi, Serial, Git, Jira
Responsibilities
Own the design, development, and evolution of C++ software components interfacing with OS drivers and hardware; Drive technical direction and architecture decisions for hardware interface software; Debug complex cross-domain problems and establish best practices for diagnostics and failure handling; Integrate diverse computing systems through various communication media; Mentor and provide technical guidance to other engineers
Seniority
Staff, hands-on IC with technical leadership