The Firmware Engineer will develop and support our industry-leading traffic products. The successful candidate will help create products that allow the visually impaired to safely experience the world on their own terms.
JOB DUTIES:
Include but are not limited to the following:
Maintain and enhance embedded software for existing product lines.
Participate in the embedded software system design cycle from requirements through launch and beyond.
Design, develop, code, test, and debug embedded software.
Integrate, verify, and validate new product designs and design changes.
Perform design and code reviews.
Interface with a cross-functional engineering team.
Support the Tech Support team with intimate product knowledge.
Contribute to a fun and innovative work environment.
MINIMUM EXPERIENCE:
TECHNICAL SKILLS:
SOFT SKILLS:
Bachelor’s Degree in Computer Science, Electrical, Electronic, or Computer Engineering
5+ years of experience
Strong understanding of embedded software development best practices.
Familiarity with various ARM architectures (e.g. Cortex M4, M7, etc.).
Familiarity with security basics (e.g. AES, TRNG, security certificates, etc.).
Experience with common interfaces, such as SPI, I2C, I2S, UART, USB, Bluetooth LE, Wi-Fi, and Ethernet.
Familiarity with networking concepts and protocols (UDP, TCP, HTTP, REST, CoAP).
Ability to read schematics to troubleshoot, debug and bring up new hardware using oscilloscopes, logic analyzers, protocol analyzers and in-circuit emulators.
Mastery of C language programming as it pertains to an embedded environment.
Familiarity with OOP design principles, especially abstraction and encapsulation.
Real time development experience with and without an RTOS.
Experience programing peripheral hardware at the register level and developing peripheral driver code.
Strong firmware debugging skills.
Experience with version control systems like git.
Familiarity with Linux.
Strong interpersonal, analytical, organizational and follow-up skills.
Solid problem-solving skills. Highly technical, quickly grasping how things work.
Presents technical concepts, ideas, and information in terms that both engineers and non-engineers can understand.
Motivated by continuous learning and development.
Functions well in a small company/startup environment. (High visibility, accountability, and development velocity)
Ability to work independently with minimal supervision, and collaboratively with a cross functional team.