Avatar for Haply Robotics
Bringing Touch to Technology

Software Engineer, Robotics Platform (Rust)

  • $110k – $145k
  • |
  • |5 years of exp
  • |Full Time
Posted: 3 months ago
Job Location
Remote Work Policy

In office

Visa Sponsorship

Not Available

RelocationAllowed
Skills
Git
ProtoBuf
API Design
TDD
REST
Spi
TypeScript
I2C
Unit Testing
Integration Testing
Rust
Code Review
Ownership
react
Udp
TCP
Websocket
Async
Tokio
Tauri
Error Handling
Message Passing
Serial Communication
Shared Libraries
Feature Flags
Concurrency Primitives
HTTP Servers
PR Workflows
Plugin Architecture
Build Configuration
Lifetimes
Trait Design
Deadlock
Lock Ordering
Cargo Workspaces
Unsafe Rust
Raw Pointers
FFI Boundaries
C ABI
Cdylib
Symbol Export
Runtime Loading
Wire Formats
Runtime DLL Loading
Manifest Discovery
Worker Threads
Supervision Hierarchies
Test Feature Flags
Mock Hardware
WebSocket Servers
Protocol Multiplexing

About the job

Lieu : Montréal (QC) – sur site

Type : Temps plein

Rattachement : R&D / Logiciel

Fourchette salariale (CAD, indicative, à affiner) : 110 000 $ à 145 000 $ + avantages

À propos de Haply

Haply Robotics conçoit les dispositifs haptiques les plus précis au monde et la plateforme logicielle qui en fait des outils utiles pour la téléopération, le contrôle de robots, la simulation et le travail créatif. HARP (Haply Advanced Robotics Platform) est notre plan de contrôle Rust à architecture en plugins. Il dialogue avec Inverse3 / VerseGrip d'un côté et avec une large gamme de robots industriels de l'autre, et permet à un opérateur non technique de les piloter via un dispositif haptique.

Le rôle

Tu travailleras aux côtés des ingénieurs en robotique sur une plateforme Rust de robotique haptique et de téléopération, avec un focus sur la qualité de code, la stabilité et la maintenabilité. La connaissance du domaine robotique reste dans l'équipe. Ton travail consiste à t'assurer que le code qui l'entoure est solide, bien testé et facile à faire évoluer. Tu participeras aussi à du travail d'intégration matérielle : mise en place de protocoles de communication, diagnostic d'enjeux de communication et de firmware sur du matériel maison, en collaboration étroite avec les ingénieurs qui possèdent la partie contrôle.

On cherche quelqu'un qui aborde le rôle avec intentionnalité. Quelqu'un qui planifie ses changements avec soin, communique son raisonnement, et construit vers une codebase plus saine dans le temps. Pas quelqu'un qui livre des correctifs sans considérer l'impact plus large.

C'est un rôle intermédiaire à senior. On cherche 3 à 5+ ans d'expérience en génie logiciel, dont au moins 2 ans en Rust.

Requis

Fondations

• Solide foundation en algorithmes, structures de données et principes fondamentaux du génie logiciel. Capable de raisonner sur la complexité, les compromis et la correction, pas seulement de produire du code qui fonctionne.

Rust

• Rust idiomatique et solide : ownership, lifetimes, design des traits, gestion d'erreurs.

• Primitives de concurrence et compréhension des risques de deadlock et de l'ordre des locks.

• Expérience des projets cargo en workspace : multiples crates, feature flags, configuration de build.

• À l'aise avec le Rust unsafe : pointeurs bruts, frontières FFI, interop C ABI.

Programmation système

• Conception de bibliothèques partagées / DLL (crates cdylib, export de symboles, chargement runtime).

• Sérialisation aux frontières : compréhension de protobuf ou de formats de wire similaires.

• Expérience des architectures plugin/extension (chargement de DLL au runtime, découverte par manifeste).

• Modèles de threading : threads workers dédiés, sérialisation par canal des appels, hiérarchies de supervision.

Communication matérielle

• Familiarité avec les protocoles de communication bas niveau (sockets TCP/UDP, série, WebSocket, REST, SPI, I2C, etc.) dans un contexte de langage système.

• Capacité à lire et déboguer des logs de communication matérielle, identifier les problèmes au niveau protocolaire et collaborer avec les ingénieurs firmware pour les résoudre.

• À l'aise pour intégrer du matériel sur mesure ou propriétaire. Pas nécessairement concevoir la logique de contrôle, mais posséder la couche logicielle qui lui parle.

Qualité du code et maintenabilité

• Approche disciplinée des tests : unitaires, d'intégration, feature flags de test, substituts matériels mockés.

• Capacité à identifier et adresser la dette technique sans sur-ingénierie.

• Design d'API clair. Surfaces publiques minimales et stables.

• Compétences en revue de code : repérer les problèmes de correction, les risques de concurrence et les fuites d'abstraction.

Frontend

• Connaissance pratique de TypeScript et React. Capable de comprendre les composants et les patterns d'architecture UI.

• Familiarité avec les serveurs WebSocket, HTTP, ou le multiplexage de protocoles en Rust (écosystème tokio / async).

