Research Software Engineer
Role details
Job location
Tech stack
Job description
The Research Software Engineer (RSE) will develop software to support DSI's research priorities and specific initiatives related to data science for social good including resilient food systems, climate, and human rights. The RSE will collaborate with the software team and interdisciplinary research groups across the University of Chicago to develop new software products and build robust, scalable solutions for computational research and public impact projects., * Design, develop, test, and debug complex software programs.
- Implement and optimize algorithms for data-intensive research.
- Deploy and maintain systems in both simulated environments and on physical hardware.
- Diagnose and resolve complex system and software issues.
- Execute feature requests independently, with guidance from the PI and project manager on goals and design.
- Collaborate with team members to improve software quality, testability, and fault tolerance.
- Manage multiple projects simultaneously, supporting faculty, postdoctoral researchers and students in achieving their research objectives.
- Develops, tests, debugs, and maintains new and existing application software.
- Works independently to define and document project requirements and provides overall technical guidance in design, architecture and implementation of software solutions.
- Performs other related work as needed.
Requirements
This role involves designing, developing, testing, and maintaining software, with an emphasis on high-quality, reusable code. The ideal candidate will have experience working with substantial existing codebases, strong problem-solving skills, and a keen interest in data-driven applications, machine learning, and artificial intelligence., Minimum requirements include a college or university degree in related field.
Work Experience: Minimum requirements include knowledge and skills developed through 5-7 years of work experience in a related job discipline., * Professional experience in software engineering or a related programming field.
- Strong experience with Linux, Python, and at least one additional programming language.
- Experience working with large, existing codebases.
- Experience in building web applications and APIs.
Technical Skills or Knowledge:
- Knowledge of cloud computing platforms (AWS, GCP, Azure, etc.).
- Proficiency in software development best practices, including version control (Git) and CI/CD pipelines.
Preferred Competencies
- Strong project management, analytical, and problem-solving skills.
- Excellent written and verbal communication skills in English.
- Ability to work effectively in a dynamic, hybrid work environment, collaborating with faculty, staff, students, and the broader UChicago community.
- Familiarity with virtualization and containerization (Docker, Kubernetes, etc.).
- Expertise in at least one of the following: Developing highly performant solutions to computational problems using Python; Modern frameworks for full-stack web development, including backend (Flask, Node.js), front-end (React, Angular), and/or GIS and spatial data visualization tools; Building AI solutions, including chatbots, RAG, and other LLM-based tools.
- Interest in and experience developing software to support data-driven research.
Benefits & conditions
$110,000.00 - $135,000.00
The included pay rate or range represents the University's good faith estimate of the possible compensation offer for this role at the time of posting.
Benefits Eligible Yes
The University of Chicago offers a wide range of benefits programs and resources for eligible employees, including health, retirement, and paid time off. Information about the benefit offerings can be found in the Benefits Guidebook.