Sr Software Development Engineer
Company | Intuitive Surgical |
---|---|
Location | Sunnyvale, CA, USA |
Salary | $Not Provided – $Not Provided |
Type | Full-Time |
Degrees | Bachelor’s, Master’s, PhD |
Experience Level | Senior |
Description
Job Description
Primary Function of Position
The person in this dynamic role will report directly to the technical lead of our cutting-edge advanced energy product. This position offers the exciting opportunity to develop and implement both front-end and back-end software applications. Key responsibilities include designing system architecture, engaging in high-level programming, conducting performance testing, and ensuring seamless systems integration. We are seeking a candidate with exceptional programming skills, extensive experience in application development, and outstanding troubleshooting abilities. As a Software Development Engineer, your primary mission will be to create and implement sophisticated software systems that align with our project’ goals.
Essential Job Duties
- Architect and implement new product features from initial concept through to deployment.
- Coordinate with hardware, software, and system engineering teams to deliver intricate features and intuitive user interfaces.
- Engage in comprehensive software development processes, including system design, coding, code reviews, unit and integration testing, debugging, and code/API documentation.
- Operate within a collaborative, multidisciplinary environment to drive strategic changes and autonomously resolve complex technical problems.
- Liaise directly with stakeholders to ensure the development of robust and efficient software solutions.
Qualifications
Required Skills and Experience
- Expertise in at least one backend programming language, such as Java, Go, Python, C++, or a comparable language, with a comprehensive understanding of language-specific best practices, performance optimization, and concurrency management.
- In-depth knowledge of distributed systems best practices, including fault tolerance, the CAP theorem, consistency models, data partitioning, replication strategies, and event-driven architecture.
- Proficiency in collaboratively developing software systems using software diagrams, such as architecture diagrams and state machine diagrams.
Required Education and Training
- Minimum BSc degree in Computer science or adjacent technical field with at least 8 years of experience, or master’s degree with 6 years of experience, or PhD degree with 3 years of experience.
Preferred Skills and Experience
- Familiar with build tools like Bazel, Babel, and Webpack.
- Comfortable working with the Linux kernel, bash scripting, and embedded Linux.
- Experienced with intercommunication protocols such as gRPC and ZeroMQ.
- Skilled in creating GUIs for embedded systems using Qt/QML and LVGL.
- Great at communicating clearly and effectively, both in writing and speaking, with people at all levels of an organization.
Benefits
Not Specified