Working under general direction, the Research Computing Technologist 3 is responsible for extending research computing services to the university’s research community through active development of collaborative relationships with university researchers and scholars, ITS staff, and external collaborators, and by architecting solutions within the research community that leverage the university investment in its cyberinfrastructure. This includes identifying appropriate computational platforms (locally and externally) for research projects; tuning, debugging, optimizing, and enhancing existing algorithms on mid-scale and large-scale HPC, cloud computing, and national tera-/peta-scale facilities and other platforms; and creating new computational platforms and algorithms when none exist. The Research Computing Technologist 3 carries out responsibilities at the pace required by the research community and often must act effectively with only partial information. In addition, the Research Computing Technologist 3 leads training and development events for CWRU researchers, scholars and graduate students on software porting techniques, parallelization and optimization methodologies, computational platforms, and data management. Finally, the position will lead in the design and development of new local service offerings and enhancement of existing service offerings in the area of research computing, collaborate on faculty-initiated research efforts, and lead research funding efforts involving NSF, NIH, DoE, NEA, NEH, and other funding entities. The job requires the technologist to use honesty and integrity when handling confidential research data, and comply with all regulatory requirements connected to such activities, as well as, to follow established change control procedures.
1. Provide consulting, programming, and other effort to faculty and research staff in identifying and using high performance clusters and other research computing resources and by providing advanced consulting to identify, investigate, and resolve problems encountered.
2. Provide scientific applications consultation and support; scripting, programming, and debugging services; consultation and support for scientific and research data visualization services; and consultation and support for parallel programming, libraries, utilities, code porting, and optimization in an individualized, ad hoc manner.
3. Design and implement visualizations of scientific and other research data in collaboration with researchers and scholars.
4. Collaborate with faculty on research projects, facilitate interdisciplinary research, and co-author manuscripts with faculty when appropriate.
5. Collaborate with research groups in identifying external funding opportunities and writing research proposals to federal, state, and private entities.
6. Provide working, large-scale scientific and other research code.
7. Parallelize existing large-scale scientific and other research code.
8. Develop and teach workshops, course modules, seminars, and training sessions in basic use of HPC resources, MPI programming, C/C++/FORTRAN debugging, GPU computing, visualization techniques, specific HPC applications, and other topics relevant to use of HPC, based on identified needs.
9. Assist with generating technical documentation for, and respond to questions from, the university’s growing community of users of HPC and visualization resources.
10. Promote the use of CWRU cyberinfrastructure throughout the campus via workshops and individual engagements.
11. Make presentations at regional and national conferences related to research computing.
12. Design hardware and software solutions in support of the research-related computational needs of campus. This mainly includes new approaches to hardware and software within the context of a high-performance computing cluster (HPC) using both traditional CPUs and the emerging area of co-processor computing, the choice and characteristics of processor and main memory used in HPC compute nodes, the overall hardware and software architecture of an HPC cluster, and parallel algorithm and program development. This also includes creating and managing budgets related to implementation of these solutions.
13. Design solutions to support the networking needs of HPC and research computing more generally. This includes evaluating and architecting network options that include Ethernet (10 Gbps, 100 Gbps, etc.), InfiniBand, and other technologies. This also includes creating and managing budgets related to implementation of these solutions.
14. Design solutions to support the data storage needs of HPC and research computing more generally. This includes evaluating various storage and file system options including those based on PanFS, GPFS, Lustre, Gluster, and other technologies. This also includes creating and managing budgets related to implementation of these solutions.
15. Evaluate options and make recommendations regarding the acquisition and management of hardware, software, databases, and other research computing resources based on the needs of faculty and research staff.
16. Assist in testing and maintaining an assortment of language compilers and software libraries used at the high performance computing facility. These currently include but are not limited to C, C++, and FORTRAN compilers from GNU, Intel, and PGI; CUDA language processors; and libraries such as Intel MKL, ScaLAPACK, MINPACK, GSL, FFTW2, FFTW3, OpenMPI, and MPICH.
17. Assist in testing and maintaining an assortment of applications used in computationally intensive research. These currently include but are not limited to MATLAB, Mathematica, FLUENT, Gaussian, NAMD, R, GROMACS, Amber, LAMMPS, CHARMM, MOLCAS, APBS, Star-CD, GAMESS, and ADINA.
18. Assist in testing and maintaining applications used in scientific data visualization. These currently include VisIt and Paraview.
19. Provide support for critical HPC resource operations working together with or in the absence of the HPC cluster administrator.
20. Advise ITS management and technical staff on hardware and software needs related to support of faculty in the broad area of research computing.
21. Advise ITS management and technical staff on general needs and requirements of faculty and research staff related to their research.
22. Interface effectively with other research computing support units (on-campus and off-campus), including faculty, to meet the needs of faculty researchers.
23. Work closely with the Project Management Office to ensure the establishment of realistic project schedules and budgets. Employ project management methodology in accordance with the guidelines, processes, and procedures of the PMO.
24. Ensure projects are completed within specified time constraints.
Perform other duties as assigned.
Department: This position has a high degree of visibility and regular interaction with staff throughout ITS in order to facilitate communication between ITS and the university research community. This position has especially frequent contact with the network engineering team, the servers and storage team, and the other members of the research computing team.
University: Regular interaction with university faculty and research staff to carry out main collaboration and support functions. This interaction will often involve work as an embedded member of a research team.
External: This position will work with vendors (e.g., Dell, Panasas, Arista) and other organizations (e.g. NSF, NIH, affiliated hospitals, other universities) to carry out main collaboration and support functions.
Students: Contact with student employees working within ITS; contact with students working for research groups; contact with graduate students in the course of carrying out main collaboration and support functions.
This position has no direct supervisory responsibility. May coordinate efforts of 3-5 staff in support of project deliverables in the context of ad hoc, matrixed teamwork. As it is a senior-level position, mentoring and guidance of other staff is expected. May supervise student employees.
Education and Experience: Master’s degree required preferably in a scientific discipline (doctoral degree in a scientific discipline preferred) and 6 years of progressive experience and success in support of computational resources or services used for research or in use of such resources or services in conducting computationally intensive research, OR Bachelor’s degree and 8 years of related experience.
1. Significant experience with scientific and high performance computing, including: Parallel computing using distributed and shared memory with MPI and OpenMP; Scientific programming in C, C++, FORTRAN or other languages; Scientific programming experience in Python, Java, or MATLAB preferred; Use of debugging and profiling tools; Porting scientific code across architectures; Modeling and simulation of physical and simulated systems; Numerical methods and use of mathematical libraries such as IMSL, NAG, GSL, ScaLAPACK, and MKL; Experience in writing research proposals to federal agencies such as NIH and NSF; Experience in writing manuscripts for publication in peer-reviewed journals; Experience in scientific and other data visualization; Prefer experience in GPU programming; Prefer experience in portal development for data and software; and Prefer experience in course development and teaching/training at the university level as a faculty member or post-doctoral researcher.
2. Expert skill in computer programming and algorithm development sufficient for designing new scientific or other software, modifying existing scientific algorithms, debugging and profiling existing scientific or other algorithms, and assisting other programmers in these tasks across a wide variety of programming languages such as C, C++, FORTRAN, Python, Java, etc.
3. Skill in writing and debugging large scientific programs or other software for research using at least two programming languages such as C, C++, FORTRAN, etc.
4. Expert skill in design and development of parallel algorithms for scientific or other research application.
5. Expert skill in writing large parallel programs using MPI and OpenMP.
6. In-depth knowledge of creating scientific and other data visualizations using VisIt and ParaView.
7. Knowledge of mathematics through multivariate calculus and advanced matrix algebra is preferred.
8. Knowledge of numerical methods and mathematical programming libraries such as IMSL, NAG, GSL, ScaLAPACK, and MKL.
9. Prefer expert skills in MATLAB programming.
10. Prefer in-depth knowledge of high performance networking using Ethernet or InfiniBand.
11. Prefer expert skills in configuring and maintaining parallel file systems.
12. Knowledge and understanding of underlying hardware/software architecture used in high performance computing.
13. Proficiency with Linux or UNIX and UNIX/Linux system scripting languages.
14. Prefer knowledge of high-performance computing platforms, cloud computing platforms, and application models, applications programming, parallel programming, database technologies, data and network infrastructure, and software deployment management tools and methods used in compute-, data-, and network-intensive research. Specific technologies include: Hadoop; HPC cluster schedulers and resource managers such as PBS, Moab, Maui, Torque, SGE, and Condor; SQL and NoSQL database models and tools; AWS APIs, pricing models, and associated software and storage best practices; VM tools such as Vagrant, VirtualBox, and LXC; Puppet, Ansible, xCAT, and related deployment management tools and best practices; and GIT, SVN.
15. Must have exposure to the challenges of research IT across a range of domains, such as Chemistry, Biology, Astronomy/Astrophysics, Geography (Climate Research), Computer Science, Social Sciences, and the Humanities.
16. Ability to translate research needs into long-term architecture solutions.
17. Strong interpersonal, verbal and written communication skills in order to work with both technical and non-technical personnel at various levels in the organization. Ability to work effectively with faculty and graduate student researchers. Ability to communicate technical information in a clear and concise manner.
18. Ability to respond to difficult, a stressful or sensitive interpersonal situation in ways that reduce or minimize potential conflict and maintains good working relationships among internal and external customers. The ability to recognize awkward or potentially embarrassing situations which sometimes arise. Always aware of tone and careful choice of words, while at the same time ensuring that the intended message is clear, polite and readily understood.
19. Ability to develop in-depth understanding of client needs in order to be more helpful. The ability to consider how different audiences are likely to respond and choose the best method of communicating the message to each audience.
20. Enthusiasm for using technology to solve problems in a cutting edge collaborative and interdisciplinary scientific computing environment. Excellent written and oral communications skills in English. Ability to communicate effectively with management and faculty leadership.
21. Attention to detail in all aspects of employment.
22. Must be self-motivated, work independently and as part of a team, able to learn quickly, meet deadlines and demonstrate problem solving skills.
23. Demonstrated familiarity with project management approaches, tools and phases of the project lifecycle.
24. Ability to optimize the use of time and resources to achieve the desired results; effectively plans and organizes work to minimize crises; prioritized appropriately.
25. Ability to be flexible in order to meet the constant changing scope and needs of the department, division and customers being served.
26. Consistently models high standards of honesty, integrity, trust, openness and respect for the individual. Embraces diversity.
Working conditions are typical of an office environment and computer rooms. Some heavy lifting of 50 pounds may be required. Bending and kneeling may be required. The employee may be required to attend meetings/functions outside normal working hours including weekends. The employee may be required are to carry a cell phone, during and after their normal work hours, including weekends to attend to after-hours emergencies.
In employment, as in education, Case Western Reserve University is committed to Equal Opportunity and Diversity. Women, veterans, members of underrepresented minority groups, and individuals with disabilities are encouraged to apply.
Case Western Reserve University provides reasonable accommodations to applicants with disabilities. Applicants requiring a reasonable accommodation for any part of the application and hiring process should contact the Office of Inclusion, Diversity and Equal Opportunity at 216-368-8877 to request a reasonable accommodation. Determinations as to granting reasonable accommodations for any applicant will be made on a case-by-case basis.