ABOUT INOGEN
Inogen was founded in 2001 to improve quality of life and increase freedom and independence for oxygen therapy users. Inogen is innovation in oxygen therapy. The Inogen mission is to improve freedom and independence for oxygen therapy patients through innovative products and services. Inogen is a manufacturer and Accredited Homecare Provider focused on quality care, continuous improvement, and outstanding customer satisfaction. We are a stable, USA based company dedicated to providing an exciting and rewarding career to our employees.
Job Summary:
The primary responsibility of the Software Engineer is to design, release, and maintain software to support the manufacturing of Inogen’s respiratory medical devices. The Software Engineer is a key member of the Engineering team and participates in all product development phases. Key responsibilities include the design, implementation, testing, and modifying of software components, software applications, components in a Digital Health ecosystem, and all related documentation as it pertains to medical device product development. The Software Engineer may also be assigned to focus their activities on existing product lines to make improvements to user experience, quality, reliability, cost, and efficiency in manufacturing. This individual must have strong technical skills complemented by great communication and teamwork qualities. Experience in medical device software development in a structured/regulated environment is required.
Responsibilities:
Software Engineer I:
- Designs, develops, and maintains embedded (firmware) on-device applications, cloud-based applications, or mobile applications.
- Maintains and improves released software products and device applications.
- Uses standard tools and processes for version control, configuration management, and code quality.
- Contributes to requirements definition at the functional level.
- Participates in software code reviews/inspections.
- Builds, integrates, troubleshoots, and debugs software and hardware components.
- Generates required product development documentation including functional specifications and design documents.
- Executes manual or automated tests for verification and validation of software applications.
- Designs, codes, and validates software tools for use in the manufacturing of the product.
- Works with software testers, patient support, manufacturing, and other cross-functional team members to resolve software issues.
- Drives improvements to product and process quality.
- Complies with all company policies and procedures.
- Assists with any other duties as assigned.
In addition to items listed for Software Engineer I, a Software Engineer II may also be responsible for the following:
- Works with other engineers and leads parts of the design and implementation.
- Uses design patterns and frameworks to design mid-level software components.
- Conducts analysis of system design and integration.
- Analyzes third-party, off-the-shelf software.
- Determines and proposes alternate design approaches.
- Provides support to verification test teams as necessary to maintain good quality, including problem identification, analysis, and solutions.
In addition to items listed for Software Engineer II, a Software Engineer III may also be responsible for the following:
- Responsible for software risk analysis of subcomponents within the system software design.
- Administrates Inogen's EPDM system and all parts during the development phases until release to production.
- Mentors less experienced engineers.
- Reviews engineering artifacts and test reports for accuracy and completeness, following good documentation practices.
- Writes protocols for software system design verification and validation of Inogen products.
In addition to items listed for Software Engineer III, a Software Engineer IV may also be responsible for the following:
- Establishes organization standards for tools and processes for version control, configuration management, and code quality.
- Suggests and implements process improvement initiatives.
- Responsible for system level design and system architecture decisions.
- Selects, implements, and maintains appropriate design tools for software design, test, and implementation.
- Participates in creating and maintaining budgets for projects and the SW department.
- Be financially responsible for purchases and expenses related to SW development tools and systems.
- Must have strong work ethic.
- Excellent oral and written communication skills required.
- Attention to detail with accurate and complete documentation.
- Effective conflict resolution.
- Analytical & problem-solving skills.
- Solutions-oriented problem solver.
- Versed in and able to effectively apply common root cause analysis tools.
- Excellent planning, communication, and organizational skills.
- Ability to effectively interface with different departments within the company.
- Self-motivated and capable of self-direction.
- Highly motivated and able to act as a key part of the Engineering team.
Level I:
- Bachelor in Engineering or related technical discipline, required.
- 0-3 years of experience in software design and testing, required.
- Intermediate knowledge/proficiency in embedded software languages, such as C, C++, Assembler.
- Intermediate knowledge/proficiency in Cloud technology (Azure or AWS) and languages like Python, PHP, Javascript.
- Intermediate knowledge/proficiency in tools for version control, configuration management, and code quality.
- Intermediate knowledge/proficiency in ISO 9001, ISO 13485, IEC 62304 preferred.
- A combination of training, education, and experience that is equivalent to the qualifications listed above and that provides the required knowledge, skills, and abilities.
- Medical device manufacturing experience, preferred.
- Bachelor in Engineering or related technical discipline, required.
- 3-5 years of experience in software engineering, required.
- Advanced knowledge/proficiency in embedded software languages, such as C, C++, Assembler.
- Advanced knowledge/proficiency in Cloud technology (Azure or AWS) and languages like Python, PHP, Javascript.
- Advanced knowledge/proficiency in cyber security concepts.
- Advanced knowledge/proficiency in ISO 9001, ISO 13485, IEC 62304, required.
- Intermediate knowledge of system architecture and design techniques, required.
- A combination of training, education, and experience that is equivalent to the qualifications listed above and that provides the required knowledge, skills, and abilities.
- Bachelor in Engineering or related technical discipline, required.
- MS Engineering or PhD, preferred.
- 5-8 years of experience in software engineering, required.
- Advanced knowledge/proficiency in computer programming languages and design methodologies.
- Advanced knowledge/proficiency in ISO 9001, ISO 13485, IEC 62304, required.
- Intermediate knowledge of software development operations.
- Intermediate knowledge of software deployment strategies.
- A combination of training, education, and experience that is equivalent to the qualifications listed above and that provides the required knowledge, skills, and abilities.
- Bachelor in Engineering or related technical discipline, required.
- MS Engineering or PhD, preferred.
- 8-10 years of experience in software engineering, required.
- Advanced knowledge/proficiency in computer programming languages and design methodologies.
- Full-stack software skillset, required.
- Advanced knowledge/proficiency in ISO 9001, ISO 13485, IEC 62304, ISO 14971 required.
- Advanced knowledge of software development operations.
- Advanced knowledge of software deployment strategies.
- Advanced knowledge of software deployment processes in the medical device industry.
- A combination of training, education, and experience that is equivalent to the qualifications listed above and that provides the required knowledge, skills, and abilities.