Intuitive is hiring a

Senior Embedded Software Engineer

Sunnyvale, United States
Full-Time

Primary Function of Position

We seek a Software Engineer to join the Future Forward Research group at Intuitive Surgical. Our group’s role is to explore new promising technologies for future products and services in the emerging computer- and robot-assisted medical interventions field. As a Senior Software Engineer, you will work on the design and development of system software and digital applications for the latest hardware targeting end-users involved in surgical robotic procedures. The successful candidate must excel in an agile, focused, small-team environment and commit to high-quality research prototypes and supporting infrastructure. A strong sense of shared responsibility and shared reward is required.

Essential Job Duties

This position is responsible for all aspects of system software development, associated tooling, and infrastructure to explore and build a novel telesurgery system.

  • Design, build, debug, and deploy real-time applications using C, C++, C#, Matlab, and Python on platforms like Linux, Windows, and real-time operating systems.
  • Characterize and integrate a high-bandwidth, ultra-low-latency communication interface to develop a real-time tele-op system.
  • Develop a modular, robust, fail-safe, ultra-low latency embedded streaming application.
  • Build compelling prototypes to demonstrate the technical feasibility and to define the product roadmap.
  • Construct a software pipeline to synchronize, encrypt, and transmit over a network efficiently.
  • Participate in software architecture discussions, code reviews, and user studies design.
  • Responsible for unit testing and integrating the code for function testing, robustness, and reliability.
  • Cross-functional requirements discussions, ranging from customer-facing clinical needs to safety requirements.
  • Translating early requirements into prototype implementations to evaluate and assess a novel and sophisticated robotic system.
  • Apply good software engineering practices to write elegant, maintainable, reusable code.
  • Create documentation for the developed features and techniques that were tried, rejected, or implemented.
     

Required Skills and Experience

  • Proven track record in building real-time embedded systems, real-time applications, and/or embedded software.
  • Experience with industrial embedded OS (e.g., Yocto, QNX) and cross-compilation is a plus
  • Demonstrated proficiency in C, C++, C#, Python, and MATLAB.
  • Experience with multi-threaded and multi-processor/multi-core systems.
  • Hands-on experience with network interface and streaming protocols such as UDP, RTP, SRTP, SSL/TLS, and GStreamer.
  • Experience with publish/subscribe architectures, REST interfaces, and interprocess communications. 
  • Hands-on experience building tools and software to evaluate network performance, characterize throughput, and efficiently interface with high-bandwidth networks.
  • Proficiency in profiling and debugging system software to optimize performance.
  • Strong communication skills and a commitment to collaborative team success.
  • Exceptional programming skills with a deep understanding of software engineering principles and methodologies.
  • Disciplined approach to debugging with a persistent attitude towards solving problems.

Required Education and Training

  • Minimum Master’s degree or above in Computer Science, Computer Engineering, or a similar technical field. Advanced degrees preferred.
  • A minimum of 8 years of experience developing and supporting embedded systems (or 5 years with a PhD).

Preferred Skills and Experience

  • Hands-on engineering experience with proven ability to work effectively in a team environment.
  • Ability to build and maintain relationships across supported organizations.
  • Experience in all phases of the product development lifecycle, including design, implementation, debugging, verification, validation, and transfer to manufacturing.
  • Knowledge of serial-arm robot kinematics.
  • Knowledge of classical and modern servo control systems.
  • Experience building digital applications interfacing with the latest AI/ML models.
  • Experience with medical device software development life cycle is a plus
  • Experience designing software products in a regulated industry or for mission-critical applications
  • Experience with concepts of design input, design output, traceability, risk analysis, and mitigations.

Due to the nature of our business and the role, please note that Intuitive and/or your customer(s) may require that you show current proof of vaccination against certain diseases including COVID-19.  Details can vary by role.

Intuitive is an Equal Employment Opportunity Employer. We provide equal employment opportunities to all qualified applicants and employees, and prohibit discrimination and harassment of any type, without regard to race, sex, pregnancy, sexual orientation, gender identity, national origin, color, age, religion, protected veteran or disability status, genetic information or any other status protected under federal, state, or local applicable laws.

We will consider for employment qualified applicants with arrest and conviction records in accordance with fair chance laws.

Preference will be given to qualified candidates who do not reside, or plan to reside, in Alabama, Arkansas, Delaware, Florida, Indiana, Iowa, Louisiana, Maryland, Mississippi, Missouri, Oklahoma, Pennsylvania, South Carolina, or Tennessee.

We provide market-competitive compensation packages, inclusive of base pay, incentives, benefits, and equity. It would not be typical for someone to be hired at the top end of range for the role, as actual pay will be determined based on several factors, including experience, skills, and qualifications. The target salary ranges are listed.

Apply for this job

Please mention you found this job on AI Jobs. It helps us get more startups to hire on our site. Thanks and good luck!

Get hired quicker

Be the first to apply. Receive an email whenever similar jobs are posted.

Ace your job interview

Understand the required skills and qualifications, anticipate the questions you may be asked, and study well-prepared answers using our sample responses.

Senior Embedded Software Engineer Q&A's
Report this job
Apply for this job