Software Engineer

Open Ocean Robotics

Victoria, BC, Canada



Dec 7

This job is no longer accepting applications.

At Open Ocean Robotics our mission is to build the world’s most advanced ocean robots with a focus on safety, reliability and repeatable performance. Our technology team specializes in creating mobile data-collecting platforms that can remain indefinitely in inhospitable ocean environments. We offer a safer, more effective, and affordable way of gaining ocean insights, transforming how we study, protect and utilize our oceans while helping build an Internet of Things for the ocean.

Position Description

We are seeking an innovative and creative Software Engineer to be part of our team. Someone who is passionate about creating quality software, you are an emerging or experienced software engineer with a love of the ocean, robotics and/or both.

Your job will be designing and developing the onboard monitoring and control systems for our USV, Data Xplorer.

Starting with the onboard systems, this role could evolve into supporting our data analytics platform and services.

Any experience with uncrewed systems such as UAV, USV or other autonomous vehicles would be considered a bonus for your application.

In this role you will

  • Write and maintain code for onboard USV software systems.
  • Perform all phases of development lifecycle including requirements definition, software/systems design, implementation, testing, and integration.
  • Monitor the technical performance of internal systems.
  • Attend and contribute to company development meetings.
  • Learn the codebase and improve your coding skills.
  • Contribute to technical support for our customer support team.


  • Graduated from a recognized institution with a relevant degree.
  • At least 2 years of relevant experience to this position.
  • Experience in C or C++.
  • Experience with testing frameworks, e.g. Google Test.
  • Familiarity with pub/sub message queue infrastructures.
  • Familiarity with networking concepts e.g. RF, TCP/IP, Ethernet, wireless.
  • Familiarity with communication protocols, UART, I2C, SPI, CAN Bus is an asset.
  • Working knowledge of control theory, sensor integration and electronics is an asset.
  • Experience in Python, Node.js, or other higher-layer language is an asset.
  • Experience with relational and no-sql data stores is an asset e.g. Postgres, Elastic Search, Redis.
  • Bonus: Experience with practical applications using computer vision.
  • Bonus: Experience with AWS services and architecture: e.g. EC2, EBS, RDS, S3, ALB etc. 
  • Bonus: Experience with Container and Orchestration tools: e.g. Docker, Rancher 2, Kubernetes, Docker Swarm.
  • Bonus: Familiarity with authentication and authorization infrastructure: e.g. KeyCloak, Auth0.
  • Bonus: Background and understanding of uncrewed systems such as UAV, USV or other autonomous vehicles.
  • Good verbal and written communication skills.
  • Strong analytical and troubleshooting skills, technical aptitude, attention to detail.
  • Ability to understand and translate business requirements and technical specifications.
  • Knowledge of industry standard best practices as related to software engineering.
  • Experience working in an Agile environment.
  • Experience with Linux based systems.


This is a full-time position based in Victoria, BC. Compensation is dependant on experience and includes extended medical and dental benefits, as well as ownership in the company through the employee stock option plan. Applicants must have the legal right to work in Canada.

You must be logged in to to apply to this job.


Your application has been successfully submitted.

Please fix the errors below and resubmit.

Something went wrong. Please try again later or contact us.

Personal Information


View resume


Open Ocean Robotics

Wind and solar powered autonomous boats providing real time information to understand and protect our oceans.