Our client, an engineering services company based in Bozeman, MT, specializing in advanced solutions, is seeking a Firmware Engineer.
In this role, you will design and implement firmware for various hardware platforms, including bare metal, RTOS-based, and Linux environments.
You will work closely with hardware designers to ensure seamless integration and optimize system performance. Additionally, you will be involved in board bring-up, debugging, and verification processes, contributing to the successful delivery of complex hardware projects.
The salary for this role ranges from $160k to $180k, depending on skills and experience. Our client also offers medical, dental, and vision insurance, as well as PTO, a matched 401(k), and relocation assistance if needed.
Due to the nature of the work, candidates must be U.S. citizens or Green Card holders.
Key responsibilities :
- Design and develop firmware for bare metal, RTOS-based, and Linux environments.
- Write and optimize code for microprocessors and FPGA soft processors across different hardware designs.
- Collaborate with hardware engineers to ensure firmware-hardware integration and enhance HW-FW interactions.
- Perform debugging and testing of hardware by creating and executing code to verify functionality and test peripherals.
- Oversee and maintain codebases for projects at various stages of development.
- Identify and implement enhancements in firmware architecture and development methodologies.
Experience required :
- At least 8 years of professional experience in firmware development.
- Bachelor’s degree in Electrical Engineering, Computer Engineering, or a related discipline.
- Demonstrated experience in product development with the ability to work independently.
- Advanced proficiency in C and C++ programming languages.
- Solid experience with embedded Linux environments.
- Expertise in designing and implementing RTOS-based firmware solutions.
- Proficiency in hardware debugging using oscilloscopes and logic analyzers.
- Experience with Ethernet communications, USB HID, and USB High-Speed Interfaces.
- Familiarity with version control systems, build tools, and unit testing practices.
- Ability to rapidly understand and navigate existing codebases.
- Experience with Python and FPGA design in Verilog is advantageous.