Lead Software Engineer

STERIS CORPORATION

Job Title:
Lead Software Engineer
Req ID:
46082
Job Category:
Engineering
Mentor, OH, US, 44060
Description:
At STERIS, we help our Customers create a healthier and safer world by providing innovative healthcare and life science product and service solutions around the globe.
Position Summary
As an Advanced/Lead Software Engineer, you will architect, design, and develop software solutions for market leading sterilization and disinfection devices for the healthcare industries. You will perform system analyses to develop solutions for current software projects; Develop software solution on existing platforms and frameworks; Collaboratively design software detailed design that provides required system functionality; Evaluate appropriate technologies; Review software designs for compliance with established architecture; Mentor, guide and review work of junior engineers.
This position will be located at our Mentor, OH or Plymouth, MN site.
Duties
Develop software architecture and designs that meet defined product specifications.
Propose solutions and technical direction for existing development efforts.
Identify inconsistencies and formulate solutions to complex and ambiguous technical problems.
Use appropriate design principles to ensure robust, maintainable software applications.
Provide in-depth design reviews to ensure designs can meet products functional and performance requirements.
Mentor junior engineers to propagate good design principles and development practices throughout the team.
Ensure software architecture, design, and interface specifications comply with department guidelines and can fulfil requirements.
Education Degree
Bachelors Degree in Computer Science or Electrical Engineering
Required Experience
8 years of progressive experience in architecting mid to large scale embedded software design, development, and implementation of embedded Linux based software systems utilizing both structured and object-oriented concepts using C.
4 more years of experience in design and implementation of multi-tasking and multi-threaded systems.
2 years of experience with software architecture and interface design.
Demonstrated technical expertise within a software development organization.
Understanding of development for a resource-constrained target environment with specific performance requirements.
Experience in development using various operating systems, including real-time operating systems (RTOS), such as ThreadX, RTXC, Linux, Windows (standard or embedded).
Experience in writing software requirements and methodical software design is required.
Knowledge of YOCTO or BSP development for ARM platform.
Knowledge of Unit test platform such as CppUnit or GTest.
Knowledge and experience with standard communication and network protocols.
Preferred Experience
Advanced degree in Engineering or related field desired
Engineering experience within a regulated industry
Certification or training coursework in software security
Experience in network communication interfaces is desired
Demonstrated knowledge of Internet of Things (IoT) and associated solutions is desired, e.g., remote monitoring solutions.
Skills
Identifies problems and formulates solutions to complex and ambiguous technical problems.
Identifies and develops new technical ideas.
Acts as an expertresource and mentor to others.
Challenges established work processes and proactively finds creative solutions.
Determine required tasks and complete on time with no supervision.
Identifies and communicates potential risks with appropriate mitigations.
Addresses routine technical problems by leading a team to brains

Show Full Vacancy