We are hiring a Senior Software & Infrastructure Engineer to own how our hull-cleaning robot's software is built, tested, shipped and run in the field.
Nautica Technologies builds a differential-drive crawler that cleans the submerged hulls of ships. Its software is a ROS 2 stack covering localization, navigation, simulation and operator tooling, running on embedded Linux and microcontroller hardware.
Your time will be split roughly evenly between platform and robotics feature work: making the stack reproducible, observable and easy to deploy to a growing fleet, while contributing production C++ and Python yourself on localization, navigation and mission features. Expect to join pilot deployments with ship operators, where the code meets salt water.
What you'll work on
- Build and release: Own our containerised, multi-architecture builds and grow the release pipeline into full CI with automated tests.
- Fleet deployment: Make it safe and simple to configure robots and roll new software out to the field.
- Observability and data: Make it fast to go from a field run to a diagnosed problem through logging, recording and analysis tooling.
- Robotics features: Build and improve production ROS 2 nodes in C++ and Python across localization, navigation and mission logic.
- Simulation and testing: Extend our simulation so robotics changes are verified before they reach a robot.
- Hardware integration: Work on the interfaces between our software, sensors and embedded controllers.
- Field pilots: Prepare, support and debrief pilot deployments; turn what breaks in the field into tooling, tests and fixes.
What we're looking for
- 4+ years of professional software engineering, with at least 2 years on infrastructure, build or platform work for software that runs on real hardware.
- Strong C++ 17 and Python 3; comfortable reading and changing the other person's language.
- Deep Linux experience: systemd, networking, udev and serial devices, cross- compilation, debugging on a remote embedded target.
- Docker in production, including multi-stage and multi-architecture builds and docker compose.
- Built and maintained CI/CD pipelines (GitHub Actions or similar) with automated tests and versioned releases.
- Hands-on ROS 2, or a comparable robotics middleware, plus a working grasp of pub/sub systems and DDS-style networking.
- Habit of writing tests, small reviewable commits and clear technical decision records.
- Fluent use of AI coding tools and assistants in day-to-day engineering: you know where they speed you up, review what they produce critically, and keep code quality, safety and security your responsibility.
- Willingness to travel to ports for pilot deployments (few trips a year) and to debug calmly under field conditions.
- Fluent written and spoken English.
Nice to have
- Nav2 (controllers, planners, costmaps).
- Gazebo (ros_gz) simulation and simulation-in-the-loop testing in CI.
- NVIDIA Jetson (JetPack, L4T) and Raspberry Pi deployments; GPIO and camera pipelines (GStreamer).
- Embedded firmware with Zephyr RTOS on STM32, protobuf over serial.
- Foxglove, MCAP.
- Fleet management, OTA updates or device provisioning at small-to-medium scale.
- Marine, subsea or other field robotics; acoustic or UWB positioning.
- Languages: C++ and Python, plus some TypeScript and C
- Navigation and localization: Nav2 and sensor-fusion filters
- Simulation: Gazebo
- Hardware: Embedded Linux computers and microcontrollers
- Build and deploy: Docker and GitHub Actions
- Data and tooling: ROS bag recording and visualisation tools
What we offer
- A small team where you shape the platform from the ground up, not maintain someone else's.
- Real robots, real ships: your work goes from a commit to a hull in a port.
- Option to take part of your compensation as equity