Research Software Engineer

University of Chicago•Hyde Park, IL
•Hybrid

About The Position

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.

Requirements

  • Minimum requirements include a college or university degree in related field.
  • Minimum requirements include knowledge and skills developed through 2-5 years of work experience in a related job discipline.

Nice To Haves

  • Master’s degree.
  • 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.
  • 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.

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.

Benefits

  • health
  • retirement
  • paid time off
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service