Western Digital Technologies
Staff Engineer - Firmware Development Infra
Western Digital Technologies, Milpitas, California, United States, 95035
ESSENTIAL DUTIES AND RESPONSIBILITIES
SSD firmware design and development in an agile environment, involving multiprocessor (ARM/ARC), multithreading, RTOS, with C/assemble programming, in interaction with various cross IP teams, with active participation on failure analysis and root causing. Participate in full life cycle of development, starting from requirements, high/low level design, implementation, unit testing, and support required documentation. Firmware development shall be on FPGA, real form factor, OR on a software simulated model environment. Developing firmware tests to exercise core firmware components such as file system, diagnostic framework, firmware update, boot process on the SSD controller before and after integration into product platform. Creating build scripts and using Python to build firmware for the enterprise SSD controller architecture. Testing firmware on HAPS (High-Performance ASIC Prototyping Systems) or in-house ASIC prototyping system emulating the SSD controller and exercising it on NAND and NOR flash memory by creating and/or executing system level tests using Python and in-house software tools Create unit tests to demonstrate code quality Providing guidance to test and/or Quality Assurance teams for system level product test execution. Debugging core firmware infrastructure issues coming from test as well as internal and external customers on the HAPS or inhouse ASIC prototyping system as well as product form factor using the Lauterbach TRACE32 debugger or debugger(s) developed internally at Western Digital. Designing and developing debug infrastructure for enabling quick diagnosis of failures in enterprise solid state drives. Designing and developing applications to collect and analyze diagnostic data, debug logs and event data from enterprise solid state drives. Self-motivated to work both unsupervised and as part of an agile team. Collaborate to develop self and others within group. Actively participate in innovation/trade secrete activities.
Qualifications
Required
Bachelors + 4yrs experience or Master +2yrs experience or PhD in CS, CE, EE, EC or equivalent required. Strong knowledge in C/assembly, Data Structure, Algorithms, Multi-threaded programming Familiarity with micro-controller architecture (ARM or ARC), embedded systems. Firmware development on RTOS (e.g. uCOS/ThreadX/MQX/VxWorks/Embedded Linux) Knowledge and experience in the use of bus analyzers, JTAG, emulators and other firmware debugging tools. Demonstrated ability to rapidly learn new technologies, complex code and developing system, architecture view. Strong aptitude and penchant for problem solving, algorithm design, system design, and complexity analysis skills. You are comfortable and enjoy working with dynamic and ever evolving environments. Technical mindset with great attention to detail and an ever positive, can-do attitude. Demonstrate use of out-of-box thinking for creative solutions to highly sticky problems. You have excellent interpersonal skills, including written and verbal communication. You'll be a fun and enthusiastic teammate who enjoys a challenge and celebrates success. Requires 3 days per week in office
Preferred
Prior experience in SSD firmware development Development of Bootloader and Drivers - Memory Interface, IO and other Peripherals
PMIC, DDR, Thermal Device, EEPROM(Flash Memory), NAND, SPI, I2C, UART RTOS Porting
Development of System/Device Power Management Interface Highly skilled in GitHub and/or other similar SCM tools Python scripting
Additional information
Western Digital is committed to providing equal opportunities to all applicants and employees and will not discriminate 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 persons gender identity, gender expression, and gender-related appearance and behavior, whether or not stereotypically associated with the persons 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 Equal Employment Opportunity is the Law poster.
SSD firmware design and development in an agile environment, involving multiprocessor (ARM/ARC), multithreading, RTOS, with C/assemble programming, in interaction with various cross IP teams, with active participation on failure analysis and root causing. Participate in full life cycle of development, starting from requirements, high/low level design, implementation, unit testing, and support required documentation. Firmware development shall be on FPGA, real form factor, OR on a software simulated model environment. Developing firmware tests to exercise core firmware components such as file system, diagnostic framework, firmware update, boot process on the SSD controller before and after integration into product platform. Creating build scripts and using Python to build firmware for the enterprise SSD controller architecture. Testing firmware on HAPS (High-Performance ASIC Prototyping Systems) or in-house ASIC prototyping system emulating the SSD controller and exercising it on NAND and NOR flash memory by creating and/or executing system level tests using Python and in-house software tools Create unit tests to demonstrate code quality Providing guidance to test and/or Quality Assurance teams for system level product test execution. Debugging core firmware infrastructure issues coming from test as well as internal and external customers on the HAPS or inhouse ASIC prototyping system as well as product form factor using the Lauterbach TRACE32 debugger or debugger(s) developed internally at Western Digital. Designing and developing debug infrastructure for enabling quick diagnosis of failures in enterprise solid state drives. Designing and developing applications to collect and analyze diagnostic data, debug logs and event data from enterprise solid state drives. Self-motivated to work both unsupervised and as part of an agile team. Collaborate to develop self and others within group. Actively participate in innovation/trade secrete activities.
Qualifications
Required
Bachelors + 4yrs experience or Master +2yrs experience or PhD in CS, CE, EE, EC or equivalent required. Strong knowledge in C/assembly, Data Structure, Algorithms, Multi-threaded programming Familiarity with micro-controller architecture (ARM or ARC), embedded systems. Firmware development on RTOS (e.g. uCOS/ThreadX/MQX/VxWorks/Embedded Linux) Knowledge and experience in the use of bus analyzers, JTAG, emulators and other firmware debugging tools. Demonstrated ability to rapidly learn new technologies, complex code and developing system, architecture view. Strong aptitude and penchant for problem solving, algorithm design, system design, and complexity analysis skills. You are comfortable and enjoy working with dynamic and ever evolving environments. Technical mindset with great attention to detail and an ever positive, can-do attitude. Demonstrate use of out-of-box thinking for creative solutions to highly sticky problems. You have excellent interpersonal skills, including written and verbal communication. You'll be a fun and enthusiastic teammate who enjoys a challenge and celebrates success. Requires 3 days per week in office
Preferred
Prior experience in SSD firmware development Development of Bootloader and Drivers - Memory Interface, IO and other Peripherals
PMIC, DDR, Thermal Device, EEPROM(Flash Memory), NAND, SPI, I2C, UART RTOS Porting
Development of System/Device Power Management Interface Highly skilled in GitHub and/or other similar SCM tools Python scripting
Additional information
Western Digital is committed to providing equal opportunities to all applicants and employees and will not discriminate 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 persons gender identity, gender expression, and gender-related appearance and behavior, whether or not stereotypically associated with the persons 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 Equal Employment Opportunity is the Law poster.