Responsibilities
● Architect & improve a robust firmware tree that supports iterative improvement and
long-term maintainability.
● Make architectural firmware decisions & drive development from prototype to release
● Help create scalable firmware processes for a growing company
● High level of proficiency in low level C/C++ programming
● Bare metal firmware development
● Utilize a multitude of embedded peripherals for precision timing of events
● Comfortable with low level code optimization and the associated tradeoffs
● Create and maintain firmware documentation in company knowledge base
● Write firmware for a variety of embedded systems for both internal and external
customers
● Collaborate with the software & product teams to ensure end-to-end product
conformance and functionality
Qualifications
● 5+ years of relevant experience
● Bachelor’s degree in computer engineering, computer science, mechatronics,
electrical engineering, or related fields.
● Experience with real time operating systems (RTOS)
● Experience with ARM microcontrollers
● C/C++ development for embedded systems, including bare metal development
● Possesses a good understanding of common circuits and electronic debugging
techniques
● Familiarity with oscilloscopes, logic analyzers, and other common lab equipment
● Comfortable with and capable of solving very complex and ambiguous problems
● Understanding of common software development processes and an ability to work
closely with other software engineers
● Able to manage multiple projects simultaneously
● Must be able to develop a broad understanding of our system as a whole, in order to
make firmware tree decisions that will result in long-term maintainable code.
Nice to Haves
● Experience with Nordic Semiconductor SoC’s
● Python experience
● C# experience
Job Type: Full-time
Pay: $95,000.00 - $140,000.00 per year
Benefits:
- 401(k)
- Dental insurance
- Health insurance
Schedule:
Application Question(s):
- Do you have high level of proficiency in low level C/C++ programming? Y/N
Education:
Experience:
- Firmware: 1 year (Required)
- Bare metal firmware development: 1 year (Required)
- RTOS: 1 year (Required)
- ARM: 1 year (Required)
Work Location: In person