Drop off your CV/Resume
We'd love to hear from you. Send us your CV/Resume and one of our team will be in touch.
An innovative medical device company is developing a next-generation robotic platform designed to support complex minimally invasive procedures. We are seeking a Software Engineer to design and build the software systems that power this advanced electromechanical platform.
This role focuses on developing software for a real-time robotic system, building robust services, solving complex technical problems, and delivering reliable functionality that supports clinical workflows. The position requires strong software engineering fundamentals and a deep understanding of operating systems, concurrency, and system performance.
Design and develop software components for a multi-process robotic system, including control software, system services, and application-level functionality
Architect and implement services responsible for system state management and inter-process coordination
Write high-quality code in Python, C++, or Rust depending on system requirements
Profile, debug, and optimize software to meet real-time performance and reliability constraints
Implement security and system hardening measures appropriate for a regulated device platform
Collaborate with controls engineers, UI developers, and systems engineers to deliver integrated functionality
Contribute to software architecture decisions and technical direction within your areas of ownership
Participate in design reviews and technical discussions across engineering teams
Produce clear documentation and support verification and validation activities
Strong software engineering fundamentals, including clean architecture, testing practices, and maintainable code
Proficiency in Python and C++; Rust experience is a plus
Deep understanding of operating system concepts, including processes, threads, scheduling, memory management, and inter-process communication
Strong Linux development experience and familiarity with system-level debugging
Experience building complex multi-component software systems
Excellent debugging and troubleshooting skills across system layers
Solid understanding of concurrency, synchronization, and real-time system challenges
Strong communication skills and ability to discuss technical tradeoffs and architecture decisions
Broad exposure to multiple software languages, frameworks, and architectures
Experience working with robotics software platforms or robotic systems
Background in medical devices or other safety-critical systems
Experience with real-time or performance-critical applications
Familiarity with software security practices and system hardening
Experience with distributed systems or service-oriented architectures
Exposure to controls, motion planning, or mechatronics environments
BS or MS in Computer Science, Computer Engineering, Robotics, or related field
5+ years of professional software engineering experience
Experience designing and delivering complex software systems
Experience working on software that interacts closely with hardware, embedded systems, or operating systems
Comfortable working in environments where engineers own problems end-to-end
Ability to work onsite several days per week at the company’s engineering facility in Northern California