Staff Firmware Engineer
Role details
Job location
Tech stack
Job description
We are currently seeking a Staff Firmware Engineer with a minimum of 10 years of experience to join our team in Eden Prairie, MN. This role is an excellent opportunity for individuals who embody our core values-Inclusion, Innovation, Execution, and Customer Success-and who are passionate about building, delivering, and supporting cutting-edge connected solutions and services, * Design and develop firmware for embedded communication and networking devices using Cellular/GNSS, WiFi/BLE and CAN bus.
- Collaborate with hardware engineers to ensure hardware-firmware compatibility and optimize performance.
- Debug, test, and troubleshoot firmware, often using tools like JTAG and SWD
- Write and maintain technical documentation for firmware designs.
- Lead code reviews, enforce coding standards, and ensure firmware quality.
- Mentor junior engineers and provide technical guidance.
- Support automated testing strategies, including unit tests, subsystem tests, and hardware-in-the-loop tests
Requirements
Must Haves
-
Bachelor's degree in Computer Science or Computer Engineering
-
10+ years of embedded firmware development experience
-
Expert-level proficiency in C/C++languages for embedded systems and profiency in Python for test automation
-
Experience with both super loop and RTOS based firmware architectures, including drivers, HAL, and board bring-up
-
Experience with networking and security protocols such as TCP/UDP/IP, SSL/TLS, HTTP(s), etc.
-
Experience in developing firmware integrating Cellular, Satellite, Wi-Fi/Bluetooth and CAN communication modules. Strong understanding of microcontrollers and internal architectures, with the ability to interpret hardware specifications and schematics Hands on experience using digital oscilloscopes and logic analyzers
-
Excellent analytical and problem-solving skills Strong written and verbal communication skills
Nice to have
- Experience with embedded Linux based firmware architectures
- Experience with secure boot, secure firmware updates (OTA), and cybersecurity on embedded devices
- Experience with J1939 and J1979-2 CAN bus protocols and Vector CANalyzer and Kvaser/CANTrace tools
- Experience with AI powered IDEs and coding assistants for embedded firmware development