Senior Software Engineer - Haptic Systems & Middleware

Haply

Haply

Software Engineering
Canada · Montreal, QC, Canada
Posted on Feb 10, 2026

Responsibilities

  • Design, develop, and maintain the core service / middleware layer of Haply’s haptic controller software
  • Implement and optimize low-level communication layers, including:
  • • USB serial communication with embedded devices
  • • Device discovery, connection management, and data streaming
  • Develop and maintain a WebSocket-based interface connecting the service layer to:
  • • the user interface
  • • external applications and developer tools
  • Work closely with the firmware team to define, evolve, and maintain robust firmware–software interfaces
  • Build and maintain developer-facing APIs that enable third-party software to integrate with Haply devices
  • Optimize performance, latency, and reliability for real-time haptic interaction
  • Contribute to software architecture decisions, refactoring efforts, and long-term technical direction
  • Write clear, maintainable, and well-documented code
  • Support debugging and troubleshooting across the full stack (firmware service UI)
  • Act as a technical reference within the team by reviewing designs, sharing knowledge, and mentoring peers

Must Have

  • Strong professional experience in C++
  • Solid experience in Rust, or strong motivation to work extensively in Rust
  • Experience with Python for tooling, scripting, or auxiliary services
  • Strong understanding of software architecture, particularly for systems interacting with hardware
  • Experience working with:
  • • Low-level system services or drivers
  • • Serial communication protocols (USB, UART, or similar)
  • • Networking and messaging systems (WebSockets, TCP/IP)
  • Familiarity with performance-sensitive or real-time systems
  • Comfortable working across multiple layers of the software stack

Nice to have

  • Experience interfacing with embedded systems or firmware
  • Background in robotics, haptics, control systems, or real-time simulation
  • Experience building SDKs or developer platforms
  • Cross-platform development experience (Windows, macOS, Linux)
  • Experience with testing, benchmarking, and performance profiling