Purpose:
- Develop software for the OTTAVA medical robotic platform, including controlling robotics hardware, architecting communication protocols with embedded devices, and providing testing infrastructure.
You will be responsible for:
- Develop and maintain multi-threaded, multi-core real-time C++ software components within EtherCAT, CAN, and a proprietary communication stack
- Debug timing, synchronization, and communication issues in real-time control loops
- Write and execute unit, integration, and system-level tests for safety-critical software
- Collaborate with Controls, Systems, FPGA/EE, and V&V teams to integrate software with hardware platforms
- Participate in code reviews, static analysis, and defect triage
- Implement risk mitigations in software
- Contribute to design documentation, requirement traceability, and verification artifacts
Required:
- B.S. or M.S. in Computer Science, Computer/Electrical Engineering, or Robotics
- Minimum 2 years writing multi-threaded C++ production software
- Modern C++ (memory management, performance, concurrency)
- OS concepts (scheduling, interrupts, threading, IPC)
- Git and basic debugging tools (JTAG, scopes, etc.)
Preferred:
- Exposure to Linux/RTOS
- Industrial communication protocols (EtherCAT, CAN/CANOpen)
- Python scripting for test automation/tooling
- IEC 62304 or other regulated software standards
- Debugging software that controls hardware devices
Other:
- Up to 5% travel
- Location: Santa Clara, California
Anticipated base pay range: $106,000.00 - $170,200.00