Software Engineer III

  • $81,000.00 - $114,000.00/year
  • Software Engineer III

    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

    Want to apply later?

    Type your email address below to receive a reminder

    Apply to Job

    ErrorRequired field
    ErrorRequired field
    ErrorRequired field
    Error
    Error
    insert_drive_file
    insert_drive_file