Firmware/Embedded Software Engineer
Listed on 2026-11-01
-
Software Development
Embedded Systems/ Firmware/ IoT, C++ Developer, Embedded Software Engineer, Software Engineer
Job Title: Firmware/Embedded Software Engineer
Location: Ogden, UT
About Us: Cubiscan is an employee-owned (ESOP) technology company that develops innovative solutions for data collection, automation, logistics, and supply chain. With our experience, we guide our customers to solutions that help them be more efficient, profitable, and environmentally responsible. At Cubiscan, every eligible employee is a beneficial owner of the company. We pride ourselves on fostering a positive and inclusive work environment where every employee is valued and can grow with the company.
Job Summary: Cubiscan is seeking an experienced Firmware/Embedded Software Engineer with a minimum of five or more years of professional experience in embedded software or firmware development. This individual will be responsible for designing, developing, maintaining, and optimizing low-level firmware for both legacy Cubiscan systems and next-generation products.
The position requires strong proficiency in C/C++ programming, hands‑on experience with microcontrollers and processors, and a solid understanding of hardware‑software integration. Development will primarily involve NXP processors, including the RT1064, i.MX8, LPC series, and emerging i.MX9 platforms, as well as other microcontroller technologies as needed.
The ideal candidate will possess strong mathematical and analytical skills, experience with point‑cloud processing, and familiarity with real‑time operating systems (RTOS) and embedded Linux environments. Success in this role requires independent problem‑solving, effective technical communication, and the ability to collaborate with electrical engineers and other cross‑functional teams.
Key Responsibilities:- Program and optimize firmware for NXP microcontrollers including RT1064, i.MX8, i.MX9, LPC
3250, and LPC
4357. - Develop low‑level drivers and application code using tools that include IAR Embedded Workbench, VS Code, Git Hub, etc.
- Implement hardware interfaces and communication protocols, specifically Ethernet, I2C, SPI, USB, etc.
- Diagnose and resolve complex firmware and hardware integration issues using appropriate debugging tools, diagnostic equipment, and systematic troubleshooting techniques.
- Integrate networking capabilities and manage embedded file systems for robust device operations.
- Apply strong mathematical skills to develop algorithms for precise data processing, sensor integration, point‑cloud usage within Cubiscan devices.
- Usage of code repositories with Git Hub.
- Develop using RTOS's and Linux operating systems using C, C++.
- Collaborate with customers when customization needs are required.
- Ability to travel as needed.
- On occasion, willing to work after hours supporting customers or installation teams.
- Closely work with our electrical engineering team.
- Self-motivated, positive attitude, good interpersonal skills, and ability to work well with others.
- Perform other duties as needed.
- Bachelor's degree in Computer Engineering, Computer Science, Electrical Engineering, or a closely related technical or engineering field.
- Minimum of five years of professional experience in embedded software or firmware development, including hands‑on programming and hardware integration.
- Demonstrated experience developing and programming firmware for microcontrollers or microprocessors.
- Strong proficiency in C and C++ programming, particularly in embedded systems and low‑level firmware development.
- Hands‑on experience developing software in real‑time operating system (RTOS) or bare‑metal environments.
- Ability to troubleshoot and debug embedded software and hardware interactions.
- Proficiency in communicating effectively in English, both verbally and in writing, within a professional work environment.
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).