Staff Firmware Engineer

Sorry, this job was removed at 01:59 p.m. (UTC) on Monday, Aug 31, 2026
Be an Early Applicant
Bengaluru, Bengaluru Urban, Karnataka, IND
In-Office
Senior level
Hardware • Information Technology • Semiconductor • Manufacturing
The Role
Design and implement high-performance Linux user-space driver libraries and runtimes for PCIe devices. Build NVMe-like command protocols, command queues, memory/DMA management, user↔kernel interfaces (ioctl/mmap/eventfd), multi-device and multi-process support, and collaborate with kernel, firmware, runtime, and hardware teams to deliver scalable ML-focused host-side software.
Summary Generated by Built In
Company Description

Sandisk understands 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.

Sandisk meets people and businesses at the intersection of their aspirations and the moment, enabling them to keep moving and pushing possibility forward. We do this through the balance of our powerhouse manufacturing capabilities and our industry-leading portfolio of products that are recognized globally for innovation, performance and quality.

Sandisk has two facilities recognized by the World Economic Forum as part of the Global Lighthouse Network for advanced 4IR innovations. These facilities were also recognized as Sustainability Lighthouses for breakthroughs 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 moving forward.

    Job Description

    We are seeking a talented and driven User-Mode Driver (UMD) / system software engineer to 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 interfaces that 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
    • Event Handling: Design event-driven completion handling using poll/eventfd mechanisms

    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 at [email protected] 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.

    Skills Required

    • 8+ years in system software or runtime development.
    • Experience building user-space drivers, runtime libraries, or high-performance system software interacting with kernel interfaces (ioctl, mmap, eventfd).
    • Deep understanding of PCIe and NVMe-like queue models, submission/completion queues, descriptors, and async execution.
    • Mastery of C and C++ with strong understanding of memory management, concurrency, and virtual memory.
    • Experience designing scalable APIs and abstractions for complex hardware/software systems.
    • Strong debugging and analytical skills across user-space, kernel, and hardware boundaries.
    • Bachelor's or Master's degree in Computer Science, Electrical Engineering, or a related field.

    Sandisk Corporation Compensation & Benefits Highlights

    The following summarizes recurring compensation and benefits themes identified from responses generated by popular LLMs to common candidate questions about Sandisk Corporation and has not been reviewed or approved by Sandisk Corporation.

    • Fair & Transparent Compensation Pay is considered competitive across many roles, with compensation often described as fair for the work. Technical roles are characterized as aligned with market expectations in semiconductor and storage.
    • Healthcare Strength The official program highlights comprehensive medical, dental, and vision coverage with wellness and caregiving support. Employer-verified materials describe a generally strong U.S. health benefits package.
    • Retirement Support A 401(k) plan with company match is explicitly called out and positioned as a core benefit. Retirement and savings options are emphasized as part of a well-rounded total rewards offering.

    Sandisk Corporation Insights

    Similar Jobs

    Micron Technology Logo Micron Technology

    Staff Engineer

    Artificial Intelligence • Hardware • Information Technology • Machine Learning
    In-Office
    Bengaluru, Bengaluru Urban, Karnataka, IND
    45000 Employees

    Micron Technology Logo Micron Technology

    Staff Engineer

    Artificial Intelligence • Hardware • Information Technology • Machine Learning
    In-Office
    Bengaluru, Bengaluru Urban, Karnataka, IND
    45000 Employees
    In-Office
    Bangalore, Bengaluru Urban, Karnataka, IND
    1442 Employees
    In-Office
    Bengaluru, Bengaluru Urban, Karnataka, IND
    180 Employees
    Get Personalized Job Insights.
    Our AI-powered fit analysis compares your resume with a job listing so you know if your skills & experience align.

    The Company
    HQ: Milpitas, CA
    11,000 Employees
    Year Founded: 1988

    What We Do

    Sandisk is a leading developer, manufacturer, and provider of data storage devices and solutions based on NAND flash technology, including memory cards, USB flash drives, and solid-state drives (SSDs).

    Similar Companies Hiring

    Amalgamated Sugar Thumbnail
    Food • Greentech • Agriculture • Industrial • Manufacturing
    Boise, Idaho
    768 Employees
    Golden Pet Brands Thumbnail
    Digital Media • eCommerce • Information Technology • Marketing Tech • Pet • Retail • Social Media
    El Segundo, California
    178 Employees
    Revel.io Thumbnail
    Aerospace • Hardware • Robotics • Software
    US
    50 Employees

    Sign up now Access later

    Create Free Account

    Please log in or sign up to report this job.

    Create Free Account