onsite
Senior Embedded Software Engineer Maritime
Software Engineer
Design and implement low‑level firmware for autonomous underwater vehicles, handling real‑time constraints, sensor integration, and robust communication on custom hardware platforms.
About the role
Key Responsibilities
- Develop and maintain high‑performance embedded firmware in C/C++ for autonomous underwater vehicle platforms.
- Design real‑time software architectures that meet stringent latency, reliability, and power‑consumption requirements.
- Integrate and validate sensors, actuators, and communication interfaces such as CAN, UART, and Ethernet.
- Collaborate with hardware engineers to define interfaces, perform board bring‑up, and troubleshoot low‑level issues.
- Implement automated testing frameworks and continuous integration pipelines for firmware validation.
Requirements
- 5+ years of professional experience developing embedded software for safety‑critical or defense systems.
- Strong proficiency in C++ (C++11/14) and Embedded C, with deep understanding of memory management and concurrency.
- Hands‑on experience with Real‑Time Operating Systems (e.g., FreeRTOS, VxWorks) and Linux‑based embedded platforms.
- Proven ability to work with low‑level hardware interfaces, especially CAN bus and other maritime communication protocols.
- Excellent problem‑solving skills, ability to work with incomplete specifications, and a passion for delivering robust, mission‑critical solutions.