Advanced Software Engineer

STERIS CORPORATION

Job Title:
Advanced Software Engineer
Req ID:
41532
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 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.
Duties
Identify inconsistencies and formulate solutions to complex and ambiguous technical problems.
Develop software designs according to architecture that meet defined product specifications.
Propose solutions and technical direction for existing development efforts.
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.
Create software architecture, design, and interface specifications and ensure they comply with department guidelines and can fulfil requirements.
Required Experience
Bachelors Degree in Computer or Electrical engineering or Computer science
Eight years of progressive experience in the design, development, and implementation of embedded Linux based software systems utilizing both structured and object-oriented concepts using C.
Four or more years of experience in design and implementation of multi-threaded and mulit-process systems.
Experience with Linux based network configuration and network protocols such as TLS and MQTT.
Experience with different levels of requirements, tracing and software risk analysis.
Experience in software development using various operating systems, including real-time operating systems (RTOS), such as ThreadX, RTXC, Linux, Windows (standard or embedded).
Experience with model-based software design and development.
Experience with unit test platform such as CppUnit or GTest.
Demonstrated technical expert within a software development organization.
Understanding of development for a resource-constrained target environment with specific performance requirements.
Knowledge of YOCTO or BSP development for ARM platform.
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 with formal design and requirement tools is desirable.
Demonstrated knowledge of Internet of Things (IoT) and associated solutions is desired, e.g., remote monitoring solutions.
Skills:
Technical Excellence:
Identifies problems and formulates solutions to complex and ambiguous technical problems.
Identifies and develops new technical ideas.
Execution & Accountability:
Acts as an expert resource and mentor to others.
Challenges established work processes and proactively finds creative solutions.
Strategic Thinking:
Determine required tasks and complete on time with no supervision.
Identifies and com

Show Full Vacancy