Senior Software Engineer (developer)

STERIS Corporation
1 month ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English
Experience level
Senior

Job location

Tech stack

C
Adobe InDesign
Unit Testing
Software Bug Management
C Sharp (Programming Language)
C++
Configuration Management
Static Program Analysis
Code Review
Computer Engineering
Continuous Integration
Software Debugging
Linux on Embedded Systems
Embedded Software
Integrated Development Environments
Object-Oriented Software Development
Real-Time Operating Systems
Software Engineering
Software Requirements Analysis
SQL Databases
TCP/IP
Universal Asynchronous Receiver/Transmitter
Web Services
Multithreading
Enterprise Software Applications
Serial Peripheral Interface
Yocto
Integration Tests
Software Version Control
Programming Languages

Job description

The Senior Software Engineer is responsible for the development of embedded firmware, C, C++, & C# medical device applications, and Enterprise software with complex SQL database and web services for use in AER medical devices. This engineer will have the join a dedicated development department creating medical device software.

Duties

  1. Designs, implements, and debugs applications according to corporate policies and business operating procedures on new and sustaining engineering projects.

  2. Leads the technical development for mid-size projects and implementation in C/C++ and other programming languages as needed.

  3. Collaborates on unusual/complex issues and approval on plans and larger-scale designs.

  4. Participates in design reviews to identify issues and provide design recommendations; participates in code reviews and/or inspections to identify issues and provide feedback.

  5. Collaborates with software team members to propagate good design principles and development practices across the team.

  6. Investigates new software technologies and tools.

  7. Creates software development process documentation to include architectural documents, requirements, object oriented designs, interface specifications, and verification documentation.

  8. Performs unit and integration testing to ensure software meets specifications and expectations.

  9. Reviews and resolves software change requests and defects.

  10. Work as a collaborative team member in engineering projects. Collaborates with groups outside of direct responsibilities including other engineering groups, Quality, Regulatory, Marketing, etc. for project planning, analysis of product requirements, and to outline proposed solutions., * Seeks input from more experienced individuals to improve quality of deliverables.

  • Begins mastering the technical aspects of own job.
  • Applies new technical tools and concepts under the direction of others.

Execution & Accountability:

  • Completes assigned tasks on time with guidance and support.
  • Documents status and results accurately and succinctly
  • Provides clear and accurate data regarding product and process measurables

Strategic Thinking:

  • Gains perspective through experiences and developing new skills.
  • Displays curiosity about technology, the industry and competitive knowledge.
  • Adapts to change.

Influence & Effectiveness:

  • Listens, questions and clarifies communication to ensure understanding.
  • Documents work accurately, succinctly and with purpose.
  • Seeks to understand others' point of view and accepts feedback from others.
  • Influence primarily within the individual's engineering discipline.

Creativity & Innovation:

  • Works on mastering technical aspects of own job.
  • Seeks feedback from others regarding ideas or suggestions.

Requirements

  • Bachelor's Degree in Engineering General, * Bachelor's in computer engineering, Software Engineering, or Electrical Engineering (A degree in another Engineering discipline may be acceptable with proven software education and/or training and demonstrated software experience.)

  • Requires 5+ years overall of related software engineering experience in development and/or verification.

  • 4+ years' experience of software development in C++ is required.

  • Experience in writing software requirements in collaboration with systems

  • 2+ years' experience in Object Oriented design is required.

  • 2+ years' experience with low level embedded hardware interfaces including CAN, I2C, SPI, UART communication.

  • 2+ years' experience with unit testing, debugging tools and code analysis. Experience with developing in a multithreaded environment on RTOS and embedded Linux platform.

  • Experience with software design, model-based design and defensive coding practices. Working knowledge of communication and network standards TCP/IP, TLS is required.

  • Exceptional team player and problem-solving abilities.

  • Experience with YOCTO based BSP development is desirable.

  • Experience in medical device industry is preferred.

  • Experience using software integrated development environments (IDEs) and tools including compiling/building, debugging, configuration management (version control), defect management, continuous integration, and code analysis tools.

  • Knowledge of Internet of cloud connectivity and associated solutions is desired.

  • English knowledge at level B2 (minimum)

About the company

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.

Apply for this position