Robotics Software Engineer II
About the role
We are looking for a hands-on Robotics Software Engineer to join our Skills team, focused on developing, testing, validating, and integrating robot skills into real customer workflows. In this role, you will operate at the boundary between prototype and production, working directly with our humanoid robot to evaluate performance, root-cause failures, and collect targeted teleop data to improve learned behaviors. You will be hands-on with hardware nearly every day, helping bring new customer workflows online and ensuring existing deployments remain reliable.
Key Responsibilities
Develop Behaviors for Humanoid Robots & Integrate into Workflows
Develop and maintain the core library of production-ready skills that form the foundation of customer workflows.
Script new skills using behavior trees, state machines, or task planners, defining control flow logic and behavior sequencing.
Build and maintain workflows using the robot's skill API.
Prototype new skills and customer use cases to assess their feasibility. Enable Human-in-the-loop Interventions
Develop the components needed to allow robots to recover from anomalous situations with human oversight.
Create the data collection pipeline to analyze and catalog task errors, and improve the robot "skills" toolset to resolve these task errors autonomously.
Create the infrastructure needed to minimize the frequency and duration of interventions where a human is in the loop while maximizing the reach of a single human "resolver" across the humanoid fleet.
Testing, Validation & Deployment
Define what "production-ready" means for each skill or workflow and design the test plans and infrastructure to validate it.
Recreate corner cases from logs and failures into repeatable tests.
Validate new skills and workflows both in simulation and on hardware before release.
Travel occasionally (
About You
2+ years of relevant experience, including research-level and industry experience, preferably applied to mobile manipulation robots
You have a B.S. or M.S. in Robotics, Computer Science, or a related field.
You are proficient in Python and write clean code.
You have experience with Linux systems.
You are excited about developing physical robot behaviors, not just running simulations.
You enjoy getting your hands dirty, iterating on hardware, and watching your work come to life in the field.
You are curious about how autonomous robots work end-to-end, from low-level control to high-level task planning, and want to help bridge the gap between behavior design and real-world deployment.
You have a strong sense of ownership and pride in the reliability of your work. You sweat the details and are always looking to eliminate failure modes.
Bonus Qualifications
Prior experience scripting robot behaviors using state machines, behavior trees, or other control flow logic.
Understanding of robot manipulation, motion planning, and kinematics (e.g., familiarity with MoveIt framework).
Hands-on experience collecting and curating teleop datasets for training or evaluating learned policies.
Experience developing AR/VR applications for robot teleoperation.
Experience with test-driven development, automated regression testing, and CI/CD workflows.
Experience operating autonomous robots in customer environments or real-world deployments.