Posted: Apr 27, 2021

Software Engineer

Open Ocean Robotics - Victoria, BC
Application Deadline: N/A
Unmanned Maritime Systems

Company Description

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, and helping build an ocean IoT.

Position Description

We are seeking an innovative and creative intermediate/senior software engineer to be part of our team; someone who is passionate about creating quality software. You are an experienced software engineer with a love of the ocean, robotics or both. Your job will be designing and developing 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 unmanned systems such as UAV, USV or other autonomous vehicles would be considered a bonus for your application.


In this role you will:

  • Attending and contributing to company development meetings.
  • Learning the codebase and improving your coding skills.
  • Writing and maintaining code for onboard USV software systems.
  • Perform all phases of development lifecycle including requirements definition, software/systems design, implementation, testing, and integration.
  • Monitoring the technical performance of internal systems.
  • Contribute to technical support for our customer support team.


As our ideal candidate you will have:

  • Graduated from a recognized institution with a relevant degree.
  • At least 4 years of relevant experience to this position.
  • Experience in C or C++
  • Experience with pub/sub message queue infrastructures
  • Experience with communication protocols, UART, I2C, SPI, CAN Bus, is also an asset.
  • Experience with testing frameworks, e.g. Google Test
  • Experience working in an Agile environment.
  • Experience with Linux based systems.
  • Experience integrating with oceanographic sensors, is an asset
  • 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
  • Familiarity with networking concepts. RF, TCP/IP, Ethernet, wireless.
  • Working knowledge of control theory, sensor integration and electronics is an asset.
  • Bonus: Experience with practical applications using computer vision
  • Bonus: Background and understanding of unmanned systems such as UAV, USV or other autonomous vehicles
  • Bonus: Experience in Python, Node.js, or other higher-layer language is an asset.
  • Bonus: Experience with relational and no-sql data stores is an asset; e.g. Postgres, Elastic Search, Redis



This is a full-time position based in Victoria, BC.  Compensation is dependent on experience level. You must be a Canadian citizen or permanent resident.

Application process:

Please submit your resume and cover letter to [email protected] with “Autonomous Systems Engineer” in the subject line. We thank all applicants for their interest and time, and only applicants invited to interview will be contacted.