Primary Function of the Position
The main responsibility of the position is to manage the embedded software engineering team in extending and improving the embedded software at the heart of the da Vinci™ X and Xi systems, ensuring safe and reliable operation and robust data communication between compute nodes. As the software engineering manager, you will be involved in delivering features to the surgical customer by managing a team to implement complex functionality into complete surgical robot solutions and seeing these through to product release as well as resolving issues after release if necessary. The successful candidate must excel in a high-energy, small, focused team environment, be able to drive to solutions from rough requirements, and have a commitment to high product quality. Quick learning and a desire to understand requirements and create solutions are essential to become a valuable software engineering manager. A proven sense of shared responsibility and shared reward is required, as is the ability to make work fun and interesting. Supporting you will be a development and management team that knows and cares about what you are doing and wants you to succeed.
Essential Job Duties
- Recognize and attract top talent, mentor and train existing team members and new hires through one-on-one coaching as well as team wide initiatives.
- Interface with variety of cross functional teams including Mechanical, Electrical, Clinical, Interaction Design, Digital, Quality, Regulatory, Project Management, Product Management, and Product Support to understand embedded software and user interface needs to support creation and maintenance of a bottom-up schedule that supports business goals.
- Own the full development lifecycle for the embedded software team and associated design control and documentation tasks (negotiate requirements, systematic risk assessment and mitigation, prototyping, development, testing, and software releases).
- Champion best practices in software development (code reviews, coding conventions, continuous integration, defensive programming, static analysis, design patterns, etc.).
- Drive technical development across a variety of areas ranging from board bring up, inter-node communication protocols, OS management, cybersecurity, and safety algorithms.
- Provide architectural guidance and oversight to drive software risks, hazards, mitigations, requirements, specifications, designs, reliability, modularity, extensibility, and verification & validation.
- Own and manage the trunk and formal branch repositories, merge, and software build process.
- Create the software change plan and reconciliation report for each system software release.
- Create the software documentation plan and report for each system software release.
- Create the summary of known anomalies for each system software release.
- Conduct technical design reviews.
- Assess and update the software hazard analysis and identify mitigations for hazardous situations.
- Assess and update the feature configuration risk analysis if there are changes to configurable software features.
- Assess and update the safety classification of all software units.
- Document the tools used in the development of the software release, as well as third-party software.
- Prepare escalation decisions with quality engineering for anomalies discovered in released software.
- Prepare the software documentation level for premarket submission with regulatory.
- Document traceability from software requirements and software hazard analyses to module verification tests and system verification tests.
Requirements
Required Skills and Experience
- Experience recruiting, mentoring, and functionally managing teams of highly skilled engineers.
- Experience in all phases of software development including evaluation, planning and definition, design & implementation, Verification & Validation, Market Launch, and Post Market.
- Experience with concepts of design input, design output, traceability, and risk analysis
- Hands-on engineering experience:
- Experience developing embedded software in C/C++.
- Experience with Matlab, Python, or other scripting languages.
- Excellent teamwork skills with proven ability to collaborate across multiple teams.
- Excellent communication and documentation skills.
- High attention to detail.
- Proven people management abilities with ability to ensure team success.
- Ability to build and maintain relationships across organizations.
- Experience supporting field and manufacturing organizations.
- Experience with revision control systems (e.g. SVN and Git).
- Experience with issue tracking software (e.g, JIRA)
Required Education and Training
- Minimum Bachelor/Master/PhD degree in Computer Science, Software Engineering, Electrical Engineering, or Computer Engineering or equivalent work experience.
- A minimum 12+ years industry experience developing and supporting embedded systems.
Preferred Skills and Experience
- 2+ years industry experience managing a team of embedded software engineers.
- Experience with designing software products in an FDA or other regulated industry or for mission critical applications.
- Experience with bare metal, real-time operating systems, multi-threaded and multi-process programming, as well as inter-process and inter-node communication techniques for Linux.
- Experience with hardware design.
- Experience with cybersecurity analysis and design.
- Experience with UI design.
- Experience with QNX, QML, and Qt.
- Experience with Matlab, Python, or other scripting languages.
- Experience with build systems such as GNU Make and CMake, EMake.
- Experience in low level driver development in embedded platforms.
Intuitive
Empresa que se dedica a la atención médica mínimamente invasiva y a la tecnología inteligente para mejorar la vida de los pacientes.
Other jobs at Intuitive
Notifications about similar jobs
Get notifications to your inbox about new jobs that are similar to this one.
No spam. No ads. Unsubscribe anytime.
Similar jobs