Senior Robotics Software Engineer
Bedrock Ocean Exploration
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.
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.
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
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.