Senior Full Stack Software Engineer - Robotics
Senior Full Stack Software Engineer - Robotics
Posted today
SENIORITY
Lead
About the role
- Help design and contribute to software across the entire robotics stack from architecture through deployment
- Develop and maintain behavior trees and the decision-making logic that governs robot autonomy, along with the tooling to author, visualize, and debug them
- Work with robotics engineers to build reliable and debuggable data pipelines between independent processes to connect sensors with reasoning, free from race conditions and deadlocks
- Help define, instrument, and visualize operational metrics (uptime, autonomy/intervention rate, mission success, throughput, MTBF, failure modes) so the team can measure and improve robot performance and fleet health
- Establish engineering best practices across the stack, including testing, CI/CD, monitoring, and fleet observability
- Build responsive, intuitive web interfaces for fleet monitoring, mission planning, teleoperation, and operational dashboards
- Mentor and guide engineers, fostering their growth and raising the team's technical bar
- Collaborate with cross-functional partners across robotics software, hardware, perception, controls, data science, and field operations
- Proactively identify technical risks and architectural trade-offs, and communicate them clearly to leadership
- 7+ years of professional software development experience with strong full stack range across front end and backend
- Experience developing and deploying software in a robotics company Comfortable working across multiple languages: we use Go and Python in backend services and tooling and TypeScript on the front end
- Demonstrated experience building and shipping production front end applications (React or similar)
- Background in robotics analytics, fleet observability, or operational metrics and dashboards
- Proven experience in system architecture, API design and hands-on implementation
- Experience with messaging and streaming systems (queues, pub/sub, WebSockets)
- Experience with CI/CD pipelines and automation tools (e.g., GitHub Actions, Jenkins)
- Strong understanding of software engineering principles including SOLID, clean code, and test-driven development
- Exposure to real-time telemetry streaming and analytics (WebSockets, MQTT, Open
- Experience with robot autonomy frameworks, behavior trees, or state machines (e.g., Behavior
- Tree. CPP, py_trees)
- Experience with ROS / ROS2 or similar robotics middleware
- Experience with data visualization for telemetry, maps, or spatial data
- Familiarity with robot log/data tooling and replay (e.g., ROS bags, structured event logs)
- Experience with teleoperation, low-latency video streaming, or remote supervision interfaces
- Experience with simulation environments (e.g., MuJoCo, Isaac Sim) and software-in-the-loop testing
- Experience with edge/on-robot services, OTA deployment, or fleet orchestration
- Contributions to open-source projects
Before you apply
Applying takes about a minute. These four things decide how fast it moves after that.
Your profile is current
It's what we read first. Occupations, seniority and locations matter more than a long history.
Two examples you can talk through
Not a portfolio — just two pieces of work where you can explain the decisions and what you'd change.
A number in mind
What you're on now and what would make you move. We negotiate better when we know both.
Your notice period
Employers plan around it, and it's the question that stalls offers most often.
Once you apply, someone reads it and calls you before anything reaches the employer — usually within two working days.
