Embedded Software Engineer for Robotic Submarines at OpenROV

OVERVIEW
OpenROV builds low-cost underwater Remotely Operated Vehicles (ROVs) intended to make exploration of the unknown accessible to everyone. We’re looking to hire a full-time Embedded Software Engineer to manage the software stack on our fleet of vehicles which are being deployed around the world. This person would preferably be willing to work on location in Berkeley, CA, and would have a deep interest in underwater exploration. You can learn more about OpenROV, and our latest vehicle, Trident, at openrov.com. Please send resumes and inquiries to eric@openrov.com.

RESPONSIBILITIES

  • Add new capabilities to our robots and make them more robust against real world conditions.
  • Develop and maintain the core C++ libraries and applications across the Trident stack. This includes design, implementation, testing, documentation, deployment, support, and maintenance.
  • Solve for reliability, flexibility, portability, and code reuse.
  • Integrate analytics to ensure optimal performance of deployed code and efficient internal support processes.
  • Collaborate on architecture, technology choices, and interactions with other core components such as front end code, backend APIs, production line/manufacturing code, or accessory products.
  • Work with the support team on escalated support cases and help to improve the support knowledge base and issue resolution pipeline.

REQUIREMENTS

  • 4+ years of software development experience, with a solid foundation in embedded Linux systems
  • Minimum of a B.S. in Computer Science or Computer/Electrical Engineering
  • Expertise with C and C++11
  • Strong understanding of Linux environments and development tools
  • Strong understanding of networking fundamentals (IP, TCP/UDP, HTTP/S)
  • Strong understanding of safe multithreaded programming
  • Experience with CI/CD systems and practices
  • Experience writing unit, integration, load and stress tests
  • Proficiency with collaborative development workflows (branches, PRs) and continuous integration practices
  • Excellent debugging and troubleshooting skills
  • Strong time management skills and a self-driven work ethic
  • Experience with DDS or ROS/ROS2 a plus
  • Experience with Gitlab CI and Docker a plus