Lead Computational Scientist
University of Rochester · Rochester, New York Metropolitan Area · 1 wk ago
Analyst$87k–$130k/yrFull-time
Job Location: 284 Hutchison Rd, Rochester, New York, United States of America, 14627
Full-time, regular position with a scheduled 40-hour work week during day shifts.
Compensation Range: $86,900.00 - $130,300.00
Responsibilities
- Provides research support for the integration of computing hardware and software tools for accomplishing research tasks across a variety of scholarly disciplines.
- Partners with faculty, students, and research staff across various departments and research centers to understand scientific problems and the application of advanced research computing tools to help achieve research outcomes.
- Recommends computational and/or visualization tools, techniques, and methodologies, and serves as an architect and developer for the computational aspect of research investigations.
- Develops, ports, installs, and optimizes software for high-performance computing and data-intensive architectures, including Graphics Processing Units (GPUs), massively-parallel systems, and cloud environments.
- Teaches workshops and tutorial sessions focused on scientific programming and data analysis.
- Guides students, faculty, and collaborators to assist with research project development and implementation.
- Develops, maintains, and improves department computing and visualization infrastructure.
- Consults on computational research project design and implementation.
- Serves as a consultant, collaborator, or co-investigator on one or more sponsored research projects while working collaboratively with principal investigators, research staff, and students on projects.
- Oversees and mentors students and research staff.
- Contributes technical and analytical content for research publications.
- Presents or contributes to scientific presentations.
- Installs, maintains, and supports scientific applications and libraries in a variety of high-performance computing environments, including specialized components such as accelerators (GPUs), parallel file systems, low-latency networks, specialized visualization systems, virtual machines, and cloud-based systems.
- Works with system administrators, network engineers, or other professionals to design, build, and maintain research computing software and hardware systems.
- Develops, ports, and optimizes applications supporting high-performance computing (HPC) and cloud-based architectures.
- Provides technical end-user support for faculty, student, and research staff who utilize CIRC systems.
- Develops documentation and provides support to diagnose issues and provide solutions.
- Develops training materials, conducts workshops, and serves as a guest lecturer in courses that leverage CIRC technologies.
- Remains current on trends as they relate to the research computing field, with particular emphasis on high-performance computing environments.
- Contributes to manuscripts and proposals based on developments in research and technology and evolving needs.
- Performs other duties as assigned.
Requirements
- PhD in a scientific or engineering-related discipline with a computational focus and 3 years of related experience required, or equivalent combination of education and experience.
- Experience with computer simulations, data analytics, computational tools, high-performance computing software, and/or supercomputing hardware required.
- Experience designing, writing, and porting scientific applications required.
- Experience developing computational tools and constructing data analysis pipelines required.
- Experience developing or debugging software and using software management systems required.
- Experience conducting and/or publishing research preferred.
- Experience supervising research students preferred.
- Experience as a faculty member or educator preferred.
Skills
- Knowledge of programming with a high-level programming language such as C/C++, Fortran, or Java required.
- Knowledge of shell scripting and interpreted programming languages such as Perl, Python, R, etc. required.
- Knowledge of parallel programming techniques and libraries such as MPI, OpenMP, and CUDA required.
- Strong verbal and written communication skills, including strong presentation skills required.
- Ability to manage programming projects, collaborations, and personnel in an academic environment required.
- Multidisciplinary research projects spanning a variety of fields preferred.