×
Register Here to Apply for Jobs or Post Jobs. X

Firmware Engineer PCIe NVMe

Job in Saint Paul, Ramsey County, Minnesota, 55145, USA
Listing for: ManpowerGroup
Full Time position
Listed on 2026-06-01
Job specializations:
  • Software Development
    Embedded Software Engineer, Embedded Systems / Firmware
Job Description & How to Apply Below
A reputable client of ours is seeking a  
** Firmware Engineer
** with strong experience in  
** PCIe** ,  
** NVMe** , and low-level driver development to help design, implement, debug, and optimize firmware and software interfaces for high-performance storage or embedded systems.

The ideal candidate has hands-on experience working close to hardware, understands PCIe transaction layers and NVMe command flows, and is comfortable debugging complex interactions between firmware, drivers, operating systems, and silicon.  Our client is headquartered out of Minneapolis, MN but this role can work remote. Candidates MUST be US Citizens.

*
* Job Title:

** Firmware Engineer PCIe NVMe

** Duration:
** Contact to Direct

*
* Location:

** Minneapolis, MN (REMOTE)

** Pay Rate:
** DOE

** Key Responsibilities*
* + Design, develop, and maintain firmware for PCIe and NVMe-based devices.

+ Implement and debug lowlevel driver and firmware features related to NVMe controllers, PCIe endpoints, DMA engines, interrupt handling, queues, and command processing.

+ Work with PCIe concepts such as enumeration, BARs, MSI/MSIX, link training, LTSSM, power management, error handling, and performance tuning.

+ Develop and validate NVMe functionality including admin commands, I/O queues, name spaces, submission/completion queues, doorbells, PRPs/SGLs, and error recovery flows.

+ Bring up firmware on FPGA, emulation platforms, presilicon environments, and/or production silicon.

+ Debug hardware/software interactions using tools such as protocol analyzers, logic analyzers, JTAG, oscilloscopes, trace buffers, and firmware logs.

+ Collaborate with hardware, ASIC, validation, systems, and software driver teams to rootcause issues.

+ Optimize firmware for performance, latency, reliability, and resource usage.

+ Develop unit tests, integration tests, and validation utilities for firmware and driver functionality.

+ Support compliance, interoperability, and stress testing for PCIe and NVMe products.

+ Participate in architecture reviews, code reviews, and technical documentation.

** Required Qualifications*
* + Bachelor's or Master's degree in Electrical Engineering, Computer Engineering, Computer Science, or a related field.

+ Strong programming experience in  
** C*
* ** and/or*
* ** C++
** for embedded or systems level software.

+ Experience developing or debugging firmware, device drivers, bootloaders, or lowlevel embedded software.

+ Familiarity with  
** PCIe architecture** , including configuration space, BAR mapping, interrupts, DMA, link states, and error reporting.

+

Experience with the  
** NVMe protocol** , including command sets, queue management, name spaces, and host/controller interactions.

+ Understanding of operating system driver models, preferably Linux kernel, Windows driver framework, or embedded RTOS environments.

+ Strong debugging skills across firmware, software, and hardware boundaries.

+ Experience reading hardware specifications, register maps, datasheets, and protocol standards.

+ Comfortable working with source control systems such as Git.

** Preferred Qualifications*
* +

Experience with NVMe SSDs, storage controllers, computational storage, Smart

NICs, accelerators, or PCIe endpoint devices.

+ Handson experience with Linux kernel driver development.

+ Familiarity with PCIe Gen3, Gen4, Gen5, or newer.

+

Experience with NVMeMI, SR-IOV, CMB, PMR, ZNS, FDP, or other advanced NVMe features.

+

Experience with UEFI, boot firmware, secure boot, or platform initialization.

+ Knowledge of embedded processors such as ARM, RISCV, ARC, or custom microcontrollers.

+

Experience with firmware performance profiling and latency optimization.

+ Familiarity with scripting languages such as Python, Bash, or Perl for automation and testing.

+

Experience with presilicon simulation, FPGA bring-up, or ASIC validation.

+ Familiarity with storage protocols beyond NVMe, such as SATA, SAS, UFS, or SCSI, is a plus.

Manpower Group is committed to providing equal employment opportunities in a professional, high quality work environment. It is the policy of Manpower Group and all of its subsidiaries to recruit, train, promote, transfer, pay and take all employment actions without regard to an employee's race, color, national origin, ancestry, sex, sexual orientation, gender identity, genetic information, religion, age, disability, protected veteran status, or any other basis protected by applicable law.
To View & Apply for jobs on this site that accept applications from your location or country, tap the button below to make a Search.
(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).
 
 
 
Search for further Jobs Here:
(Try combinations for better Results! Or enter less keywords for broader Results)
Location
Increase/decrease your Search Radius (miles)
0
200
Filters
Education Level
Experience Level (years)
Posted in last:
Salary