At Stryker we are dedicated to improving lives, with a passion for researching and developing new medical device products. As an engineer at Stryker, you will be proud of the work that you will be doing, using cutting-edge technologies to make healthcare better. Here, you will work in a supportive culture with other incredibly talented and intelligent people, creating industry-leading medical technology products. You will also have growth opportunities as we have a culture that supports your personal and professional development.
Need another reason to apply? Check out these 8 reasons to join Stryker's engineering team: https://www.strykercareersblog.com/post/8-reasons-to-join-strykers-engineering-team
Who we want:
As a Senior Staff Engineer, Embedded Software Development at Stryker's Digital, Robotics & Enabling Technologies group, you will participate in planning and conduct software requirement analysis and design. You will write software and software scripts that will interact with and control complex electro-mechanical systems. You will participate in validating the functionality of your programs with a global technical cross-functional team, and other stakeholders. You will be involved in all facets of the software development life cycle. You should be highly organized and detail oriented, with the ability to convey highly technical information to internal staff as well as external stakeholders. It is also important that you combine excellent verbal and written communication, interpersonal and presentation skills, and the ability to work well both independently and as part of a team.
What you will do:
• Conduct or design advanced prototyping and testing
• Conduct advanced problem solving, identify potential solutions, and evaluate them against component and sub-system requirements
• Conduct and design research and studies to support advanced product design
• Translate user needs to design inputs/specifications and produce advanced component and sub-system level designs
• Analyze and correct complex product design issues, using independent judgment
• Independently balance design tradeoffs while designing a component of the system
• Develop and design software systems per requirements and architecture defined
• Code development time/resource estimation to support projects
• Generate and review the necessary documents to support the project. (requirements/design/architecture/bugs/test)
• Fully own the life cycle of a middleware framework - sustaining engineering that supports forward production and installed base, current development and seeding impactful innovations that feed into future iterations of the framework.
• Follow implementation of the required Development Environment and lead continuous improvement efforts on CI/CD and DevOps.
• Collaborates with Principal Engineers, cross-functional team architects, to understand their evolving requirements and translates them to architectural runway features and executes them.
• Build and deploy embedded software of the highest quality using C++, C, Python, and/or other supporting languages.
• Support the development of new reusable components and the maintenance of existing components.
• Author unit, integration, verification, and validation tests, including manual and automated methodologies
• Conduct advanced problem solving, identify potential solutions, and evaluate them against component and sub-system requirements.
• Translate user needs to design inputs/specifications and produce advanced component and sub-system level designs.
• Analyze and correct complex product design issues, using independent judgment.
• Generate and review the necessary documents to support the project. (requirements/design/architecture/bugs/test/ security/risk management).
• Advance solutions by applying in-depth knowledge of customer needs, market and competitive offerings
• Apply detailed knowledge of clinical procedures to author design inputs
• Support Voice of Customer sessions internally and with clinicians
• Demonstrate developing financial acumen
Med Device Compliance:
• Be proficient with and mentor others in usage of industry standards, including design requirements and test strategies per applicable regulations
• Lead creation and refinement of engineering documentation, such as the Design History file
• Follow and mentor others on R&D procedures like design controls and risk management, per the Quality Management System
• Work cooperatively with R&D, Quality, Manufacturing, Regulatory, Clinical, Marketing and Project Management to ensure project success as a leader on the team
• Identify and support the creation of or improvements to procedures, policies, processes, systems, and technology
• Support and execute segments of complex product development to advance projects through the design /development/launch process
• Contribute to product development from concept through release
• Deliver high quality results with passion, energy and drive to meet business priorities
• Build relationships and influence across the engineering groups within the business
• Design, develop, modify, evaluate and verify software components for medical devices
• In code reviews apply design principals, coding standards and best practices
What you need:
Minimum Qualifications (Required):
• Bachelor's degree in Software Engineering/ Computer Science or related discipline
• Overall 10+ years of experience and strong knowledge of modern C++ is must (C++11 and above)
• Good understanding of object oriented design, design principles & design patterns, software architecture, multithreading and multicore programming, distributed systems, messaging framework
• Detail oriented with strong English written and verbal communication skills.
• Knowledgeable of tools for static/dynamic analysis, memory management, code coverage and techniques for analyzing software.
• Experience in unit, integration, automated regression testing.
• Familiar with Linux development environment
• Development experience in "middleware" / “application” / Low layer (Optional)
• Expertise in Network programming, Transmission Control Protocol /Internet Protocol program, opening/closing socket using C++
• Experience within programming for communication protocols
Preferred Qualifications (Strongly desired):
• Knowledgeable programming skills. Design new components applying various concepts design concepts and patterns
Design and Development Skills:
• Knowledgeable with integrated development environments (IDE) for projects
• Knowledgeable with tools for static/dynamic analysis, memory management, code coverage and techniques for analyzing software
• Knowledge in integration and deployment processes
Software Process Skills:
• Knowledge in creating estimates for code implementation time/resource for assigned tasks and projects
• Knowledge from using Application Lifecycle Management /Traceability tools.
• Knowledge of regulatory and compliance standards applied to the SDLC (Software Development Life Cycle)
• Experience in Software Development Life Cycle processes
• Familiarity with software configuration management tools, defect tracking tools, and peer review.
• Experience designing software for multi-threaded and/or multi-processing environments, including parallel processing.
• Experience in embedded systems design with preemptive, multitasking real-time operating systems
• VxWorks/RTOS development environment preferred
• Familiar with SysML/UML modeling languages preferred
• Motor Controls and Robotics experience preferred.
Stryker is one of the world’s leading medical technology companies and, together with our customers, is driven to make healthcare better.
The company offers innovative products and services in Medical and Surgical, Neurotechnology, Orthopedics, and Spine that help improve patient and healthcare outcomes. Alongside its customers around the world, Stryker impacts more than 100 million patients annually.
More information is available at stryker.com