Sr Software Engineer
Senior level software engineering position responsible for the design and implementation of the groups value delivery pipeline. Acting in a lead role, implement a data-driven, continuous improvement software development vision based on lean and agile principles. Works closely with the software development team to develop and support a highly reliable and repeatable build system, including automated quality gates, in the deployment pipeline.
Exhibits a high level of software development and Linux system administration mastery, equally comfortable with on-prem and cloud-based solutions, including related security concerns. Provides strategy, technical direction, and planning for tool adoption, implementation, instrumentation, and maintenance.
Skills/ Experience:
- Work as a member of an agile development team to develop the CI/CD infrastructure responsible for continuous deployment of embedded software for medical devices
- Identify infrastructure needs and requirements
- Work with the IT organization to plan for future infrastructure needs
- Install and configure tools, implement reusable components, translate technical requirements, assist with all stages of test data, develop interface stubs and simulators, and perform script maintenance and updates
- Report live performance metrics to executive management
- Produce detailed in-depth metrics to support continuous improvement objectives
- Design, integrate and test software
- Create and maintain associated documentation
- Work primarily in a lead capacity
- Provide technical direction and/or mentoring of less-experienced engineers
- Identify and promote best practices for software development
- Forges strong relationships across departments and to other companies
- Stays abreast of new technologies and developments in the DevOps and embedded software engineering fields
- Leads by example
- Insists on highest quality in own work and that of others
- Needs little or no supervision from Manager or Project Manager
- Able to communicate and coordinate with peers and development teams overseas
Required Skills:
- Proven experience in developing DevOps transformations
- Hands on experience in networking security, databases, and cloud systems
- Solid knowledge in various scripting languages, system & server administration, web technologies, and mass system deployments
- Extensive knowledge of the Linux platform and tools (gcc, gdb, make, shell scripting, etc.) is required. Has proven experience with cross platform issues and is able to learn new platforms quickly
- Highly skilled in installing, configuring, and maintaining Source Control, Continuous Integration and Configuration Management tools
- Excellent knowledge of current software development best practices, object-oriented design, SOLID, event driven architecture, multimedia processing, interface design, localization, portability, extensibility, and testability
- Experience developing software in C/C++ in embedded environments, including the complexities related to cross compilation, custom tool chains, and management of FOSS components, is desired
- Excellent communication skills. Has forged relationships with development personnel throughout the company
- Excellent project planning and estimating skills; drives projects and keeps them moving through daily obstacles; asks for additional assistance when appropriate
- Self-motivated; works with minimal supervision
- Enthusiastic about the company and about developing its high-quality medical products
- Strong software design skills
- Writes clear, maintainable, well-documented, portable code
- Recognizes problems and offers solutions. Helps the group adapt to changing conditions
Desired Skills:
- Development experience in a regulated industry (Medical, Aviation, Financial) desired
- Knowledge of medical device quality system regulations and standards (eg, U.S. FDA Quality System Regulation 21CFR Part 820, ISO13485, ISO9001) is desired
- Experience developing software in C/C++ in embedded environments, including the complexities related to cross compilation, custom tool chains, and management of FOSS components, is desired
- Experience developing software in C/C++ in embedded environments, including the complexities related to cross compilation, custom tool chains, and management of FOSS components, is desired
Degree Requirements:
- BS/MS in Computer Science, Electrical Computer Engineering or related field with 2-5 years of experience in software development