Senior Software Engineer - Haptic Systems & Middleware
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