The HDF Group provides a unique suite of technologies and supporting services that facilitate the management of large and complex data collections. Its mission is to develop, advance and support HDF (Hierarchical Data Format) technologies and ensure long-term access to HDF data.
The HDF Group is a non-profit 501(c)3 spinoff from the University of Illinois, where it developed HDF technologies at the National Center for Supercomputing Applications from 1988-2006. The HDF Group contracts to provide customized consulting, software development, and advanced support services to organizations with challenging data-management requirements.
HDF technologies are used in virtually every industry and scientific domain to meet mission critical data management needs. Examples of the uses of HDF technologies include understanding global climate change, special effects in film production, flight testing, weather prediction, viewing medical images, analyzing DNA, designing vehicles, simulating thermonuclear explosions in space, and volcanology.
The HPC Software Developer will develop software for the Hierarchical Data Format v5 (HDF5) library and tool suite. Responsibilities will include enhancing the HDF5 library with additional features such as: sophisticated caching techniques, asynchronous file I/O, self-tuning storage optimizations, advanced multi-thread/multi-process/multi-client file access techniques, cluster and parallel file system interaction optimizations to deliver the highest performance possible to users of HDF5. Parallel and distributed I/O in high performance computing environments using MPI and MPI-IO will be the primary focus of this position. Interest and experience with project management is preferred. Some travel to client sites and to workshops and conferences may be required.
Essential Job Functions and Key Responsibilities
- Assist in design and analysis of requirements
- Design and implement HDF5 library features and tools
- Fix software bugs in the HDF5 library and tools.
- Write requirements and design documents, document code and features, and write other reports as needed.
- Provide a strong voice in development/debugging priorities.
- Experiment with new technologies relevant to the area of development; recommend improvements to techniques, procedures or other aspects of technical development.
- Assist in determining appropriate methods for release of software, including scheduling and documentation of the release.
- Provide input for preventing future problems as well as incorporating solutions to current concerns.
- Possibly take responsibility for project leadership, including staff supervision, work with customers, and project management.
- Provide user support that cannot be provided by Technical Support staff.
- Help increase the popularity and acceptance of the software by supporting quality development, user support and outreach activities.
- Attend technical conferences as requested.
- Assist staff responsible for training users, and as needed, prepare and present demonstrations of the current technology at conferences, workshops and to visitors of The HDF Group.
- A Bachelors degree is required, preferably in computer science or software engineering (Masters degree is preferred); experience and/or training may be considered depending on the nature and depth of the experience as it relates to current technologies.
- Working experience with MPI and MPI-I/O.
- Excellent knowledge of C.
- Experience with operating system or application development on Linux, UNIX, Mac OS/X or Windows.
Knowledge, Skills and Abilities required
- Familiarity and proven expertise in software development.
- Broad practical knowledge of various operating systems.
- Self-motivation and creativity.
- Strong organizational skills.
- Ability to work on several tasks simultaneously.
- Strong oral and written communication skills.
- Ability to communicate clearly to all types of audiences – from the inexperienced to highly technical users.
Knowledge, Skills and Abilities preferred
- Experience with “agile” software development.
- Experience with file system design.
- Experience with software performance evaluation and enhancement.
- Experience with all aspects of the software life-cycle.
- Experience working with HDF5 software.
- Experience programming with C++, Java or Fortran 9x.
- Experience using GNU autotools.
- Knowledge and experience in scientific programming and/or scientific data management.
- Experience in technical writing.
- Experience in project management.
The HDF Group offers a comprehensive collection of benefits including paid time off and health/dental/vision insurance, as well as company matching 401k to name a few. The HDF Group is an Equal Opportunity Employer and has a strong commitment to diversity. In keeping with that commitment, individuals with disabilities, minorities, females, and veterans are encouraged to apply.
To ensure full consideration, please submit a resume, cover letter, salary history and references to HPC@hdfgroup.org.