Staff Embedded Software Engineer
Overview
In this role you will drive embedded software for robotic surgical platforms, collaborating with cross-functional teams to define development plans and ensure regulatory compliance. You’ll architect modular software, lead risk analyses, and integrate hardware with software through FPGA/PCB work. You’ll contribute to multi-processor systems, video/control subsystems, and diagnostics, enabling safer, more precise robotic care. This is a chance to shape critical medical technology at a global leader and deliver meaningful patient impact.
Compensation / Benefitsmarket-competitive compensation packagesbase payincentivesbenefitsequity
ResponsibilitiesCapture cross-functional requirements (customer, clinical, safety, cybersecurity) and shape development plansDefine interfaces between hardware and software; architect modular, testable softwareSupport prototyping and development of new robotic platforms using shared infrastructureLead formal risk analysis and develop software mitigationsLead software bring-up and integration of custom PCAs and FPGA IPPerform detailed design, development, documentation, and verification of embedded software and state machines under regulatory guidelinesContribute to software across distributed multi-processor systems (video, servo control, IPC, diagnostics, UI)Apply domain expertise to drive new innovations across productsRepresent the project with external collaborators and internal stakeholders
Key requirementsBachelor’s degree in Computer Science, Electrical Engineering, or Computer Engineering (or related field)12 years of embedded systems development experience (8 years with Master’s, 5 years with PhD)Proficiency in C++ or C for mission-critical cross-platform code on embedded/RT systems (QNX)Strong background in embedded compute architectures, hardware debuggingExperience with TCP/IP, CAN, and serialization protocolsMemory management, concurrency, and synchronous/asynchronous event handlingPython or similar scripting for automation/diagnostics/testingFamiliarity with Vivado and FPGA development toolsTeam collaboration and cross-functional communicationProblem-solving under regulatory constraintsEffective project representation and stakeholder managementC/C++ in embedded real-time environments (QNX)Embedded systems debugging and testingHardware/software interface design