Embedded Software Engineer
*Role: Embedded Software Engineer (C++) – Autonomous Systems*
*Location:* *Alameda, CA (3 days onsite and 2 days remote per week)*
*Duration: Full Time*
*Job Overview*
* The client is seeking a hands-on C++ Software Engineer to develop, integrate, and maintain production software running on autonomous maritime vessels. This role is ideal for an engineer with experience developing software for physical hardware, including robotics, autonomous vehicles, aerospace, defense, or other embedded systems.
* The successful candidate will work at the intersection of software and hardware, integrating sensors, power systems, battery management, propulsion, and vehicle control systems into the onboard software stack.
* This is a highly practical engineering role involving software development, hardware integration, field troubleshooting, and deployment of fixes across an active fleet of approximately 100 autonomous vessels operating worldwide.
* Candidates should have strong C++ development experience, hands-on exposure to embedded or hardware-integrated systems, and the ability to diagnose complex technical issues using telemetry, logs, and hardware testing.
*Key Responsibilities*
* Develop, enhance, and maintain production-grade C++ software running onboard Saildrone's autonomous maritime vessels.
* Integrate sensors and physical vehicle subsystems, including power systems, battery management, propulsion, and control systems.
* Troubleshoot complex software and hardware issues using telemetry data, system logs, test benches, and direct investigation.
* Develop, test, and deploy software fixes across a fleet of approximately 100 active autonomous vessels.
* Support the integration of new sensors, hardware components, and mission-specific capabilities.
* Develop and maintain software supporting vehicle configuration, deployment, upgrades, and migration across the fleet.
* Validate software and hardware integrations on actual vehicles to improve system reliability and operational performance.
* Diagnose and resolve issues affecting deployed vehicles operating in challenging real-world environments.
* Collaborate closely with vehicle software infrastructure engineers and hardware engineering teams to ensure reliable end-to-end system performance.
* Improve software reliability, maintainability, and operational readiness across deployed autonomous systems.
*Required Qualifications*
* 4+ years of professional software engineering experience, with strong hands-on C++ development skills.
* Experience developing and deploying production software that runs on physical hardware.
* Experience working with embedded systems, robotics, autonomous vehicles, or other hardware-integrated products.
* Hands-on experience integrating sensors, actuators, control systems, or physical hardware subsystems with software.
* Experience testing, deploying, maintaining, and debugging software on embedded systems, robots, or physical products.
* Strong troubleshooting skills, including analyzing system logs, interpreting telemetry, reproducing issues, and identifying root causes.
* Experience validating software and hardware integrations in development, testing, or production environments.
* Ability to work onsite in Alameda, California, three days per week.
*Preferred Qualifications*
* Experience in robotics, autonomous vehicles, aerospace, defense, maritime technology, or other mission-critical engineering environments.
* Experience with embedded Linux and real-time operating systems (RTOS).
* Familiarity with hardware bring-up, device integration, and low-level system debugging.
* Experience with vehicle communication protocols and onboard control systems.
* Experience supporting software deployed across an active fleet of vehicles or distributed physical systems.
* Experience working with battery management, propulsion systems, power electronics, or advanced sensor suites.
* Experience developing software for products operating in demanding outdoor or industrial environments.
#INA
Pay: $150,000.00 - $300,000.00 per year
Work Location: In person