Software Engineer III

Omnicell   •  

Cranberry Township, PA

Industry: Healthcare

  •  

5 - 7 years

Posted 64 days ago

This job is no longer available.

The Software Engineer III will contribute to the architecture, design, and development of distributed control software within a robotic compounding device. This role will be responsible for ensuring that the design and implementation are flexible, robust, and meet the requirements. The software is architected with a component-based architecture and using modern C++ features. This role works directly with other engineering disciplines to design, implement, and verify subsystems for a medical device. The Software Engineer III will work in a collaborative environment and following and contributing to best practices in engineering.

Responsibilities:

  • Creating and refining structural and logical/algorithmic designs.
  • Works in an agile environment implementing software for specific requirements or applications within a medical device environment, following validated development processes.
  • Develops clear and readable code
  • Implementing and maintaining software in compliance with associated designs and policies.
  • Creating unit, functional, and integration tests and performing root cause analyses for complex features.
  • Work with appropriate continuous integration and production build processes and environments.
  • Ensuring the quality of the software through appropriate processes, documentation, and testing.
  • Meets the 'Definition of Done' and promotes coding standards.
  • Participates in team retrospectives to improve the software development process
  • Works on business-critical products that operate with high reliability and are distributed nationwide to many clients

Knowledge and Skills:

  • Understanding of industry best practices and process associated with software development, including technical writing, system documentation, and design document management.
  • Demonstrable knowledge of troubleshooting, design methodologies, coding practices, and testing strategies.

Basic Qualifications:

  • Bachelor's degree in Computer Science, Software Engineering, Computer Engineering or other engineering field of study with programming course work
  • 5+ years' experience in software engineering.
  • 2+ years' experience in C++, C#, Java, or other object-oriented language.

Preferred Qualifications:

  • Experience with machine automation
  • Experience with modern C++ development (C++17 standards)
  • Experience with low-level embedded systems and "bare metal" coding
  • Experience with Lua, Perl, Python, JavaScript, or other interpreted languages
  • Medical Device software development experience
  • Familiar with Agile practices
  • Familiar with Linux development and target environments

Work Conditions:

  • Office Environment

Nothing in this job description restricts management's right to assign or reassign duties and responsibilities to this job at any time.