We're searching for a talented Firmware Engineer to design, develop, and implement the software necessary to control hardware subsystems inside our medical diagnostics device — including pressure, motion, temperature, camera, barcode scanner, display, and consumable subsystems — in an R&D environment. You will work closely with a multi-disciplinary team including other software engineers, mechanical and electrical engineer as well as microbiologists, material scientists, chemists, and biomedical engineers. We are seeking someone who will embrace our mission and flourish in a dynamic, rigorous, and entrepreneurial environment.
90 Day Goals
- Familiarize yourself with Pattern hardware subsystems, existing firmware designs and implementation.
- Implement basic firmware for testing boards and basic subsystem functionality.
6 Month Goals
- Design, implement, and test firmware based on software requirements and integrate into the Pattern software stack.
- Design and implement control and calibration algorithms (temperature control, pressure control, instrument calibration, etc.).
- Familiarize yourself with remaining Pattern software stack.
How You Will Contribute
- Collaborate with mechanical and electrical engineers on instrument development and troubleshooting.
- Adapt firmware solutions as needed when requirements shift or expand with continued R&D.
- Develop and execute unit, integration, system, and stress testing; investigate, and resolve issues; and perform debugging.
- Contribute meaningfully to hardware design reviews as the firmware representative.
Core Competencies Required
- Embedded software development and real-time debugging
- API/Protocol design for embedded systems
- Communication protocols such as: RS-232, UART, I2C, SPI, USB
- Linux / Unix
- Designing, implementing, and testing low level software
- Understanding hardware schematics
- Control algorithms
- Firmware updates
- Linear algebra
- Linux kernel experiencee
- Design, implement, and test control algorithms and high level software
We'd Love to Hear from You if You
- Are passionate about embedded and low-level software.
- Follow a systematic and logical approach to root causing issues and debugging hard problems.
- Are detail oriented.
- Are logical.
- Excel in technical problem solving.
- Have a strong grasp of basic mathematics including calculus and linear algebra.
- Flourish in a fast-paced, research environment with slightly shifting targets.
- Communicate well in oral and written formats including communicating software needs and solutions to non-technical audiences.
- Excel in data analysis and deriving helpful insights to inform problem-solving.
- Have an outstanding work ethic and passion for multi-disciplinary product development.
- Have a drive to innovate, find and solve problems.
- Can work independently and in a collaborative setting.
- Love to learn and grow your skills.
Education & Experience
- BS in Computer Science, Computer Engineering, or Electrical Engineering
- (Preferred) At least 3-4 years of experience with embedded systems