Job Information
STERIS CORPORATION Advanced Software Engineer in Mentor, Ohio
Advanced Software Engineer Req ID: 41532 Job Category: Engineering Location: Mentor, OH, US, 44060 Workplace Type: Hybrid 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. 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. What You'll do as an Advanced Software Engineer: 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 product's 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. The Experience, Skills, and Abilities Needed: Bachelor's Degree in Computer or Electrical engineering or Computer science 8 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++. 4 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. Advanced degree in Engineering or related field desired. Engineering experience within a regulated industry desired. Certification or training coursework in software security desired. Experience with formal design and requirement tools desired. Demonstrated knowledge of Internet of Things (IoT) and associated solutions is desired, e.g., remote monitoring solutions. Additional 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 a