Software engineer
- Location
- San Francisco
- Type
- Full time
- Compensation
- $150k-$200k
- Posted
- 2 days ago
Join a team building useful software. Work closely with engineering and design to turn new ideas into products.
Find roles through people you trust, and message a verified founder or page admin about your interest.
Oracle Cloud Infrastructure (OCI) is looking for a Senior Robotics Software Engineer to develop software for physical robots, turn operational data into useful evidence, and integrate AI models into robotic applications.
The OCI Robotics Cloud team connects robot operations, simulation, datasets, and AI model workflows. In this role, you will build the software that captures what a robot observes and does, runs models on robot or edge computers, and helps engineers reproduce failures and evaluate improvements.
You will independently own defined components from design through implementation, testing, deployment, and support. You will work with robotics, simulation, and research engineers to make robot behavior reliable and measurable. This role requires direct experience developing and debugging software on physical robots.
Disclaimer:
What you will do
Develop and maintain robotics software in Python and/or C++, including robot application logic, sensor and actuator interfaces, and model execution components.
Build tools to collect, synchronize, inspect, replay, and analyze robot operational data, including images, sensor measurements, robot state, commands, trajectories, and task outcomes.
Preserve timestamps, calibration, coordinate frames, observation and action definitions, software versions, and data provenance so recordings can support reproducible tests and robotics datasets.
Integrate AI models and robot policies into physical robot workflows. Validate model inputs and outputs, optimize inference latency and resource use, and implement diagnostics and recovery behavior.
Debug failures across robot software, sensors, controllers, and model runtimes using recorded evidence and supervised tests on hardware.
Define component tests and task-level metrics, compare software and model versions, and investigate the causes of changes in robot behavior.
Work with simulation engineers to reproduce physical failures in simulation and validate the observation, action, timing, and controller interfaces used by learned policies.
Deliver maintainable components with clear designs, automated tests, documentation, code review, and operational diagnostics. Communicate dependencies and technical tradeoffs early.
Use AI-assisted development and specification-driven workflows while checking generated code and experimental results for correctness.
Required qualifications
A bachelor's degree in Robotics, Computer Science, Mechanical Engineering, Electrical Engineering, or a related discipline, or equivalent practical experience.
At least three years of software development experience, including substantial direct work on robotics software or systems.
Hands-on experience developing, integrating, and debugging software on physical robots, with clear examples of your own implementation work and measured results.
Strong programming skills in Python and/or C++ and experience developing, testing, and troubleshooting software on Linux.
Working knowledge of robotics fundamentals, including coordinate transforms, odometry, kinematics, feedback control, sensor calibration, and timing constraints.
Experience working with robot sensor, state, and action data, including timestamp alignment, calibration, missing data, and reproducible recording or replay.
Experience integrating AI/ML models or policies into robotic applications, including input preprocessing, output interpretation, inference, and evaluation using PyTorch or a comparable framework.
Practical experience optimizing model inference with TensorRT, including measuring latency, resource use, and output correctness on the target hardware.
Ability to independently deliver a defined software component, investigate failures across its interfaces, and explain design decisions and validation results.
Familiarity with ROS 2 or vendor robot SDKs, including communication, transforms, and timing diagnostics.
Preferred qualifications
Experience with Isaac Sim, Gazebo, MuJoCo or Nav2 for reproducing robot behavior and validating software changes.
Experience with teleoperation demonstrations, rosbag2, MCAP, LeRobot, or robotics dataset curation and versioning.
Experience with perception, manipulation, localization, navigation, motion control, or deployment of learned robot policies.
Experience with GPU-equipped robot or edge computers, containers, and automated testing for robotics software.
Why join us
You will help turn real robot operations into better software, more useful datasets, and dependable AI applications. Your work will connect simulation and learning advances to measurable results on physical robots