Robotics Software Engineer
Gravis Robotics is a startup that turns heavy construction machines into autonomous robots. Our unique combination of learning-based automation and augmented remote control lets one operator safely conduct a fleet of earthmoving machines in a gamified environment. Our team has over a decade of academic experience honing the cutting edge of large-scale robotics, and is rapidly growing to bring that expertise into a trillion dollar industry through active deployments with market leaders.
The Role
We are seeking a Robotics Software Engineer to join our Autonomy team, the group responsible for the planning and control that drives our machines in the field. You will design, build, test and deploy the software that turns intent into reliable motion on real excavators—working end-to-end from prototype to production deployment. We are looking for a collaborative, hands-on software engineer who has worked with real robots and is excited to keep doing so. You do not need to be a domain expert in any single robotics field: we value engineers who can ramp up quickly across problems and domains, write excellent software, and make autonomy work on real hardware.
Responsibilities
- Design, prototype, and deploy planning and control software that runs on autonomous heavy machines in real-world construction environments.
- Take features from concept through field deployment, debugging and robustifying them on real robots together with the wider Autonomy and Field teams.
- Establish and optimize testing procedures, simulation tooling, and performance metrics to ensure robust and reliable system behavior.
- Collaborate closely with multidisciplinary experts across perception, controls, platform, and operations to improve the reliability and performance of the entire system.
Qualifications
- Bachelor's in Computer Science, Robotics, Mechanical Engineering, Electrical Engineering or a related field.
- Solid software engineering skills, with at least 2 years of professional experience writing production-quality C++ or Python in a Linux development environment, and with proficiency in both languages.
- Demonstrated experience developing, integrating, and debugging software on real robotic systems (not only in simulation).
- A track record of taking ownership of problems and shipping robust solutions in a fast-paced environment.
- Excellent communication skills with the ability to effectively convey technical concepts to both technical and non-technical stakeholders.
Nice to Haves
- Experience in one or more of: control, motion planning, task planning, machine learning, or reinforcement learning.
- Experience with ROS2 or other middlewares.
- Experience deploying software on autonomous vehicles or mobile robots in the field.
- Contributed in the past to CI/CD pipelines
- Experience with feature-flagged deployments, staged rollouts, long-lived platforms, or maintaining backwards compatibility of different components
- Familiarity with or interest in utilizing AI coding tools.