Research Software Engineer
University of Chicago
Summary
The Research Computing Center (RCC) is seeking a highly motivated Research Software Engineer for developing, maintaining, and optimizing software for research projects by understanding the needs and requirements, and applying software engineering best practices to scientific challenges. Key responsibilities involve coding, algorithm development, performance optimization, testing, and deployment on high-performance computing or cloud platforms, as well as collaborating with research teams to document findings and secure future funding. This role is intended to be one year in duration with the possibility of extension based on available funding. This is a hybrid position requiring at least 3 days onsite.
Job description
Job Summary
The Research Computing Center (RCC) is seeking a highly motivated Research Software Engineer for developing, maintaining, and optimizing software for research projects by understanding the needs and requirements, and applying software engineering best practices to scientific challenges. Key responsibilities involve coding, algorithm development, performance optimization, testing, and deployment on high-performance computing or cloud platforms, as well as collaborating with research teams to document findings and secure future funding. This role is intended to be one year in duration with the possibility of extension based on available funding. This is a hybrid position requiring at least 3 days onsite.
Responsibilities
- Design and develop research software. Create, design, and implement software, frameworks, and prototypes to support research goals.
- Build and maintain applications and backend services, primarily in Python.
- Collaborate with researchers to understand scientific requirements and translate them into reliable, efficient, and scalable software solutions.
- Apply software engineering best practices including testing, version control, code quality, and reproducibility.
- Optimize and maintain codebases for performance, reliability, security, and long-term sustainability.
- Manage software projects by defining milestones, timelines, and release plans, and coordinating development efforts.
- Deploy and support research software on high-performance computing (HPC) systems and cloud platforms.
- Produce clear documentation including user guides, technical reports, and implementation notes; communicate complex concepts to both technical and non-technical audiences.
- Collaborate as an active team member, participating in peer code reviews and contributing to shared development standards.
- Investigates, analyzes, and resolves day-to-day technical problems using standard procedures.
- Performs code testing on components to ensure that appropriate implementation standards are met.
- Evaluates design alternatives for development cost and solutions using various methods.
- Performs other related work as needed.
Minimum Qualifications
Education: Minimum requirements include a college or university degree in related field. Work Experience: Minimum requirements include knowledge and skills developed through 2-5 years of work experience in a related job discipline.
Preferred Qualifications
Education: Master’s degree.
Technical Skills or Knowledge
- Knowledge of Linux/UNIX systems and shell scripting.
- Experience with Python, and Docker.
- Skillful at developing, designing, deploying and supporting applications.
- Basic knowledge of relational and non-relational (NoSQL) databases such as MySQL.
- Experience with Git and in general with version control.
- Identify and gain expertise in appropriate new technologies and/or software tools.
Preferred Competencies
- Excellent interpersonal, verbal, written, and presentation skills.
- Ability to understand and translate researchers’ scientific goals into computational requirements.
- Ability to identify and gain expertise in appropriate new technologies and/or software tools.
- Ability to function as part of an interactive team while demonstrating self-initiative to achieve project’s goals and Research Computing Center’s mission.
- Strong analytical skills and problem-solving ability.
- Ability to work well with faculty and researchers.
- Experience writing or contributing to grant proposals.
- Versatile, enthusiastic, and eager to learn new skills.
- Possess a willingness and ability to support a diverse and inclusive environment.
Requirements
- College or university degree in related field
- 2-5 years of work experience in a related job discipline
- Knowledge of Linux/UNIX systems and shell scripting
- Experience with Python
- Experience with Docker
- Skillful at developing, designing, deploying and supporting applications
- Basic knowledge of relational and non-relational (NoSQL) databases such as MySQL
- Experience with Git and version control
Benefits
- Health
- Retirement
- Paid Time Off
Company overview
The University of Chicago is a world-renowned private research university founded in 1890 and located in Chicago's Hyde Park neighborhood. As a premier academic institution, it operates one of the most comprehensive biomedical research enterprises in the United States through its Biological Sciences Division, which includes over 1,100 faculty members across 10 basic science and 14 clinical departments. The university manages extensive research infrastructure including the University of Chicago Medicine Comprehensive Cancer Center, multiple specialized research institutes, and maintains affiliations with Argonne National Laboratory and Fermi National Accelerator Laboratory. With research funding exceeding $450 million annually and more than 3,300 patents filed since 1987, the institution is a global leader in scientific discovery and innovation. The Biological Sciences Division alone supports over 500 research-active faculty who secure an average of $588,000 in NIH funding per principal investigator, focusing on areas including cancer biology, immunology, microbiology, molecular metabolism, neuroscience, and evolutionary biology. The university's commitment to interdisciplinary research and its unique position as manager of national laboratories creates unparalleled opportunities for translational research and scientific advancement.