Software Engineer III (Embedded)

Location: Pittsburgh, PA

Job Type: Full Time / Permanent

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.


  • 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

Education & Experience:

  • 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.
  • 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.
  • 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