SHOULD YOU ACCEPT THIS CHALLENGE...
The DFM Firmware Team plays a crucial role in designing and developing the Direct Flash Module (DFM) – a key module of Pure's Flasharray and Flashblade enterprise storage solutions. The DFM is an internally designed enterprise storage device using the NAND flash technology. Compared with the off-the-shelf SSD, the DFM has the competitive advantage of simplicity, high performance, low cost and scalability.
As a member of the DFM firmware team, you'll have rare opportunities to work across various domains, including the entire data path, NAND media management, and low-level hardware interfaces. Our firmware design enables us to quickly integrate the latest NAND technologies from various vendors. We were pioneers in adopting QLC for enterprise storage solutions, releasing the first QLC DFM in 2019. Our proprietary media management policies and algorithms position Pure as a leader in enabling QLC NAND in the enterprise storage industry.
You'll work closely with the Purity software, hardware, NAND, and drive qualification teams. This offers a unique opportunity to learn the latest technologies, including the newest generations of NAND, NVMe/PCIe, as well as SSD controllers. Firmware development opens doors to experiences in embedded software design, hardware and system integration. You'll develop a comprehensive understanding and gain insights into the entire product development and release process.
What You Will Be Doing
Pure Storage is seeking a full-time Firmware Engineer to join our device firmware team. You will be working as part of a small, but fast growing, dynamic team and will be responsible for:
Designing firmware simulation environment, investigating and debugging issues, and developing failure analysis tools and process
Designing, implementing, and testing firmware of Pure Storage's DirectFlash™ SSD Modules
Coding and testing in C/C++ and Python
Bringing up and enabling new hardware components including latest NAND and developing low level firmware features
Internal development automation including continuous integration, automated unit and regression testing, etc
Working closely with hardware, system software and manufacturing teams
What You Bring to the Team
BS in Computer Science or equivalent
Experience in Linux kernel or file system or block driver development experience in storage, ideally on x86 systems.
Strong experience with NAND, Flash, and/or SSD Device Firmware Development
Strong understanding of software/firmware test and release processes
Experience using Python, C/C++ or related programming languages, hands on experience in developing the SI
Familiar with embedded software or firmware development
Experience with Micro-controllers, SoC, or hardware bring-up
Good verbal communication & collaboration skill.
Must be willing and able to work in an open office, team environment.