Senior Firmware Engineer; Embedded Linux
Listed on 2026-10-23
-
Software Development
Embedded Software Engineer, Embedded Systems/ Firmware/ IoT, C++ Developer
It's fun to work in a company where people truly believe in what they are doing!
The Senior Embedded Software Engineer is a hands-on technical contributor responsible for designing, developing, testing, and supporting embedded software for Neogen’s regulated instrumentation portfolio.
This role works across the embedded software stack, from board bring-up and Board Support Package (BSP) development through device applications, services, connectivity, security, and user interfaces.
Based in Oakdale, Minnesota, the Senior Embedded Software Engineer partners closely with Electrical, Mechanical, Systems, Software, Quality, Regulatory, Manufacturing, and Service teams to support new product development and sustaining engineering.
The role contributes to the development of next- generation instrumentation platforms while helping maintain and improve existing products used in food safety laboratories and production environments around the world.
Essential Duties and Responsibilities Embedded Software DevelopmentDesign, develop, test, and maintain embedded software for new and existing instrumentation products. Develop embedded Linux software across the stack, including BSPs, kernel configuration, device drivers, system services, device applications, and user interfaces. Develop and maintain software using C and C++. Develop and maintain device user interfaces using Qt. Support embedded Linux build environments using Yocto, Torizon, or similar technologies. Develop software interfaces between embedded applications, hardware, sensors, peripherals, and external systems.
Participate in software architecture and platform decisions for future instrumentation products. Create maintainable, reusable, and testable embedded software components. Participate in code reviews, design reviews, and technical discussions.
Partner with Electrical Engineering during board bring-up, hardware integration, and troubleshooting. Review electrical schematics and hardware interfaces to support software development and debugging. Develop and troubleshoot device drivers and hardware interfaces. Use oscilloscopes, logic analyzers, debuggers, and other laboratory tools to investigate hardware/software interaction issues. Support prototype hardware builds and early-stage system integration. Diagnose issues spanning embedded software, firmware, electrical hardware, and system-level behavior.
DeviceConnectivity and Security
Develop and maintain secure device connectivity capabilities. Implement device security features such as secure boot, signed software images, access controls, and secure update mechanisms. Develop and support over-the-air software and firmware update capabilities. Support communication between instruments, data-management applications, cloud services, and other connected systems. Apply appropriate security practices throughout embedded software design and development. Participate in evaluation and implementation of platform security improvements.
EmbeddedPlatform Development
Contribute to technical decisions involving operating systems, processors, BSPs, build environments, deployment models, and update strategies. Help define reusable software and platform patterns for future instrumentation products. Evaluate new technologies, tools, and architectures for applicability to Neogen products. Support development of common software components and platform capabilities that can be reused across product families. Identify opportunities to improve software maintainability, reliability, security, and development efficiency.
RegulatedProduct Development
Develop software within established product-development and design-control processes. Create and maintain software…
(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).