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