About the Role
You will have an opportunity to fit into a contributing role on a number of projects spanning many technologies. Responsibilities will include developing software in new and existing projects, debugging, testing, and occasionally getting wet. We require a fast learner who is independent, resourceful, and able to communicate effectively.
A core component of our underwater robots is ‘BlueOS’, our open source software that runs on a linux based computer. It is responsible for managing communications with the pilot computer from the surface, integrating sonars, positioning systems, cameras, streaming video, and running the autopilot software that controls the ROV. BlueOS implements a web interface to allow the user to configure and manage the system, update the software, collect diagnostic and log information.
Your main role will be as a developer and maintainer for BlueOS. Below you’ll find the day to day responsibilities of this position and the qualifications that will help you to be successful! Feel free to share any experience that you may find interesting for the open position.
What You'll Do
- Develop and maintain BlueOS microservices with Rust, Python
- Adapt and develop BlueOS frontend UI with Vue, Vuetify, Typescript, and Yarn
- Improve BlueOS communication technology with zenoh
- Routinely test BlueOS features and improve CI/CD
- Engage with and support the open source community through Discord and GitHub
Who We're Looking For
Required
- The ability to learn, solve problems, develop skills, and complete work independently
- Excellent communication skills and a team-oriented attitude
- Willing to learn new technologies and modern languages + language features
- Effective and responsible use of AI
- Strong git and GitHub experience
- Familiarity with containerization (Docker, Podman)
- Experience with networking technologies (HTTP, UDP/TCP, websockets, WebRTC)
- Experience with frontend web development (Vue, Typescript)
- Experience with backend development (Python, Rust)
- Experience with API architecture (Swagger, REST API/GraphQL)
- Experience with Publisher/Subscriber or/and signal/slot architecture
- Strong English language skills, including technical language and conversation skills
Preferred
- Experience with open source development
- Familiarity with embedded linux development
- Familiarity with robotics
- Linux kernel/driver/module development experience
- Interest in the ocean and taking care of its future!