Senior Robotics Software Engineer

Bedrock Ocean Exploration

Bedrock Ocean Exploration

Software Engineering
Richmond, CA, USA
Posted on Thursday, November 2, 2023

About Bedrock

Bedrock is operationalizing the largest Earth-exploration mission in human history. We’re doing that by developing robotics & software to explore, map, and classify the entirety of Earth's ocean floor. The oceans are a critical component of climate stabilization. Our hope is to provide critical subsea data and infrastructure to further understand and predict the fundamental forces that support harmonious human existence on this planet.

The Role
In this role, you will collaborate with an interdisciplinary team of Mechanical, Electrical, and Software engineers to develop our autonomous underwater vehicle (AUV) system and supporting infrastructure. This is an exciting opportunity to get your hands dirty and help build something that will redefine ocean exploration. In this role, you'll have opportunities to work on the "full software stack" for our AUV, including sensor integration, communications, guidance and navigation, fault detection and response, autonomous behaviors, and more, depending on your experience and interests.

About our team: We value collaborative coding and design: we have frequent design discussions, conduct code reviews for all vehicle code, and hold regular retrospectives to make sure we are implementing code infrastructure and best practices that will allow us to grow quickly and sustainably well into the future. We also value empowering each team member to take ownership of their work, which means giving you a high level of autonomy and responsibility: through our onboarding process, you should have code running on a testbed within the first week, on the AUV in a field test within a few weeks, and within the first few months you should be technical lead for a project in our roadmap. Finally, we believe we do our best work when everyone shows up fully to the table: we treat each other with respect, which means taking the time to understand each person's perspective and what they can bring to the team.

Your Responsibilities:

  • Implement autonomous behaviors on our AUV and related systems

  • Work at the ROS level to help integrate new hardware

  • Design and execute validation of new functionality, from unit tests to field tests

  • Act as technical lead for projects through the full life cycle, including requirements gathering, design review, implementation, and retrospective

  • Conduct root-cause analysis of issues that arise during field testing

  • Provide remote technical support for Ops team in the field as needed


  • Solid understanding of ROS concepts

  • Experience with C++ and/or Python

  • Experience implementing autonomous behaviors for a robotic system in a real-world environment

  • Experience implementing modular, extensible architecture that can mature gracefully over time

  • Ability to debug software in remote Linux environment

  • Ability to solve problems flexibly and pragmatically

  • Familiarity with common design patterns, existing software frameworks, and general state of the art for autonomous robotics systems

Bonus Experience:

  • Experience with ROS2

  • Experience with ROS2 navigation stack

  • Experience with autonomous marine systems

  • Experience with communication protocols (USB, Serial, I2C, etc.)

  • Experience writing sensor drivers

  • Demonstrated ability to turn academic theory to practical code

Explore the last true frontier left on Earth with us

We’re seeking ultra-determined people who aren’t afraid to pioneer new solutions and challenge conventional assumptions. Most of all, we're looking for high-quality, good human beings with low egos.

Bedrock is an Equal Opportunity Employer. Bedrock determines employment on the basis of merit, competence and qualifications and will not be influenced in any manner by race, color, religion, gender, national origin/ethnicity, veteran status, disability status, age, sexual orientation, gender identity, marital status, mental or physical disability or any other legally protected status.