- Design and implement ROS 2-based software systems on embedded/edge platforms, from architecture through working, tested code.
- Own node lifecycle and orchestration - launching, monitoring, health-checking, recovering, and shutting down ROS 2 nodes in a managed, deterministic way.
- Build and validate system-level state machines governing operating modes, fault escalation, safe-state entry/exit, and recovery sequencing.
- Implement fault detection mechanisms (timeouts, health watchdogs, data-freshness checks, diagnostics aggregation) with detection logic kept cleanly separated from protective/recovery actions.
- Build application-layer robot behaviour on top of shared infrastructure, so new modes or capabilities extend the system without reworking it.
- Define and maintain command-response interfaces between a controlling UI/operator layer and the robots software stack.
- Work within a formal systems engineering process contributing to and building from requirements, architecture, interface design, and risk/safety analysis documentation.
- Adapt to and take ownership of different robotics projects and subsystems as priorities shift.
- Provide technical leadership on assigned projects - guiding architectural decisions, reviewing code and design proposals, and coordinating cross-functionally with systems and hardware teams.
Requirements
- Excellent communication skills.
- Ability to work effectively with cross functional departments.
- Positive record keeping skills.
- Produce accurate documentation.
- Able to organize and prioritise own work schedule to meet deadlines and work under pressure.
- Leads multiple projects.
- Strong C++ experience in a ROS 2 context (Humble or later), including managed/lifecycle nodes.
- Demonstrated experience designing or implementing node monitoring/recovery systems not just application-level ROS 2 nodes.
- Comfort with state-machine-based system design and precondition-driven mode/state transitions.
- Experience deploying and debugging on embedded/edge compute platforms (Jetson family or comparable).
Disclaimer: This job posting has been aggregated from external source. Role details, content, and availability are subject to change. Applicants are advised to confirm the latest information directly on the company website before applying.