Software Development Engineer ( File Systems ) - Nimble Storage

Hewlett Packard Enterprise Company   •  

Durham, NC

5 - 7 years

Posted 179 days ago

This job is no longer available.

We’re looking for a Software Engineer to join the Data Services group at HPE/ Nimble Storage.  This is a perfect position for someone who is passionate about using the latest techniques and best practices to build and improve systems software that is scalable and best-in-class.

The purpose of your job: Design and develop software in the NimbleOS data path.

Essential Functions:

  • Work with technical leaders and architects to understand new product requirements.
  • Create functional specs and other design documentation.
  • Design, code, test and debug components in Nimble Storage’s Data Services group.
  • Implement new features in the CASL File System, Protocols and Performance.
  • Work with other Data Services teams, QA, Customer Support and Platform teams to solve complex customer and release issues.
  • Provide guidance to management and participate in technical communication with customers


  • Design, develop and maintain features pertaining to the CASL file system for the Nimble Storage platforms. This includes the adaptive flash based hybrid as well as the All flash platform.
  • Investigate options for optimizing performance of the data path by developing prototypes and iterating through measurements.
  • Manages and expands relationships with development partners on software systems design and development.
  • Reviews and evaluates designs and project activities for compliance with systems design and development guidelines and standards; provides tangible feedback to improve product quality and mitigate failure risk.
  • Drives innovation and integration of new technologies into projects and activities in the software systems design organization.
  • Debug and fix issues that are reported as a part of new feature testing or as a part of the sustaining process for released/deployed software;

Education and Experience Required: 

  • Master's degree in Computer Science, Information Systems, or equivalent.
  • Bachelor's degree with at least 5 years of industry experience.

Knowledge and Skills: 

  • Excellent analytical and problem solving skills.
  • Must have in depth knowledge of OS internals and very strong system programming background with C/C++.
  • Strong command over data structures and ability to develop optimized algorithms.
  • Must be able to trouble shoot issues on complex multi-threaded systems.
  • Knowledge of file systems and/or storage protocols (iSCSI/SCSI, FC, NFS, CIFS) would be desirable.
  • Experience with persistent storage such as NVRAM would be a huge plus.
  • Ability to write clear and articulate functional and design specifications.
  • Ability to work independently and manage multiple priorities in a fast-paced environment and take on a variety of roles as needed

Job ID 1025080