Posted in

Senior Software Engineer

Senior Software Engineer

CompanyIntuitive Surgical
LocationSunnyvale, CA, USA
Salary$Not Provided – $Not Provided
TypeFull-Time
Degrees
Experience LevelSenior

Requirements

  • Proven track record in building 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 full stack development
  • Experience with multi-threaded and multi-processor/multi-core systems.
  • Demonstrated proficiency in C, C++, C#, Python, and MATLAB.
  • 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.

Responsibilities

  • 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 telecollaboration systems.
  • Build compelling prototypes to demonstrate the technical feasibility and to define the product roadmap.
  • Develop a modular, robust, fail-safe, ultra-low latency edge applications that interface with cloud backend and embedded surgical system.
  • 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 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.

Preferred Qualifications

  • 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.