This firmware engineer works within a multi-disciplinary project team including other firmware engineers, software engineers, electrical engineers, mechanical engineers, test engineers, system engineers, project managers, etc. to develop and maintain FDA regulated medical diagnostic equipment and related systems.
This firmware engineer generally works under the leadership of a more experienced individual (e.g. senior/principal engineer, systems engineer, and/or project manager), and is expected to follow department processes and firmware engineering best practices including code reviews, test driven development, etc.
Principal Job Duties and Responsibilities:
-
General: uses experience and education to perform the types of engineering activities which are generally considered within the realm of firmware engineering. Uses engineering concepts, company SOPs/WIDs, department SOPs/WIDs to solve a variety of difficult engineering problems.
-
Complexity: works on problems of moderate scope and complexity.
-
Supervision: receives some oversight from a Senior or Principal Engineer.
-
Lead Eligibility: eligible to be a discipline lead on a project.
-
Mentoring: may provide mentoring for other engineers.
-
Compliance: perform all work in compliance with company policy and procedure, and within the guidelines of bioMérieux’s Quality System.
-
Documentation: creates and maintains documentation required for FDA regulation and company procedures.
Principal Decisions:
- Makes design and technical decisions subject to review by Senior, Principal, and other engineers.
Supplemental Data:
- Travel: minimal travel required.
- Team: usually works on a team with several engineers and a project manager.
Education and Experience:
- B.S. in Computer Engineering, Electrical Engineering, Computer Software, or similar
- 5 to 10 years of experience in related field, including performance consistent with said experience.
Preferred Skills:
- Embedded firmware / software
- Modern C++ in embedded systems
- STL, Smart Pointers, Exceptions, etc.
- Test-Driven Development
- Source level debugging
- Logic Analyzers, Oscilloscopes, Multimeters, etc.
- RTOS – QNX, Real-Time Linux, FreeRTOS, etc.
- Communication – I2C, SPI, CAN, USB, Ethernet, TCP, UDP, etc.
- Reading PCBA Schematics
- Good written and verbal communication skills
Beneficial Skills/Experience:
- Development of regulated products including adherence to IEC 62304
- Lua
- GNU Make
- HDL FPGA development
- Control theory, PID controllers, etc.
- Image processing, OpenCV, etc.