Senior Software Engineer
- Full-time
- Job Type (exemption status): Exempt position - Please see related compensation & benefits details below
- Salary Range: 68,900.00-91,900.00
- Business Function: Automation Development Engineering
- Work Location: Roseville California Office--LOC_WDT_USCA12
Company Description
At Western Digital, our vision is to power global innovation and push the boundaries of technology to make what you thought was once impossible, possible.
At our core, Western Digital is a company of problem solvers. People achieve extraordinary things given the right technology. For decades, we’ve been doing just that—our technology helped people put a man on the moon and capture the first-ever picture of a black hole.
We offer an expansive portfolio of technologies, HDDs, and platforms for business, creative professionals, and consumers alike under our Western Digital®, WD®, WD_BLACK™.
We are a key partner to some of the largest and highest-growth organizations in the world. From enabling systems to make cities safer and more connected, to powering the data centers behind many of the world’s biggest companies and hyperscale cloud providers, to meeting the massive and ever-growing data storage needs of the AI era, Western Digital is fueling a brighter, smarter future.
Today’s exceptional challenges require your unique skills. Together, we can build the future of data storage.
Job Description
WDC is a leading innovator in Enterprise Storage Networking. We are looking for a passionate and skilled DevOps Engineer with Linux Kernel and tools expertise to build end-to-end automation for firmware development and system validation. Create custom Linux kernel patches to enable feature development and also upstream kernel changes. Strong PCIe/NVMe protocol knowledge; comfortable with Ethernet and PCIe analyzers.
Today’s exceptional challenges require your unique skills. Together, we can build the future of data storage.
Responsibilities:
• Design reusable Python/Bash libraries and CLIs for FW build/test/regressions.
• Integrate Docker, Jenkins/GitLab CI/Azure DevOps, Gerrit/Git, Jira, test mgmt systems.
• Create custom Linux Kernel patches and upstream
• Enable FW developers with unit test harnesses, lint/format, emulation adapters.
• Implement telemetry/ETL pipelines for coverage, reliability, and performance KPIs.
• Collaborate across FW/HW/ASIC; document standards and best practices.
Qualifications
Minimum Qualifications:
- 10+ years of system level programming in C (and some assembly) with a strong track record of shipping low level code
- Deep understanding of Linux OS internals: processes, scheduling, memory management (paging, MMU, slab/slub allocators), VFS, block subsystems, networking stack.
- Direct experience modifying or upstreaming Linux kernel code, not just using kernel APIs.
- Comfort with hardware–software boundaries: interrupts, DMA, device registers, firmware handoff, PCIe, IOMMU, ACPI/DT, boot sequence.
- Automation experience in FW/system validation.
- Expert Python; linux ; kernel modules; Bash; working C/C++ for FW hooks; PowerShell as needed.
- PyTest/Robot Framework; hardware-in-the-loop experience.
- CI/CD expertise (pipelines-as-code, artifacts, secrets, flaky test mgmt).
- PCIe/NVMe, DMA/interrupts, RTOS; lab debug with logic/protocol analyzers.
- Tool integration with Gerrit/Git, Jira, test mgmt, results DBs.
- Proven log analysis and failure bucketing; strong communication/documentation.
Preferred:
- Proficiency with Linux kernel build system, Kconfig, cross-compilation, git bisection, patch submission workflow.
- Prior contributions to LKML or to a major subsystem tree.
- Ability to follow kernel coding style, patch series etiquette, and review cycles.
- Strong debugging skills: perf, ftrace, bpftrace, kgdb, crash dumps, static analysis.
- Experience with CI for kernel builds and regression testing, especially with custom hardware.
- CMake/Bazel; cross-compilers; artifact signing.
- Data stack (SQLite/PostgreSQL, Pandas); Grafana/PowerBI dashboards.
- Prior storage FW or networking ASIC validation experience.
Additional Information
Western Digital is committed to providing equal opportunities to all applicants and employees and will not discriminate against any applicant or employee based on their race, color, ancestry, religion (including religious dress and grooming standards), sex (including pregnancy, childbirth or related medical conditions, breastfeeding or related medical conditions), gender (including a person’s gender identity, gender expression, and gender-related appearance and behavior, whether or not stereotypically associated with the person’s assigned sex at birth), age, national origin, sexual orientation, medical condition, marital status (including domestic partnership status), physical disability, mental disability, medical condition, genetic information, protected medical and family care leave, Civil Air Patrol status, military and veteran status, or other legally protected characteristics. We also prohibit harassment of any individual on any of the characteristics listed above. Our non-discrimination policy applies to all aspects of employment. We comply with the laws and regulations set forth in the "Know Your Rights: Workplace Discrimination is Illegal” poster. Our pay transparency policy is available HERE
Western Digital 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.
Western Digital 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.
#LI-MT