Senior Software Engineer

Job description

Job location: Shoreland

Employment Type: Full-time
Posted data: 2019-05-20
Req: JR05065
Please make sure to read the job posting in its entirety as it reflects both the University roles and responsibilities, followed by the specific description.

Department2010009 BSD - Center for Data Intensive Science

About the UnitThe Center for Translational Data Science at the University of Chicago is a research center pioneering the discipline of translational data science to advance biology, medicine, and environmental research. 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. These growing data commons offer petabytes of rich research data to scientists across the world. 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.

Job FamilyInformation Technology

Responsible for the design, implementation, and maintenance of new and existing applications, systems architecture, and network infrastructure. Ensures operation and security of all servers and networks. Configures, installs, maintains and upgrades applications and hardware for the organization's infrastructure and for end-user devices.

Career Track and Job LevelProgramming

Performs and oversees a variety of activities relating to software support and/or development. Oversees technical development projects and the implementation of applications and/or websites. Provides analysis, design, development, debugging, and modification of computer code for applications, beta general releases, and production support. Develops and builds web pages, applications and user interfaces using a variety of software applications, techniques, and tools. New development, break fixes, maintenance, operational support of code and application ecosystem currently in production. Includes overall application administration and integration management.

P3: Requires in-depth knowledge and experience. Uses best practices and knowledge of internal or external University issues to improve products or services. Solves complex problems; takes a new perspective using existing solutions. Works independently, receives minimal guidance. Acts as a resource for colleagues with less experience.

Role ImpactIndividual Contributor

ResponsibilitiesThe job works independently to perform a variety of 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. Guides 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.

1) Designs 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., 2) Utilizes technical knowledge of existing and emerging technologies, including public cloud offerings from Amazon Web Services, Microsoft Azure, and Google Cloud., 3) Acts as a technical consultant and resource for faculty research, teaching, and/or administrative projects., 4) Performs other related work as needed.

Unit-specific Responsibilities

1) Help translate high level requirements into well-architected and well-tested design and implementation.

2) Provide technical guidance and leadership to follow best practices and deliver quality software timely.

3) Review pull requests and provide constructive feedback to ensure and improve quality of code.

4) Collaborate with, support, and help the other team members to grow and realize their full potential, and make the right decisions collectively.

5) Help triage critical issues and defects during testing and in production and address them rapidly.

6) A Senior Software Engineer in the Center for Translational Data Science manages all aspects of programming projects, including requirements, design, implementation, deployment/delivery, and support.  Leads team efforts and oversees the work of other technical team members.  Provides technical oversight and develops standards, guidelines, and processes for applications.  Reviews the design and code development of key architectural components.  Contributes to decisions on project and infrastructure needs, including the evaluation of server technologies, languages, platforms, and frameworks. Develops timelines, technical diagrams, project plans, and resources allocation in an agile methodology. 

7) Works with cloud computing infrastructure primarily based on OpenStack to design, develop, maintain, and evaluate software applications to meet business and technical requirements.  Works in Linux-based systems in Python and C/C++, with some Java, JavaScript and various web programming. Oversees code testing and ensures appropriate standards are met.  Works with users, collaborators, and technical staff to resolve problems and respond to feedback regarding potential improvements and enhancements. Ensures appropriate documentation. Serves as a liaison with internal and external collaborators on multiple research projects.

8)Research includes the full stack from systems to algorithms to user interfaces.  Research projects span management, sharing, and provenance of large data sets; resource allocation and scheduling for cloud computing, large scale pipelining of next-generation sequence analysis, transfer programs/protocols for high-speed networks and resource visualization.

9) Weekend/Evening Hours rare, but occasionally needed.

Unit-preferred Competencies

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

2) Ability and willingness to acquire new programming languages, statistical and computational methods, and background in research area.

Education, Experience, and CertificationsMinimum requirements include a college or university degree in related field.

Minimum requirements include knowledge and skills developed through 5-7 years of work experience in a related job discipline.

Preferred Qualifications


1) Bachelor's degree in computer science, mathematics, statistics, engineering, or a related field.

2) Master’s degree in mathematics, computer science, engineering, or a related field.


1) Minimum five (5) years of back-end development experience, with proficiency in one or more modern programming languages such as Python, C, C++, Java, JavaScript, or Go.

2) Experience with full development life cycle and Agile process..

3) In-depth knowledge with design patterns, cloud architecture (AWS/Openstack), RESTful API, web services, and modern database and data analytics technologies (Postgres, MySQL, NoSQL, Elasticsearch, Spark, Hadoop, etc.).

4) Strong technical skills and excellent communication skills.

5) Unix/Linux programming or system administration experience.

6) Front-end (web UI) development experience.

7) Experience with CI/CD and version control tools (e.g. Jenkins, Travis, git).

8) Experience with genomics.

Required Documents

1) Resume

NOTE: When applying, all required documents MUST be uploaded under the Resume/CV section of the application

FLSA StatusExempt

Pay FrequencyMonthly

Pay GradeDepends on Qualifications

Scheduled Weekly Hours40

Benefits EligibleYes

Drug Test RequiredNo

Health Screen RequiredNo

Motor Vehicle Record Inquiry RequiredNo

Posting Date2019-05-20-07:00

Remove from Posting On or Before2019-11-20-08:00

Posting StatementThe University of Chicago is an Affirmative Action/Equal Opportunity/Disabled/Veterans Employer and does not discriminate on the basis of race, color, religion, sex, sexual orientation, gender identity, national or ethnic origin, age, status as an individual with a disability, protected veteran status, genetic information, or other protected classes under the law. For additional information please see the University's Notice of Nondiscrimination.

Staff 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.

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:  Paper copies of the Report are available, upon request, from the University of Chicago Police Department, 850 E. 61st Street, Chicago, IL 60637.




Diversity Profile: University



View more

Learn more on Inside Higher Ed's College Page for University

Arrow pointing right
Job No:
Posted: 5/21/2019
Application Due: 6/29/2019
Work Type: