Sr. Software Engineer - Real-Time Controls
Role details
Job location
Tech stack
Job description
As a Senior Software Engineer, you will play a pivotal role in the development of advanced, general-purpose robots designed to operate in human environments and work with human tools. This position demands a high degree of ownership and responsibility, driving projects from conception through to completion, ensuring that Apptronik's robots perform precisely and reliably in real-world scenarios. You will be responsible for building the software that runs on our on-board computer to enable real-time control, seamless integration of robot data and models, and effective fault detection, diagnostics, and recovery., * Deliver production-grade real-time C++ software infrastructure
- Integrate low-level firmware data with high-level controls logic over real-time task graphs
- Implement and tune state estimation (IMU, kinematic, odometry fusion) and diagnostic monitors that map sensor faults to DTCs
- Characterize and improve the quality of robot kinematics, estimation, and actuation
- Bring up new robot embodiments
- Integrate learned policies (RL locomotion / motion imitation) into the real-time controls stack
- Perform root-cause analysis for complex hardware-software integration issues
- Develop API for controls and autonomy systems to interact with robot hardware and simulation
- Maintain comprehensive and accurate architecture and design documentation, including HIL and simulation test coverage
- Deliver reliable software through code reviews, continuous integration, and automated testing
- Represent and lead with Apptronik's core values: CHIPC - Curiosity, Humility, Integrity, Passion, Creativity
Requirements
Do you have experience in Version control systems?, * Technical Skills: Strong modern C++, OOP skills, multi-threading, and Linux application development
- Deep knowledge of robotics fundamentals (kinematics, dynamics, controls, estimation, and system identification), with bonus points for hands-on experience with floating-base dynamics, contact/constraint modeling, or sensor fusion
- Understanding of rigid-body motion and frame transformations
- Comfortable in CMake + colcon ROS2 workspaces
- Familiarity with at least some of: MuJoCo, Drake, Eigen, ROS2, Flatbuffers, BehaviorTree.CPP
- Experience leading hardware-in-the-loop or simulation-based testing of control software
- Familiarity with software testing methodologies and version control (e.g., Git)
- Strong communication skills and familiarity with Agile processes (sprint planning, design/code reviews)
EDUCATION and/or EXPERIENCE
- Education: BS, MS, or PhD in relevant fields (Computer Science, Robotics, Electrical Engineering, etc.)
- Experience: 5+ years of robotics software development
PHYSICAL REQUIREMENTS
- Prolonged periods of sitting at a desk and working on a computer
- Must be able to lift 15 pounds at times.
- Vision to read printed materials and a computer screen.
- Hearing and speech to communicate.