This role involves end-to-end software development for high-performance storage platform products, focusing on designing, implementing, and maintaining system software that integrates hardware, firmware, and OS components to ensure reliability, stability, and performance in mission-critical applications.
Key Responsibilities
Lead end-to-end software development from architecture and design through implementation, validation, and maintenance.
Analyze system requirements and develop robust platform solutions.
Collaborate with hardware, firmware, and OS teams to enable new server platform features.
Design, implement, and debug software components in C and Python.
Develop and enhance the FlashBlade EXA Datanode platform across hardware, networking, storage, memory, and compute subsystems.
Integrate new hardware technologies into the platform, ensuring performance, stability, and reliability.
Participate in system bring-up, hardware qualification, and platform validation workflows.
Support, maintain, and document software functionality for long-term sustainability.
Requirements
End-to-end software development experience from architecture and design through implementation, validation, and maintenance.
Ability to analyze system requirements and translate them into robust platform solutions.
Experience collaborating across hardware, firmware, and OS teams to enable new x86 server platform features and capabilities.
Proficiency in designing, implementing, and debugging software components in C and Python.
Experience developing and enhancing the FlashBlade EXA Datanode platform, working closely with hardware, networking, storage, memory, and compute subsystems.
Experience driving the integration of new hardware technologies into the platform, ensuring performance, stability, and reliability.
Participation in system bring-up, hardware qualification, and platform validation workflows.
Ability to support, maintain, and document software functionality to ensure long-term sustainability and maintainability.
Minimum of 10 years of solid experience in algorithmic thinking and C/Python development with strong problem-solving and analytical skills.
Experience working with Linux systems, including kernel internals, low-level configuration, and performance tuning.
Expertise in OS hardware interactions, kernel boot processes, and system initialization.
Experience with PCIe devices, driver bring-up, and CPU memory performance optimization.
Familiarity with networking fundamentals including IPv4, IPv6, and OS networking stack integration.
Deep understanding of modern x86 server architectures including CPU, memory hierarchy, PCIe, BMC, BIOS, NICs, and HBAs.
Excellent debugging, instrumentation, and performance analysis abilities across hardware and software boundaries.
Strong ability and desire to work in a collaborative, cross-functional, and hands-on environment.
Proven skills in debugging and root causing platform-level issues involving hardware, firmware, and device drivers.
Experience developing on Linux or other Unix-like environments at a product company.
Bachelor’s degree or higher in Computer Science, Computer Engineering, or Electrical Engineering.
Benefits & Perks
Flexible time off
Wellness resources
Company-sponsored team events
Recognition as Fortune's Best Large Workplaces in the Bay Area
Recognition as Fortune's Best Workplaces for Millennials
Certified as a Great Place to Work
Accommodations for candidates with disabilities
Inclusive and diverse work environment
Ready to Apply?
Join Pure Storage and make an impact in renewable energy