Logo for The University of Chicago

Principal Software Engineer

Roles & Responsibilities

  • Bachelor's degree in computer science, mathematics, engineering, or a related field.
  • 7+ years of software development experience, including design, coding, testing, and support.
  • Advanced programming skills in Python, Golang, and TypeScript, with experience in web applications, REST APIs, microservices, and containers.
  • Advanced degree strongly preferred (e.g., MS/PhD in computer science, mathematics, statistics, engineering, or a related quantitative field).

Requirements:

  • Design and implement top-priority technical tasks and ensure timely delivery with defined quality standards.
  • Provide technical leadership and mentor staff; actively participate in hiring and provide fair interview feedback.
  • Lead the development of new systems, features, and tools; solve complex problems and optimize performance.
  • Review and test code to ensure standards are met; act as a technical consultant for faculty research, teaching, and/or administrative projects.

Job description

Department

BSD CTD - Engineering - Plan X


About the Department

The Center for Translational Data Science (CTDS) at the University of Chicago is a research center whose mission is to develop the discipline of translational data science to impactful problems in biology, medicine, healthcare, and the environment. We envision a world in which researchers have ready access to the data needed and the tools required to make data driven discoveries that increase our scientific knowledge and improve the quality of life. We architect ecosystems of large-scale commons of research data, computing resources, applications, tools, and services for the broader research community to use data at scale to pursue scientific inquiry and accelerate discovery. Learn more at https://gdc.cancer.gov/, https://gen3.org/, https://stats.gen3.org/, and https://ctds.uchicago.edu/.


Job Summary

The job leads and provides expertise to the development of programs for activities relating to software support and/or development. Analyzes, designs, develops, debugs, and modifies computer code for end user applications, beta general releases, and production support. Manages development and implementation of applications, web pages, and user-interfaces using a variety of software applications, techniques, and tools. Solves complex problems in administration, maintenance, integration, and troubleshooting of code and application ecosystem currently in production.

The Principal Software Engineer is responsible for a scope of significant size or functional area critical to the team’s success, using in-depth knowledge in all technical areas of major projects and core product and responsible for design and implementation of top priority technical tasks, timely and quality delivery, leading and mentoring other engineers, and helping the organization drive toward its strategic goals, negotiating complex solutions along the way. All Software Engineers perform web application development activities of open-source software platforms, including analyzing business and technical requirements, designing/developing/testing software, reviewing and testing code, supporting and maintaining applications, and providing appropriate written documentation of project development and programming code. All engineers are expected to be flexible for full-stack development and some may have a specialty in back-end or front-end technologies.

This at-will position is wholly or partially funded by contractual grant funding which is renewed under provisions set by the grantor of the contract. Employment will be contingent upon the continued receipt of these grant funds and satisfactory job performance.

Responsibilities

  • Responsible for design and implementation of top priority technical tasks and timely delivery of such tasks, meeting and defining the required level of quality.

  • Participation in complex and challenging activities, including design and implementation.

  • Responsible for managing activities of a complex and challenging nature, including design and implementation of large systems and/or core components.

  • Provide technical leadership and effectively mentor staff.

  • Actively participate in and define the hiring process and provide fair and productive interview feedback.

  • Negotiate complex decisions, present options, and persuasively advocate for optimal technical solutions, internally and externally.

  • Leads in the development of new systems, features, and tools. Solves complex problems and identifies opportunities for technical improvement and performance optimization. Reviews and tests code to ensure appropriate standards are met.

  • Utilizes in-depth technical knowledge of existing and emerging technologies, including public cloud offerings from Amazon Web Services, Microsoft Azure, and Google Cloud.

  • Acts as a technical consultant and resource for faculty research, teaching, and/or administrative projects.

  • Leads or coordinates teams or projects for activities relating to software support and/or development.

  • 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 7+ years of work experience in a related job discipline.


Certifications:

---

Preferred Qualifications

Education:

  • Advanced degree in computer science, mathematics, statistics, engineering, or a relevant quantitative field strongly preferred.

Experience:

  • 9+ years of relevant software development experience, full cycle strongly preferred, including design, coding, testing, and support. 

  • ​Advanced programming skills, especially in Python, Golang, and Typescript. Other languages such as C++, Java, or C# may be helpful. 

  • Knowledge of web applications, REST API, microservices, and containers. 

  • Knowledge of Elasticsearch, PostgreSQL, Spark, Hadoop, and data analysis. 

  • Knowledge of infrastructure-as-code tools (Terraform, Helm) and container orchestration platforms (Kubernetes).

  • High performance/cloud computing experience (AWS, GCP, Azure, Openstack). 

  • ​Unix/Linux programming, open source, and version control experience. 

  • Experience with CI/CD and Agile methodologies​.

Preferred Competencies 

  • Ability to work productively with all stakeholders and drive best practices, ensuring accountability for deliverables and outcomes.

  • Ability to take a broad plan and break it into incremental tasks, estimate the effort needed to complete them, and ensure the completion of each task, meeting the required level of quality.

  • Ability to prioritize and manage workload to meet critical project milestones and deadlines.

  • Ability to plan and persuade others to adopt new structures or systems in order to meet objectives.

  • Ability to take and provide constructive and helpful input and feedback on technical issues.

  • In-depth knowledge in all technical areas of major projects and the core product.

  • Considered a Subject Matter Expert of all technology, programming languages, and core solutions.

Working Conditions

  • Office Environment.

Application Documents

  • Resume (required)

  • Cover Letter (preferred)


When applying, the document(s) MUST be uploaded via the My Experience page, in the section titled Application Documents of the application.


Job Family

Information Technology


Role Impact

Individual Contributor


Scheduled Weekly Hours

40


Drug Test Required

No


Health Screen Required

No


Motor Vehicle Record Inquiry Required

No


Pay Rate Type

Salary


FLSA Status

Exempt


Pay Range

$120,000.00 - $170,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.


Posting Statement

The University of Chicago is an equal opportunity employer and does not discriminate on the basis of race, color, religion, sex, sexual orientation, gender, gender identity, or expression, national or ethnic origin, shared ancestry, age, status as an individual with a disability, military or veteran status, genetic information, or other protected classes under the law. For additional information please see the University's Notice of Nondiscrimination.

 

Job seekers in need of a reasonable accommodation to complete the application process should call 773-702-5800 or submit a request via Applicant Inquiry Form.

 

All offers of employment are contingent upon a background check that includes a review of conviction history.  A conviction does not automatically preclude University employment.  Rather, the University considers conviction information on a case-by-case basis and assesses the nature of the offense, the circumstances surrounding it, the proximity in time of the conviction, and its relevance to the position.

 

The University of Chicago's Annual Security & Fire Safety Report (Report) provides information about University offices and programs that provide safety support, crime and fire statistics, emergency response and communications plans, and other policies and information. The Report can be accessed online at: http://securityreport.uchicago.edu. Paper copies of the Report are available, upon request, from the University of Chicago Police Department, 850 E. 61st Street, Chicago, IL 60637.

Software Engineer Related jobs

Other jobs at The University of Chicago

We help you get seen. Not ignored.

We help you get seen faster — by the right people.

🚀

Auto-Apply

We apply for you — automatically and instantly.

Save time, skip forms, and stay on top of every opportunity. Because you can't get seen if you're not in the race.

AI Match Feedback

Know your real match before you apply.

Get a detailed AI assessment of your profile against each job posting. Because getting seen starts with passing the filters.

Upgrade to Premium. Apply smarter and get noticed.

Upgrade to Premium

Join thousands of professionals who got noticed and hired faster.