Sr. Software Engineer – Real-Time Controls

Apptronik3 months ago
Austin, TX, United States
Hybrid
Full-time
Junior Level (1-3 years)

Job Description

Job Summary

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.

Essential Duties and Responsibilities or Key Accountabilities

  • 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

Skills and Requirements

  • 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.
  • This is a direct hire. Please, no outside Agency solicitations.

Equal Employment Opportunity

Apptronik provides equal employment opportunities to all employees and applicants for employment and prohibits discrimination and harassment of any type without regard to race, color, religion, age, sex, national origin, disability status, genetics, protected veteran status, sexual orientation, gender identity or expression, or any other characteristic protected by federal, state or local laws.

Required Skills

Frame transformations
Linux application development
Agile processes
Flatbuffers
Strong modern C++
Kinematics
Simulation-based testing
Dynamics
System Identification
MuJoCo
Software testing methodologies
colcon
ROS2
Hardware-in-the-loop testing
Multi-threading
Rigid-body motion
Estimation
Drake
Object-Oriented Programming (OOP)
Controls
Eigen
Version control (Git)
BehaviorTree.CPP
CMake