Jobs and Careers
IN

Senior Software Engineer (Real-Time Communication)

Intuitive
United Statesfull_timeVerifiedPosted 28 Aug 2024

About the role

Company Description

At Intuitive, we are united behind our mission: we believe that minimally invasive care is life-enhancing care. Through ingenuity and intelligent technology, we expand the potential of physicians to heal without constraints.
As a pioneer and market leader in robotic-assisted surgery, we strive to foster an inclusive and diverse team, committed to making a difference. For more than 25 years, we have worked with hospitals and care teams around the world to help solve some of healthcare's hardest challenges and advance what is possible.
Intuitive has been built by the efforts of great people from diverse backgrounds. We believe great ideas can come from anywhere. We strive to foster an inclusive culture built around diversity of thought and mutual respect. We lead with inclusion and empower our team members to do their best work as their most authentic selves.
Passionate people who want to make a difference drive our culture. Our team members are grounded in integrity, have a strong capacity to learn, the energy to get things done, and bring diverse, real world experiences to help us think in new ways. We actively invest in our team members to support their long-term growth so they can continue to advance our mission and achieve their highest potential.
Join a team committed to taking big leaps forward for a global community of healthcare professionals and their patients. Together, let's advance the world of minimally invasive care.

Job Description

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 solid 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.
  • 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 transmit real-time audio, video, and system data, and integrate it with backend systems, APIs, and services.
  • Participate in software architecture discussions, code reviews, and user studies design.
  • Responsible for unity 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.

Qualifications

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.
  • Comprehensive knowledge of audio, video codecs, and secure streaming protocols to build a highly reliable and mission-critical system subjected to changing network conditions.
  • Hands-on experience with streaming protocols and frameworks such as UDP, RTP, SRTP, WebRTC, FFmpeg, and turn/stun servers.
  • Experience with publish/subscribe architectures, REST interfaces, and interprocess communications.
  • Proficiency in profiling and debugging system software to optimize performance.
  • Exceptional communication skills and a commitment to collaborative team success.
  • Exceptional programming skills with a deep understanding of software engineering methods.
  • Disciplined approach to debugging with a persistent attitude towards solving problems.

Required Education and Training

<

Apply for this role

Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.

Apply Now →Generate Application Kit

Free account required — sign up in 30s

Company

Intuitive

View company profile →