Systems Programmer IV
Job no: 494281
Work type: Staff
Categories: Information Technology, Full Time
Pay Grade: 30S
Context of the Job:
The Research Cyberinfrastructure group is responsible for the operation, maintenance, support, and growth of research computing systems. The Research Cyberinfrastructure group supports the University’s High Performance Computing and other systems with direct research impact. Staff in Research Cyberinfrastructure provide services that support the entire University research community. Researchers and department IT staff rely heavily upon Research Cyberinfrastructure for services and technical support. Research Cyberinfrastructure is one of several groups within the larger organization of UD Information Technologies (UDIT).
The University’s High Performance Computing (HPC) systems are a resource giving UD researchers access to leading edge computational and data storage systems. The Systems Programmer IV for the HPC systems facilitates the purchase and ongoing maintenance of the systems maintained by central IT. The incumbent designs, builds, writes programs, installs, tests, debugs, and integrates systems and documents his/her work to maintain and enhance the HPC systems to meet the needs of University researchers. The incumbent also trains and provides applications support to scientific researchers. The HPC Systems Programmer IV is considered essential personnel and provides off-hour, on-call coverage to support the HPC.
- Installs, configures, and supports a Linux HPC cluster to include rack management, networking, storage subsystems, provisioning system, authentication, workgroup management, scheduling, and research software installation/management.
- Develops and implements a cloud HPC framework within the University.
- Provides system administration, programming and analysis for the HPC systems maintained by UD-IT. Researches and coordinates the evaluation, selection, and installation of HPC systems resources, including upgrades and expansions of infrastructure. Facilitates the procurement of HPC computers and related, including bid solicitation and vendor negotiations.
- Oversees and administers the maintenance of hardware, systems, and applications software. Includes repair of, or execution of maintenance agreements for the HPC systems. Interfaces with hardware/software vendors to coordinate and schedule maintenance and system updates.
- Performs system maintenance, installs and configures equipment and operating systems, installs software and upgrades, and installs patches. Monitors system status and tunes system parameters and configuration to optimize performance. Writes software programs for customizations to address user needs, adds functionality, modifies systems, and maintains interfaces with other systems. Tests and debugs systems and software. Writes documentation and procedures. Develops policies regarding use of central systems. May act as database administrator. Provides on-call support for critical systems. Administers storage and systems management infrastructure components. Creates and maintains user accounts. Develops and maintains operating procedures that support the infrastructure systems environment. Recommends and implements procedures required for effective use of infrastructure system resources.
- Provides direct technical support to users of HPC systems. Consults with faculty and staff on computing related matters and assists in the preparation of computational budgets for proposals. Helps users interact with operating systems, operational policies and procedures, commercial software, new technologies, algorithms, and materials for documentation and training. Troubleshoots problems, which can range from simple to complex, with the HPC systems. Diagnoses and resolves problems that can be critical and require collaboration and teamwork to reach the best and most expedient solution. Diagnoses and debugs a wide range of application and data problems.
- Consults with researchers in the steps necessary to complete their research including the evaluation and implementation of new technologies and algorithms. Uses creativity and innovation to solve conceptual computing problems raised by cutting edge research. Works collaboratively with other computing staff and campus researchers to implement new HPC technologies. Facilitates researcher collaboration. Secures IT grants to support expanded research infrastructure.
- Develops materials for documentation and training. Maintains appropriate records for license management and documentation on software configurations.
- Participates in or leads work designing specifications and implementing new systems software packages. Recommends and develops modifications and enhancements to existing hardware and software, new implementations, and installation standards to increase system utilization and improve monitoring. Creates programs and procedures to make internal and external business processes more efficient.
- Consults with other systems programmers and other staff in IT. Maintains a high degree of familiarity with software and hardware associated with Research Cyberinfrastructure. Cross trains with and assists colleagues with their work as needed. Assists, mentors, and trains junior systems programmers with their programming tasks and with solutions to complex technical problems. Trains IT staff, and occasionally campus department staff, on new or modified software/hardware and in areas of technical expertise.
- Provides technical expertise and support to the campus clientele regarding departmental systems and applications when needed. Contributes to planning, leadership, and support of campus technical initiatives and innovative solutions.
- Maintains an expert level of technical skill in areas of specialization and basic knowledge of emerging state-of-the art computer and network systems technologies, architectures and products. Researches and evaluates future technologies and solutions.
- Participates in, and often leads, feasibility studies related to client/server, network, software and policies. Performs trending analysis to predict future problems.
- Participates in strategic and long-range planning for campus network and system services.
- Performs miscellaneous job-related duties as assigned.
- Bachelor's degree and four years of related High Performance Computing experience and/or equivalent combination of education, certification, and experience.
- Computational expertise supporting High Performance Computing systems.
- Experience using cloud technologies with preference for cloud HPC and cloud automation.
- Proficiency with system administration, system and network security, development tools and methodology, and system management.
- Proficiency in administration of Linux operating systems.
- Highly proficient programming skills.
- Ability to specify, write, and develop computer programs using a range of programming languages; experience with UNIX shell, C, Python, Perl, and PHP is preferred.
- Experience integrating with Internet2 or XSEDE services is preferred.
- In-depth knowledge of one or more operating systems, common networking equipment, and major network protocols, and multiple technologies.
- Ability to plan, design, develop, implement, test, and modify complex systems, subsystems, applications, hardware configurations, and customizations, and external application interfaces to meet specified needs.
- Proficiency with database management and in-depth applications development and analytical planning experience (outside of the classroom).
- Ability to independently troubleshoot, fully diagnose, and correct systems problems.
- Analytical, evaluative, and objective critical thinking skills.
- Effective verbal and written communication, interpersonal, and organizational skills.
- Ability to work independently as well as part of a team.
- Ability to communicate technical information to non-technical users.
- Knowledge of information flow and management environments within area of operational specialty.
- Knowledge of current technological developments/trends in area of expertise.
- Knowledge of a broad range of relevant multi-user computer systems, applications, and/or equipment.
- Knowledge of computer systems analysis and design concepts, methods, procedures, and standards.
- Experience in a University computing service environment is desirable.
- Ability to maintain close interactions with a diverse group of researchers in a dynamic environment.
- Experience using advanced scientific and engineering applications is desirable.
Back to search results Apply now Refer a friend