
Robotic Software Engineer
Job Description
Posted on: February 27, 2026
We're building a wheelchair-mounted robotic arm that lets people with severe mobility limitations eat, drink, reach, and handle everyday tasks without a caregiver. The system is real, it works, and it ships to users this year.
We're hiring a Robotics Software Engineer to own critical parts of the software stack. You'll write C++ and Python that runs on physical hardware in someone's home, not in simulation. That means your code has to be fast, robust, and safe under real-world conditions, every time.
You'll work in an experienced and talented robotics developed team. Iteration cycles are days, not quarters. If something breaks in the field, you'll know about it quickly and you'll fix it quickly. There is very little separation between writing code and seeing it run on hardware.
This role is a good fit if you've shipped real systems before, care about robustness as much as performance, and want to own meaningful subsystems end to end.
Duration: 4 months (likely to extended on performance basis)
Location: University of Ottawa campus
Workplace Type: In-person
Compensation: $35-45/hr
More About Us:
150M+ people worldwide can't perform basic daily tasks without help, and 10M caregiver jobs will go unfilled in the next four years. We're building robots that solve this. We develop directly alongside users, occupational therapists, and caregivers to solve real problems.
The problems are hard, the pace is fast, and what you build matters immediately to people. If you want to do the most meaningful engineering work of your career with an elite team of engineers, apply to join us.
What You Will Do:
- Design, write, and maintain production-quality C++ and Python code for our robotic arm.
- R&D and integrate ROS 2 packages, managing nodes, topics, and hardware interfaces.
- Deploy software builds onto physical robotic hardware and conduct rigorous field testing.
- Design and implement secure remote update mechanisms (OTA updates) for deployed robots.
- Build deployment pipelines for versioned releases, rollback capability, and staged rollouts.
- Implement fault handling, watchdog systems, and recovery behaviors for hardware and communication failures.
- Optimize software performance for embedded compute platforms, specifically Jetson-class systems.
- Troubleshoot and debug system-level integration issues across software, firmware, and mechanical domains.
Required Qualifications:
- Masters/PhD in Computer Science, Software Engineering, Robotics, or a Bachelors with extensive hands-on work experience.
- 2-3 years of hands-on experience in robotics or medical technology sectors.
- Proficiency in C++ and Python programming within a Linux development environment.
- Working knowledge of the ROS 2 framework and ecosystem.
- Demonstrated experience deploying software to real physical hardware in production or pilot environments.
- Strong Git workflow experience, including branching strategies, release tagging, and CI/CD integration.
- Experience debugging distributed robotic systems involving CAN bus, serial, Ethernet, or USB.
- Knowledge of containerization tools (e.g., Docker) for robotics deployments.
- Experience building resilient systems equipped with logging, monitoring, and crash recovery.
Stand-Out Skills:
- Experience deploying robots at scale and managing fleets.
- Hands-on experience with OTA update systems (Mender, Balena, custom A/B partitioning, etc.).
- Familiarity with ROS 2 lifecycle nodes and managed bringup.
- Proven ability to work with Jetson platforms and optimize performance.
- Experience building hardware abstraction layers for scalable robot platforms.
- Deep knowledge of control systems, kinematics, and robotic manipulation.
- Knowledge of advanced AI topics, including Imitation Learning and Reinforcement Learning in robotics.
Apply now
Please let the company know that you found this position on our job board. This is a great way to support us, so we can keep posting cool jobs every day!
CanadaJobs.works
Get CanadaJobs.works on your phone!

Bilingual SOLIDWORKS Application Engineer

Programmeur.euse Unreal senior

ASIC Digital Design, Senior Staff Engineer

Various Lead Engineering and Scientific Support Technologist Positions

