The Drivers and Interop development team is responsible for several areas
On the initiator side, the team will be responsible for Linux initiator behavior attached to Flasharray. Focus is on NVME (ROCE, FC, TCP/IP) but also includes FC-SCSI (FCP) and iSCSI interfaces. This includes software development/fixes for Linux initiator stack, debugging initiator problems, and creating compatibility documents for Purity. For VMWare, focus is on debugging issues with VMWare as an initiator, and creating compatibility documentation.
For FibreChannel and NIC Drivers, focus is responsibility for FC-SCSI driver stack for storage side and responsibility for NIC drivers on networking side. This includes responsibility for related code, utilities, enhancements supporting RAS, as well as debugging failures found internally and in the field.
Maintain Linux kernels for internal testing
Documenting supported configurations for customers
Responsibility for evaluating Linux initiator behavior and optimizing for Pure Storage Flasharray. This includes correctness as well as optimizing for performances. Will contribute bug fixes and enhancements to Linux upstream. Analyze and debug difficult Linux bugs to optimize Flasharray attachment.
Responsible for maintaining Purity's Fibre Channel SCSI (FCP) target driver. Maintenance includes driver updates for enhancements, bugs fixes and new hardware.
Resolve difficult Fibre Channel bugs found internally or externally.
Responsible for enhancing the resilience of Pure's FC stack. This includes projects around multipathing and link health.
Responsible for maintaining NIC drivers on Pure's storage systems.
SHOULD YOU ACCEPT THIS CHALLENGE...
Team lead for a group of engineers with responsibility for Linux and VMWare initiator stack behavior as well as Fibre Channel and NIC drivers on Pure storage array.
WHAT YOU'LL NEED TO BRING TO THIS ROLE...
Strong experience writing device drivers and/or kernel development for Linux/Unix. Prefer experience in storage and/or networking drivers
Minimum 5 years of development experience, but expect that typically candidates would have 10+ years experience.
Experience designing and implementing significant components in storage protocol stacks and storage systems.
Should have significant experience with storage protocols: either SCSI (FC-SCSI or iSCSI/FCP) and/or NVME Fabrics (NVME/ROCE, NVME/TCP or NVME/FC) experience.
Experience leading other engineers technically. Should be able to mentor more junior engineers and lead other engineers in an overall project. Should demonstrate on time delivery with high quality.
Experience with performance analysis/optimization for storage systems or protocols
Should have VMWare experience, with understanding of their initiator stack.
Experience writing Linux storage device drivers, including some sets of Fibre Channel, NVME, ROCE, block and multipath modules.
Experience debugging difficult storage attach issues.
Experience with software development using C/C++/Python
Experience upstreaming Linux code is preferred
Should have experience developing test automation
Experience analyzing and optimizing storage performance
Experience writing storage or networking device drivers, preferred in Linux/Unix environment
Demonstrated experience debugging difficult protocol/kernel/system issues
Experience with network protocols, including TCP/IP
Preferred skills
Comprehensive understanding of TCP/IP networking stack
Experience contributing to Linux upstream
Experience in creating automated testing
You will be based in Bangalore, Karnataka. As this is an office-centric role, you are expected to be present in the office for 3 days a week. As outlined in Pure's Hybrid Work Policy, there will be variations over periods of time, depending on business need.