Firmware Engineer PCIe NVMe

Manpower Engineering

Saint Paul, MN(remote)

JOB DETAILS
JOB TYPE
Temporary
SKILLS
ARM (Advanced RISC Machine), ASIC (Application Specific Integrated Circuit), Bash Scripting, Booting, Boundary Scan, Code Reviews, Computer Engineering, Computer Firmware, Computer Programming, Computer Science, Datasheets, Debugging Skills, Device Drivers, Electrical Engineering, Embedded Processors, Embedded Software, Embedded Systems, Error Handling, Error Recovery, FPGA, Financial Control, Functional Testing, Git, Hardware Debugging, Hardware Specification, Input/Output, Integration Testing, Interoperability Testing, Linux Kernel Drivers, Logic Analyzer, Microcontroller, Microsoft Windows Device Drivers, Operating Systems, Oscilloscope, PCI Express (PCI-E), Performance Tuning/Optimization, Perl Programming Language, Power Management, Protocol Analysis, Python Programming/Scripting Language, Realtime Operating System, SCSI Bus, Scripting (Scripting Languages), Serial ATA (SATA), Simulation, Software Debugging, Solid State Drive (SSD), Source Code Control System (SCCS), Stress Testing, Technical Writing, Test Automation, Test Plan/Schedule, Unit Test, Validation Testing
LOCATION
Saint Paul, MN
POSTED
15 days ago

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, namespaces, 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 Cand/orC++ for embedded or systemslevel 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, namespaces, 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, SmartNICs, 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.

About the Company

M

Manpower Engineering