Posted in

Sr Software Development Engineer

Sr Software Development Engineer

CompanyIntuitive Surgical
LocationSunnyvale, CA, USA
Salary$Not Provided – $Not Provided
TypeFull-Time
DegreesBachelor’s, Master’s, PhD
Experience LevelSenior

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