• Familiarité avec Tauri (framework d'app desktop Rust + frontend web) pour le débogage et le travail cross-stack.

Manières de travailler

• Autonome, tu portes les problèmes de bout en bout, de l'investigation à une solution propre et revue. Capable d'identifier et lever les blocages plutôt que d'attendre qu'ils se résolvent.

• Tu planifies tes changements avant d'implémenter. Tu écris ton intention, tu considères l'impact sur les systèmes adjacents et tu cherches de la revue avant les modifications importantes.

• Tu communiques proactivement avec l'équipe, surtout près des frontières de domaine (logique de contrôle, firmware, comportement matériel).

• À l'aise sans le contexte complet du domaine. Tu lis le code, poses les bonnes questions et contribues avec des spécialistes.

• Aisance avec git, workflows PR/review structurés, TDD et applications multi-langages.

• Expérience de larges codebases d'entreprise et de projets multi-repos.

Atouts

• Expérience des boucles de contrôle temps-réel ou haute fréquence, des chemins chauds zéro-allocation.

• Exposition à la robotique, l'haptique, la téléopération ou le contrôle de mouvement. Non requis, mais accélère l'onboarding.

• Un intérêt sincère pour la robotique et les interfaces homme-machine. La curiosité va loin dans une équipe qui bouge vite à l'intersection du matériel et du logiciel.

• Design et versioning de schémas protobuf.

• Outils de profiling et analyse de performance (la connaissance de Tracy Profiler est un gros plus).

• TypeScript / React avancé : connaissance approfondie du système de types, des patterns de gestion d'état, de l'optimisation de performance.

• Expérience des schémas de configuration TOML ou des systèmes de plugins par manifeste.

• Logging structuré et outils d'observabilité.

• Développement OS-agnostique (bash et Linux ainsi que PowerShell et Windows).

• Expérience DevOps en environnement GitLab.

• Bilingue français/anglais. Environnement de travail bilingue.

Location: Montreal, QC (on-site)

Type: Full-time

Reports to: R&D / Software

Salary range (CAD, indicative, to be refined): $110,000 to $145,000 + benefits

About Haply

Haply Robotics builds high-precision haptic devices and a software platform for teleoperation, robot control, simulation, and creative work. HARP, our Rust-based platform, connects haptic devices with industrial robots, enabling intuitive control for non-technical users.

About the Role

Work alongside robotics engineers on a Rust-based teleoperation platform, focusing on code quality, stability, and maintainability. You will support hardware integration, implement communication protocols, and help diagnose firmware and communication issues for custom hardware.

This role requires a deliberate, thoughtful approach—planning changes, communicating clearly, and improving systems long-term.

Experience

  • 3–5+ years in software engineering
  • 2+ years of Rust

Required

Fundamentals

  • Strong foundation in algorithms, data structures, and software engineering principles
  • Ability to reason about complexity, trade-offs, and correctness

Rust

  • Idiomatic Rust: ownership, lifetimes, trait design, error handling
  • Concurrency, deadlock risks, lock ordering
  • Cargo workspaces, feature flags, build configuration
  • Unsafe Rust, FFI, C ABI

Systems Programming

  • Shared libraries (cdylib, runtime loading)
  • Serialization (protobuf or similar)
  • Plugin architectures
  • Threading models (workers, channels, supervision)

Hardware Communication

  • Protocols: TCP/UDP, serial, WebSocket, REST, SPI, I2C
  • Debugging communication logs and protocol issues
  • Integration with custom hardware

Code Quality

  • Unit and integration testing, mocks
  • Managing technical debt without over-engineering
  • Clear, stable API design
  • Strong code review skills

Frontend

  • TypeScript and React fundamentals
  • WebSocket/HTTP servers (Rust async ecosystem)
  • Familiarity with Tauri

Ways of Working

  • Ownership from investigation to clean, reviewed solution
  • Plans changes and seeks review before implementation
  • Communicates across software, firmware, and hardware boundaries
  • Works effectively without full domain context
  • Strong git, PR workflows, TDD, multi-language systems
  • Experience with large codebases

Nice to Have

  • Real-time systems, performance optimization
  • Exposure to robotics, haptics, or teleoperation
  • Protobuf schema design and versioning
  • Profiling tools (e.g., Tracy)
  • Advanced TypeScript/React
  • Plugin systems, TOML configuration
  • Logging and observability tooling
  • Cross-platform development (Linux, Windows, bash, PowerShell)
  • GitLab DevOps experience
  • French/English bilingual

About the company

Funding

AMOUNT RAISED
$3.5M
FUNDED OVER
2 rounds
Rounds
S
$3500000
Seed - Mar 2023+1

Founders

Colin Gallacher
Founder
Montreal
image
Yi (Steven) Ding
Founder
image
View the team image

Similar Jobs

LCA company logo
LCA
From AI to addictive apps, we design products for the future
Altinity company logo
Altinity
The leading service and software provider for ClickHouse
Projekt Network company logo
Projekt Network
Building a platform that will transform the recruiting experience in the skilled trades
KixCare company logo
KixCare
Canada’s only national, bilingual virtual healthcare platform dedicated to kids & teens
HRVST company logo
HRVST
We’re a creative agency using small shop smarts to drive big business growth on Shopify