Autonomy Software Developer (Nanaimo)

Autonomy Software Developer (Nanaimo)

24 Sep
|
Shift Coastal Technologies
|
Nanaimo

24 Sep

Shift Coastal Technologies

Nanaimo

About Shift Coastal

DESIGN. BUILD. INTEGRATE. DEPLOY. SUSTAIN.

Shift is a Canadian systems integrator building uncrewed maritime systems. We combine surface platforms, sensors, payloads, effectors, autonomy software, communications, and command infrastructure into mission-ready, pan-domain coastal systems, and we deliver the integration, field services, and sustainment to turn that technology into operational capability.

Overview A hands-on software role focused on building the autonomy software that lets Shift's uncrewed surface vessels sense their environment, plan a safe course, and complete missions with minimal human intervention. This role takes autonomy software from prototype to field-tested code, working closely with the embedded systems and electro-mechanical integration roles, and with the field team validating it in real conditions. The role also contributes a software developer's perspective when the team is researching and selecting hardware and software as it develops the autonomy stack.

Responsibilities

1. Autonomy Software Development

- Develop and maintain perception and sensor fusion software that turns radar, lidar, camera, and AIS data into an understanding of what's around the vessel.
- Develop path planning and mission management software that lets the vessel navigate and avoid obstacles, including compliance with maritime collision-avoidance rules (COLREGS).
- Develop guidance and control software that turns the planned course into commands for the vessel's steering and propulsion, working with the flight controller and the commercial helm system.
- Develop software for switching between manned and unmanned operation, including manual override and operator alerts.
- Implement fail-secure behaviour for communications loss and other fault conditions.




- Write and maintain automated tests, and support software integration testing for autonomy modules.

2. Simulation & Testing

- Build and run simulated test scenarios, including for collision-avoidance compliance, to validate autonomy behaviour before field trials.
- Support hardware-in-the-loop testing of the autonomy and control system.
- Document test results, defects, and required follow-up.

3. Cross-Disciplinary Research & Integration Support

- Contribute a software perspective to research and selection of hardware and software used in the autonomy stack.
- Work with the embedded systems, electro-mechanical, and field teams to test autonomy software in real conditions and feed lessons learned back into development.
- Support documentation of software configurations, test procedures, and known limitations.

Qualifications - Experience

- Practical experience developing software for robotics, autonomous vehicles, or similar systems.
- Experience with at least one of: path planning, perception/sensor fusion, or vehicle guidance and control software, with working familiarity across the others.
- Experience testing autonomy software against defined scenarios, in simulation, hardware-in-the-loop, or field trials.

Qualifications – Education

- Bachelor’s degree in software engineering, computer science, robotics, or a related technical field (or equivalent practical experience).





Qualifications – Key Skills & Knowledge

- Proficient in C++ and/or Python for robotics/autonomy software development.
- Comfortable working in ROS2 and version-controlled software environments.
- Ability to work across disciplines and communicate technical work clearly, including with embedded systems, electro-mechanical, and field teams.
- Familiarity with sensor fusion and perception techniques for obstacle detection.
- Familiarity with vehicle guidance and control concepts, including interfacing with flight controllers and autopilots.
- Familiarity with COLREGS (International Regulations for Preventing Collisions at Sea) or equivalent right-of-way rules.
- Experience with flight controller firmware (e.g., PX4, ArduPilot) and associated simulation environments (e.g., SITL, Gazebo) is an asset.
- Experience with MAVLink or a similar telemetry/command protocol is an asset.
- Familiarity with computer vision or point-cloud processing libraries (e.g., OpenCV, PCL, YOLO) and state-estimation techniques (e.g., Kalman/particle filters) is an asset.
- Familiarity with containerization and devops/embedded deployment techniques.
- Experience with NMEA and CAN bus.

Unusual physical demands or working conditions:

- Field work supporting bench testing, dock trials, and sea trials aboard and alongside uncrewed vessels.
- Work from small craft and from docks, including launch and recovery operations, with attention to footing, lifting, and moving equipment. Exposure to variable coastal conditions: cold water, wind, rain, sun, glare, and vessel motion.
- Occasional early starts, weather-driven schedule changes, and occasional travel to sea trial locations.

Pay: $70,000.00-$95,000.00 per year

Work Location: In person

📌 Autonomy Software Developer (Nanaimo)
🏢 Shift Coastal Technologies
📍 Nanaimo

Reply to this offer

Impress this employer describing Your skills and abilities, fill out the form below and leave Your personal touch in the presentation letter.

Subscribe to this job alert:

Get the latest job offers by email for: autonomy software developer (nanaimo) / nanaimo

Subscribe to this job alert:

Get the latest job offers by email for: autonomy software developer (nanaimo) / nanaimo