À propos de ce poste Senior Robotics Software Engineer - Autonomy Architecture chez Gravisrobotics
Gravis Robotics is a high-growth Series A start-up backed by SoftBank, bringing Physical AI to the construction industry, turning heavy construction machines into autonomous robots.
Gravis began as an ETH Zurich spin-out, and 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.
Backed by deep robotics research and now deployed across multiple countries with leading construction and equipment partners, our team is rapidly growing to bring this technology to a trillion-dollar industry.
The Gravis RACK is a machine-agnostic retrofit kit that adds autonomy to excavators and wheel loaders from 10 to 100+ tonnes: LiDAR and camera sensing, GNSS RTK, networking hardware and rugged edge compute that works offline. Paired with the Slate tablet and our Copilot software, it lets an operator run a machine manually, with AI assistance, or fully autonomously. Increasingly, we also build custom hardware to adapt our machines for highly specialized, robust applications beyond traditional excavation.
About the Job
The autonomy team at Gravis architects autonomous behaviors for different tasks, e.g. different types of excavation or truck loading. This role owns the architecture that lets those behaviors live in the same software stack as opposed to creating one SW stack per behavior. You'll be responsible for how tasks are decomposed and orchestrated, for the interfaces between, and for the software quality. We are looking for a senior roboticist with C++ and Python expertise and high standards for software quality, who can make clear, pragmatic architectural calls that let the system grow without losing stability.
What you'll do
Architecture
Own the task-level architecture shared across our autonomous behaviors
Define clear module boundaries and responsibilities between behavior orchestration, factor out common logic across different tasks
Implement component tests and telemetry/metrics collection pipelines
Identify technical debt early enough to guide the team toward sustainable solutions
Act as the go-to person for software quality: modern C++ practices, code structure, error handling, robustness. Likewise for Python.
Configuration & tooling
Design an easily extensible and testable module for deploying policies that can be reused across tasks and supports schema versioning for observations, so a deployed policy pins the exact version of the computations it was trained against
Provide technical leadership on C++ and Python tooling (clang-tidy, sanitizers, static analysis, linting, typing, test setup)
Work with our incoming simulation team to unify training, benchmarking and evaluation tooling across tasks, so adding a task doesn't mean forking tooling and infrastructure
What we're looking for
Required
Bachelor's or Master's degree in Robotics, Computer Science, Electrical Engineering, or a related field
5+ years developing complex C++ systems, with deep knowledge of modern C++ (17 and onwards)
Strong Python for tooling, configuration and simulation-side scripting
Strong experience designing large, modular software systems that outlived their first use case
High standards for software quality and long-term maintainability
Nice to have
Experience with behavior trees, state machines, or other task orchestration frameworks in production
Experience working alongside learned controllers in a production stack - deployment, versioning, observation pipelines. No need to train them.
Motion planning, geometric algorithms, or spatial data structures
Feature-flagged deployments, staged rollouts, or long-lived platforms
This role is a great fit if…
You want to make systems work reliably in the real world, and enjoy thinking through the edge cases
You'd rather our next behavior be a configuration than a dedicated piece of software
You want the best idea to win regardless of who had it, and you'd rather be corrected by the numbers than agreed with
You take a result end-to-end: when something needs to happen, you use or ask for whatever it takes, even outside your scope
You're a software purist, but pragmatic — first make it work, then make it right, and cut corners consciously when it's the right call
Gravis is an equal opportunity employer. We are committed to building an inclusive and diverse team, and do not discriminate based on race, colour, ancestry, national origin, religion, sex, sexual orientation, age, gender identity, gender expression, disability, veteran status, or other legally protected characteristics.