Senior/Staff Robotics Software Engineer
Posted Updated
Description
You will contribute to the architecture and design of surgical robotics software and implement mission-critical modules. You will build real-time-safe data-transfer and observability mechanisms, optimize control-data pipelines, and reduce latency. You will collaborate on control-loop performance, test software with and without hardware, and create software that is straightforward to test.
Responsibilities
- Design, implement, and maintain robot controls software
- Provide real-time-safe data transfer and observability mechanisms
- Optimize controls data pipelines across PCs through network and DDS QoS configuration
- Bridge timing gaps between non-deterministic IPC mechanisms and deterministic event loops
- Collaborate on control-loop performance optimization
- Collaborate with cross-functional teams on software-module performance
- Participate in pair programming, code reviews, and design discussions
- Test software with and without hardware and implement virtual fixtures
- Create simple, testable software designs that support unit and integration testing
Requirements
- Bachelor's, Master's, or Ph.D. degree in a relevant engineering, robotics, or computer science field
- Strong modern C++ proficiency
- Knowledge of DDS, gRPC, or another asynchronous structured IPC mechanism
- Experience with latency minimization, determinism, reliability, and software architecture
- 5+ years of C++ robot controls software development for senior level or 8+ years for staff level
- 5+ years deploying and testing software in Linux for senior level or 8+ years for staff level
- Mission-critical software experience
- Ability to implement high-performance Linux systems software independently
- Performance profiling and optimization experience
- Ability to analyze latency and jitter in distributed systems
- Ability to work on-site for hands-on software integration
