Principal Engineer, Software Development Engineering

  • Full-time
  • Job Type (exemption status): Exempt position - Please see related compensation & benefits details below
  • Business Function: Software Development Engineering (Apps)
  • Work Location: Remote Office - Canada--LOCATION-3-279

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.

We are a key partner to some of the largest and highest growth organizations in the world. From energizing the most competitive gaming platforms, to enabling systems to make cities safer and cars smarter and more connected, to powering the data centers behind many of the world’s biggest companies and public cloud, Western Digital is fueling a brighter, smarter future.

Binge-watch any shows, use social media or shop online lately? You’ll find Western Digital supporting the storage infrastructure behind many of these platforms. And, that flash memory card that captures and preserves your most precious moments? That’s us, too.

We offer an expansive portfolio of technologies, storage devices and platforms for business and consumers alike. Our data-centric solutions are comprised of the Western Digital®, G-Technology™, SanDisk® and WD® brands.

Today’s exceptional challenges require your unique skills. It’s You & Western Digital. Together, we’re the next BIG thing in data.

Job Description

The power of data is undeniable. A world that’s more predictive, more productive and more personal enables smarter decisions, breakthrough discoveries and deeper connections. As a leading provider of data storage devices and solutions, Western Digital delivers the possibilities of data. Join the team, and define what’s possible.  

We are seeking an experienced engineer to be a part of the Software Development Team.  The team's primary objective is to develop WD’s proprietary software tools used across the company for firmware development, testing, failure analysis, and debugging issues.  The team works closely with cross functional teams made up of firmware engineers, customer teams, system integration, test development and execution, to design a robust and versatile tool and environment.  The tool set is essential to the development and support of cutting-edge technologies.   

 

ESSENTIAL DUTIES AND RESPONSIBILITIES:

  • Work in a fast paced, user-focused team to develop and support a comprehensive tool set for new HDD and SSD technologies.
  • Work across different functional areas to identify, plan, and coordinate.
  • Participate in Scrum & Agile processes to plan, execute, and coordinate the team’s work.
  • Adapt tool set to changing customer/ firmware requirements, operating system/ user environments, and future architectural needs.
  • Perform failure analysis to support a varied user base.  
  • Help develop and improve our internal processes the team’s efficiency and performance.
  • Be part of the team to deliver next gen cutting-edge storage products with SAS, SATA and PCIe interfaces
  • Design and develop debug infrastructure for enabling quick diagnosis of failures
  • Design and develop applications to collect and analyze diagnostic data, debug logs and event data
  • Develop unit and system firmware tests to ensure quality in both emulated and hardware environments
  • Provide guidance to Quality Assurance teams for system level product test execution
  • Drive issue resolution and product stability to enable predictable and high quality product development 

Qualifications

REQUIRED:    

  • BS or MS degree in Computer/Electrical Engineering, Computer Science, or related field
  • 7+ years of experience in embedded firmware development
  • Strong programming experience and demonstrated proficiency in C/C++ for RTOS embedded systems
  • Ability to analyze complex firmware & hardware issues
  • Strong debugging skills using kernel mode debuggers and electrical circuit test equipment such as logic analyzers and bus analyzers
  • Knowledge of software design, real-time operating systems, and hardware-software interfaces
  • In-depth storage protocol experience including SAS, SCSI, PCIe, and NVMe, and NVMeoF

SKILLS: 

  • Object oriented programming
  • Excellent communication and debug skills
  • Team oriented mindset
  • Highly motivated to explore and learn
  • Understanding of software testing fundamentals

SPECIFIC QUALIFICATIONS: 

  • Knowledge and experience with Systems Programming (either Windows or Linux).  This involves working with OS specific calls made from user programs.
  • Some knowledge and experience with Kernel or OS internals (either Windows or Linux) programming.  This involves writing or supporting kernel modules, like device drivers.
  • Working knowledge of SCSI or ATA protocols. 
  • Some knowledge and experience of host based device protocol test packages.
  • Some knowledge with Real Time Operating Systems (RTOSs) and embedded programming.  RTOSs share many (and often more) of the constraints as OS kernel modules

Additional Information

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.

Privacy Policy