Embedded Firmware Engineer
Embedded Firmware Engineer (Mid-Level)
Company: Vatn Systems
Location: Bristol, RI
Type: Full-time (Onsite)
About Vatn Systems:
Vatn Systems is an innovative startup at the forefront of designing and manufacturing autonomous underwater vehicles (AUVs). Our mission is to revolutionize underwater security, exploration, research, and operations through cutting-edge technology and unparalleled engineering. Our AUVs are defining the next generation of underwater autonomy.
The Role
We are looking for a talented and motivated Embedded Firmware Engineer to join our growing team. In this role, you will design, develop, and maintain the firmware that runs our AUVs — from bare-metal on embedded microcontrollers to system software on embedded Linux boards. You'll write C, C++, and Go across the stack, bring up new hardware, and own the low-level software that keeps our vehicles running reliably in demanding maritime conditions. The ideal candidate is a proactive engineer who enjoys working close to the metal and thrives at the hardware/software boundary.
What You'll Do
- Design, build, and maintain efficient, reliable firmware in C and C++ for embedded microcontrollers (bare-metal and RTOS).
- Develop system-level software and services in Go, C, and C++ on embedded Linux boards.
- Bring up new hardware: board bring-up, bootloaders, device drivers, and board support packages.
- Implement and debug communication between subsystems over interfaces such as UART, SPI, I2C, CAN, and Ethernet.
- Integrate sensors, actuators, and peripherals, and implement real-time control and telemetry paths.
- Optimize firmware for performance, memory footprint, and power.
- Collaborate with electrical, mechanical, and autonomy engineers to translate system requirements into robust embedded solutions.
- Write and maintain unit and integration tests, and support hardware-in-the-loop testing.
- Participate in code reviews, providing and receiving constructive feedback to improve our engineering practices.
- Troubleshoot, debug, and upgrade existing firmware, including on-vehicle and field debugging.
What You'll Need
Required Qualifications:
- Degree in Electrical Engineering, Computer Engineering, Computer Science, or a related technical field (or equivalent practical experience).
- 3–5 years of professional embedded software/firmware development experience.
- Strong proficiency in C and C++ for embedded microcontrollers (bare-metal and/or RTOS).
- Hands-on experience developing firmware for STM32 microcontrollers (e.g., STM32CubeMX/HAL, LL drivers, or bare-metal register-level programming).
- Experience developing on embedded Linux platforms.
- Solid understanding of hardware/software integration: reading schematics and datasheets, and debugging with oscilloscopes, logic analyzers, and JTAG/SWD.
- Experience with embedded communication protocols (e.g., UART, SPI, I2C, CAN, Ethernet).
- Familiarity with real-time constraints, interrupts, DMA, and low-level memory management.
- Experience writing firmware for power-constrained and/or resource-limited systems (battery power budgets, tight memory/timing footprints).
- Proficiency with version control systems, specifically Git.
- Excellent problem-solving skills and the ability to work effectively in a team environment.
- United States Citizen or Permanent Resident.
- Ability to gain a security clearance.
Nice-to-Haves:
- Experience with cross-compilation, build systems (e.g., CMake, Make, Yocto/Buildroot), and toolchains for embedded targets.
- Experience developing with Go.
- Experience with serialization protocols like Protobufs, DDS, etc.
- Familiarity with robotics middleware or modern robotics frameworks (e.g., ROS 2).
- Experience with CI/CD pipelines for embedded software and automated hardware testing.
- Knowledge of containerization and deployment on edge devices.
- Experience with maritime sensors, underwater acoustics, or subsea systems.
- Familiarity with functional safety or safety-critical software development practices.
Ready to build the future with us? Apply today!