Staff Firmware Engineer

Sandisk

Bengaluru

On-site

INR 4,000,000 - 7,000,000

Full time

11 days ago

Get more replies from employers

Send a job-specific resume in minutes.

Job summary

Sandisk Bengaluru is seeking a seasoned User-Mode Driver (UMD) / system software engineer to advance the host-side software stack for ML workloads in a PCIe Flash Controller project. You will design high-performance user-space driver frameworks, multi-device management, and a custom NVMe-like protocol, interfacing with kernel drivers via ioctl/mmap, to deliver scalable, low-latency data flows.

You will architect and implement user-space driver libraries, design topology for multi-card

Qualifications

  • 8+ years in system software or runtime development.
  • Experience building user-space drivers, runtime libraries, or high-performance software interfacing with kernel interfaces (ioctl, mmap, eventfd).
  • Deep understanding of PCIe and NVMe-like queue models and async execution.
  • Mastery of C/C++ and memory management, concurrency, and virtual memory.
  • Experience designing scalable APIs for complex hardware/software systems.
  • Strong debugging across user-space, kernel, and hardware boundaries.

Responsibilities

  • Architect and implement high-performance user-space driver libraries for Linux.
  • Design scalable multi-card/multi-endpoint device topologies.
  • Develop a custom NVMe-like command/control protocol and host-side orchestration.
  • Implement kernel interface integration via ioctl, mmap, and event mechanisms.
  • Design memory movement strategies with DMA buffers, pinning, and zero-copy paths.
  • Support multi-process access with per-file descriptor resource management.

Skills

User-space drivers
Runtime libraries
Kernel interfaces
PCIe/NVMe concepts
C/C++
Memory management
Concurrency
System architecture
Problem solving
Bachelor/Master degree

Education

Bachelor's or Master's degree in CS/EE

Job description

  • Job Type (exemption status): Exempt position - Please see related compensation & benefits details below
  • Business Function: Firmware Engineering
Company Description

Sandiskunderstands how people and businesses consume data and we relentlessly innovate to deliver solutions that enable today’s needs and tomorrow’s next big ideas. With a rich history of groundbreaking innovations in Flash and advanced memory technologies, our solutions have become the beating heart of the digital world we’re living in and that we have the power to shape.

Sandiskmeets people and businesses at the intersection of their aspirations and the moment, enabling them to keep moving and pushing possibilityforward. We do this through the balance of our powerhouse manufacturing capabilities and our industry-leading portfolio of products that are recognized globallyforinnovation, performance and quality.

Sandiskhas two facilities recognized by the World EconomicForum as part of the Global Lighthouse Networkforadvanced 4IR innovations. These facilities were also recognized as Sustainability Lighthousesforbreakthroughs in efficient operations. With our global reach, we ensure the global supply chain has access to the Flash memory it needs to keep our world movingforward.

Job Description

We are seeking a talented and driven User-Mode Driver (UMD) / system software engineerto join our team and contribute to the host-side software stack for machine learning in the Next Gen Computational PCIe Flash Controller project. In this role, you will be responsible for building high-performance user-space driver frameworks and runtime interfacesthat enable efficient communication and data flow between applications and our device via the kernel driver. You will work on key components including user-space APIs, command queues, memory orchestration, and multi-device management to enable scalable ML workloads.

User-Mode Driver Development:Architect and implement high-performance user-space driver libraries for Linux. This includes designing scalable abstractions for multi-device and multi-card systems, and enabling efficient interaction with PCIe devices through kernel interfaces.

Device Discovery & Topology Management:Design and implement mechanisms for PCIe device discovery, enumeration, and logical grouping across multiple endpoints and cards. Develop topology-aware abstractions for managing devices in complex multi-card and switched environments.

Custom Protocol Design:Design and implement a custom, NVMe-like command and control protocol in user space. You'll be responsible for the host-side orchestration, including:

  • Command Queues:Manage submission and completion queue abstractions and request tracking
  • Command Orchestration:Implement tag-based request management, async/sync execution, and callback handling

User Kernel Interface Integration:Develop efficient interaction with the kernel driver using ioctl, mmap, and event mechanisms. Translate high-level runtime requests into kernel-mediated operations while maintaining performance and isolation.

Memory & Dataflow Management:Design user-space data movement strategies, including DMA buffer lifecycle management, memory pinning workflows, and zero-copy data paths for efficient host-device communication.

