Firmware Engineer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+6 more
Job description
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., * Maintain and enhance embedded software for existing product lines.
- Own 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.
- Work in an Agile environment using Atlassian toolset
Requirements
Education: Bachelors Degree in Electrical, Electronic, Computer Science or Computer Engineering, * 5+ years’ experience in embedded software development and writing C and/or assembly code for microcontrollers such as Microchip PIC, Freescale/NXP, ST, Cortex M3/M0 and Atmel.
- Mastery of C language programming as it pertains to an embedded environment.
- Strong understanding of computer architecture and embedded software development best practices, with significant experience in low level development and programming.
- Real time development experience with and without an RTOS.
- Knowledge of communication interfaces, such as SPI, I2C, I2S, UART, CAN, USB, BLE, Wi-Fi, and Ethernet.
- Ability to read schematics to troubleshoot, debug and bring up new hardware using oscilloscopes, logic analyzers, protocol analyzers and in-circuit emulators.
- Experience programing peripheral hardware at the register level.
- Working knowledge of C++.
- Working knowledge of IoT principles and methods
- Familiarity with OOP design principles.
- Familiarity with various ARM architectures (e.g. Cortex M4, M7, etc.).
- Familiarity with security basics (e.g. TrustZone, security certificates, etc.).
Soft Skills:
- 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.
- Disciplined engineering approach.
- Differentiates value added activities from waste.
- Demonstrates systems thinking.
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Talks and stories from around this role — technically off-topic, practically not.
Moments
Explore playlistsVideos
See allRelated articles
See all
7 Important Tips That Every Software Developer Should Know
Top Characteristics of a Software Engineer
Is Software Engineering Hard?
Software Engineer Career: Things You Should Know