Senior Firmware Engineer R & D
Why Join ACIST?
We care as much about our employees as we do our patients. Our culture fosters a work environment where employees can thrive, be passionate and have fun along the way. Each member of the ACIST team has the power to make a difference......every day!
The Senior Firmware Engineer is a team member contributing to the definition, development, documentation of firmware/software for the company’s medical devices based on user and business requirements and in accordance with the product development process. The firmware engineer plans, designs, implements, improves and manages software application development from inception to use. This includes allocating resources to complete development projects and creating detailed plans to ensure firmware is developed in an organized fashion and functions properly.
Primary Duties and Responsibilities:
- Apply solid firmware design skills to develop medical devices to meet specific performance and deliver goals according to product development quality system, including
design, implement and test firmware and embedded software to realize specific
algorithm or/and general application based on MCU, DSP or ARM system.
- As a team member, contribute significantly to completion of various project activities, from definition, identifying firmware functional requirements, implementation, code review, and final release according to medical device development processes.
- Create and implement software/firmware test plans/protocols and generate test reports to ensure software/firmware design meets the specifications and quality system
- Work closely with a cross-function team, including design reviews with QA, RA, test engineers,
hardware engineers to ensure the firmware design meets the product requirements, including safety, reliability and serviceability. Be creative and innovative in the product development process
- Make, recommend or justify critical technical decisions in product design. The decision should be based on broad investigation and testing.
- Document and transfer developed solutions to manufacturing team for mass production and
provide technical support and sustaining development in launch phase.
Qualifications (Knowledge, Skills & Abilities):
- B.S. or M.S (Preferred) in discipline such as Computer Engineering, Computer Science, Electrical Engineering, Computer Systems Engineering, Software Engineering.
- Minimum of 5 years of experience in a similar role (prefer federally regulated software development)
- Proven firmware or embedded software development experience.
- Familiar with firmware principles, theories, concepts, techniques and architecture.
- Embedded system hardware knowledge and development environment familiarity is required.
- Proficient in embedded algorithm development per medical device standards.
- Strong coding skills using C and C++.
- Familiarity with ARM Cortex microprocessors (M4 and M7)
- Experience developing firmware for serial interfaces: SPI, I2C, UART and CAN bus
- Experienced in embedded system design, testing and debugging and be familiar with embedded firmware development environments.
- Experience with Quantum Leaps QP Framework preferred.
- Strong experience using emulators/debuggers to develop/debug embedded system firmware applications.
- Medical device development experience and IEC62304 and related IEC standard familiarity preferred.
- Strong problem solving and analytical skills.
- Ability to work independently with team members from various disciplines, e.g. hardware, mechanical, quality, regulatory, etc.
- Team player with effective verbal and written communication skills.
- Technical writing skills, ability to develop reports for technology development, document software requirements, design and architecture, and review/update software development lifecycle procedures.
- Ability to coordinate multiple projects simultaneously
- Experience with Agile/Scrum methodology is required. Ability to serve as a Scrum Master is strongly desired.
- Knowledge and experience with digital signal processing and motor control algorithm is desired.