Multi-Application Support:Enable concurrent multi-process access to devices using per-file descriptor resource management, ensuring isolation, scalability, and robustness across workloads.

Collaboration:Work closely with runtime, kernel driver, firmware, and hardware teams to define clean interfaces and deliver a cohesive, high-performance end-to-end solution.

Qualifications

Qualifications

Experience:8+ years in system software or runtime development.

User-Space Systems Expertise:Strong experience building user-space drivers, runtime libraries, or high-performance system software interacting with kernel interfaces (ioctl, mmap, eventfd).

Protocol Knowledge:Deep understanding of PCIe and NVMe-like queue models, including submission/completion queues, descriptors, and asynchronous execution patterns.

Low-Level Proficiency:Mastery of C/C++ and strong understanding of memory management, concurrency, and virtual memory.

System Architecture:Experience designing scalable APIs and abstractions for complex hardware/software systems.

Problem-Solving:Exceptional debugging and analytical skills across user-space, kernel, and hardware boundaries.

Education:Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.

Additional Information

Sandisk thrives on the power and potential of diversity. As a global company, we believe the most effective way to embrace the diversity of our customers and communities is to mirror it from within. We believe the fusion of various perspectives results in the best outcomes for our employees, our company, our customers, and the world around us. We are committed to an inclusive environment where every individual can thrive through a sense of belonging, respect and contribution.

Sandisk is committed to offering opportunities to applicants with disabilities and ensuring all candidates can successfully navigate our careers website and our hiring process. Please contact us atjobs.accommodations@sandisk.com to advise us of your accommodation request. In your email, please include a description of the specific accommodation you are requesting as well as the job title and requisition number of the position for which you are applying.

By clicking the link above or any third-party link within this posting, you are leaving this site and going to a third-party website where the third-party website's terms and privacy policy apply

Get your free, confidential resume review.
or drag and drop your file here.
Similar jobs

Similar jobs worth comparing

Staff Test Engineer - Kernel Drivers (9-13 years)
Staff Test Engineer - Kernel Drivers (9-13 years)

Sandisk • Bengaluru

On-site
INR 2,800,000 - 6,000,000
Associate Engineer, Firmware Engineering ( 2+ years)
Associate Engineer, Firmware Engineering ( 2+ years)

Sandisk • Bengaluru

On-site
INR 900,000 - 1,200,000
Engineer, Systems Design Engineering
Engineer, Systems Design Engineering

Sandisk • Bengaluru

On-site
INR 1,500,000 - 2,300,000
Senior Staff Test Engineer - Linux Kernel Driver Testing
Senior Staff Test Engineer - Linux Kernel Driver Testing

SanDisk India Device Design Centre Pvt.Ltd • Bengaluru

On-site
INR 2,600,000 - 3,800,000
Staff Software Engineer - Development ( Firmware, UFS validation with C and C++ experience) 9 t[...]
Staff Software Engineer - Development ( Firmware, UFS validation with C and C++ experience) 9 t[...]

Sandisk • Bengaluru

On-site
INR 4,000,000 - 7,000,000
Staff Product Validation Engineer
Staff Product Validation Engineer

Sandisk • Bengaluru

On-site
INR 3,500,000 - 5,800,000
Senior Firmware Engineer (5-9 Years)
Senior Firmware Engineer (5-9 Years)

SanDisk • Bengaluru

Hybrid
INR 1,200,000 - 1,600,000
Staff Engineer, VLSI Design Engineering (UVM, System Verilog) with 8 to 12 years of experience
Staff Engineer, VLSI Design Engineering (UVM, System Verilog) with 8 to 12 years of experience

Sandisk • Bengaluru

On-site
INR 4,000,000 - 8,000,000
Senior Product Development Engineer (Semiconductor Device Physics, Semiconductor Fabrication flow and design with 3 to 5 years)
Senior Product Development Engineer (Semiconductor Device Physics, Semiconductor Fabrication flow and design with 3 to 5 years)

Sandisk • Bengaluru

On-site
INR 1,200,000 - 2,400,000
Staff Product Validation Engineer ( NVME / PCIe/ MI ) SSD Validation
Staff Product Validation Engineer ( NVME / PCIe/ MI ) SSD Validation

Sandisk • Bengaluru

On-site
INR 4,000,000 - 7,000,000