Senior Software Engineer
Applies a solid understanding of standard engineering techniques, procedures and criteria as part of the software development lifecycle (SDLC) toward the development of new or enhanced software products or processes. Plans, executes and functionally directs important engineering assignments, which require independent judgment.
- Perform standard software development assignments (software requirements specification, design, develop code, unit testing, etc.) which are typically a significant portion of a larger project, adhering to defined methods, techniques, theories, corporate and division Standard Operating Policies.
- Select sound techniques to solve problems and make design recommendations under direction of supervisor.
- Act independently with minimal supervision to conduct smaller approved projects.
- Make recommendations for software product and process improvements based on technical knowledge.
- Utilize software engineering methodologies and tools to solve straightforward problems (e.g., software requirements management, UML, software configuration management, unit testing, static analysis, and FMEA).
- A solid technical understanding of the principles and procedures of software engineering (e.g., SDLC, IEC 62304, Agile).
- Experience with Linux, including C++, GUI development, Object Oriented Analysis, MVC design pattern, Multi-threaded OS, Gerrit and GIT. Experience with QT/QML and RTOS is preferable.
- Experience with medical device software engineering disciplines (e.g., software development environments, configuration management tools, code inspection techniques and tools, testing methods and test management tools).
- Prior experience with Infusion Pump Embedded/User Interface development is a plus.
- Prior experience especially around multi-platform and clinical practice software is preferred
- Be passionate about software quality and be prepared to advocate on behalf of good processes and best practices.
- Ability to discuss normally encountered technical or project management issues, both verbally and in written form.
- Ability to work as a collaborative team member.
B.S. in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering or related field and 4-7 years related experience.