Windows Device Driver

San Diego, California

LanceSoft, Inc.
Apply for this Job

Pay Rate- $57 - $62 hourly on W2


Job Description

Client, Inc. is a leading technology company specializing in high-performance computing, AI accelerators, and software optimization across diverse platforms. We provide cutting-edge solutions in machine learning, compiler optimization, and system software development. Our team thrives on solving complex challenges in software-hardware co-design, ensuring our customers achieve maximum efficiency and performance across architectures. Client is looking for a Windows Driver Developer with the attributes as described below.


Core Skills and Knowledge

Windows Driver Development


• Strong understanding of Windows Driver Model (WDM) and Windows Driver Frameworks (KMDF/UMDF).


• Experience with Windows Hardware Lab Kit (HLK) and Driver Verifier for debugging and certification.


• Familiarity with INF files and driver signing requirements.


PCIe Architecture & Protocol


• Deep understanding of PCI Express (PCIe) protocol, including enumeration, BARs (Base Address Registers), MSI/MSI-X, and DMA.


• Experience with PCI Configuration Space and MMIO/PIO access.


• Debugging PCIe transactions using hardware analyzers or tools like PCIeView.


Windows Kernel Programming


• Experience with kernel-mode programming and IRQL (Interrupt Request Levels).


• Handling memory-mapped I/O (MMIO) and interrupts in Windows.


• Working with Device Object (PDO/FDO) and Power Management (PnP, D3 states).


Driver Development Tools


• Expertise in WinDbg for debugging Windows drivers.


• Experience using Windows Driver Kit (WDK) and Visual Studio for driver development.


• Proficiency with Devcon, PCI Tree, and Device Manager for testing and troubleshooting.


Experience with Stub Drivers


• Writing stub drivers to simulate hardware behavior in a test environment.


• Developing bus or function drivers to provide a controlled interface for software testing.


• Working with WDF (KMDF/UMDF) for user-mode stubs or NTDLL APIs for system calls.


Additional Experience


• Prior experience with firmware development for PCIe devices.


• Knowledge of C/C and experience with Windows API.


• Understanding of security aspects in driver development, such as buffer overflows and kernel protection mechanisms.


• Experience with virtualization technologies and how PCIe passthrough works in environments like Hyper-V.


General Requirements


• Bachelor's or Master's degree in Computer Science or equivalent


• Strong debugging and problem-solving skills.


• Ability to collaborate effectively across engineering teams.


• Strong verbal and written communication skills.


• Willingness to work outside one's comfort zone and tackle complex engineering challenges.

Date Posted: 02 May 2025
Apply for this Job