Staff Robotics Software Engineer
Posted Updated
Description
You will architect the mechatronics software stack and define, validate, and build software interfaces for hardware devices. You will develop production C++ systems for warehouse robotics, optimize their real-time performance and observability, review code, analyze requirements, mentor developers, document best practices, and assess technologies and tools.
Responsibilities
- Architect the mechatronics software stack
- Choose, validate, and build software interfaces for hardware devices
- Implement mechatronics software with required quality, performance, observability, and real-time characteristics
- Analyze requirements and review code
- Mentor developers and communicate best practices through documentation
- Evaluate technologies and recommend tools and components
- Develop, debug, and improve production systems
Requirements
- MS or PhD in Computer Science, Robotics, or a related discipline, or equivalent experience
- Expert knowledge of EtherCAT, CAN, and CANopen
- Experience with motor control, peripherals, sensors, and industrial or automotive hardware
- Experience interfacing software with hardware systems
- 7+ years of Modern C++ production experience
- Knowledge of multithreaded, non-blocking, and asynchronous programming
- Experience delivering high-performance real-time software
- Knowledge of Linux and real-time operating systems
- Proficiency with C++ build and CI tools, compilers, debuggers, and profilers
- Strong oral and written communication skills
Benefits
- Comprehensive benefits
- Equity
