Senior Software Engineer
Company | Intuitive Surgical |
---|---|
Location | Sunnyvale, CA, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | |
Experience Level | Senior |
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.