Senior Software Engineer
Role details
Job location
Tech stack
Job description
Senior 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 frontend technologies., * Responsible for technical tasks and timely delivery of such tasks, meeting the required level of quality.
- Participation in complex and challenging activities, including design and implementation.
- Provide support and maintenance for existing applications.
- Provide technical mentorship to interns and onboarding staff and technical leadership in technical initiatives
- Actively participate in the hiring process and provide fair and productive interview feedback.
- Elaborate on technical solutions internally and externally when required.
- Investigates, analyzes and resolves day-to-day technical problems using standard procedures.
- Works with stakeholders to gather and analyze requirements for developmental programs. Receives a moderate level of guidance to design applications to meet University and business requirements.
- Performs other related work as needed.
Requirements
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., * Advanced degree in computer science, mathematics, statistics, engineering, or a relevant quantitative field., * Relevant software development experience, full cycle preferred, including design, coding, testing, and support.
- Programming skills using Python (preferred), Golang/Javascript (a plus), or other languages like C/C++, Java, or C# with advanced skills in at least one of these languages.
- Knowledge of web applications, REST API, microservices, and containers.
- Knowledge of Elasticsearch, PostgreSQL, Spark, Hadoop, and data analysis.
- Knowledge of configuration management utilities (Chef, Salt, Ansible) and container-based deployment solutions (Docker, Kubernetes).
- High performance/cloud computing experience (AWS, GCP, Openstack).
- Unix/Linux programming, open source, and version control experience.
- Experience with cloud platforms (AWS, GCP, Openstack), CI/CD, and Agile methodologies.
Preferred Competencies
- Ability to collaborate and interact effectively with team members, following guidelines and best practices and ensuring accountability for deliverables and outcomes.
- Ability to take multiple complex tasks and break them into smaller ones, estimating the effort needed to complete them, prioritizing them appropriately, and ensuring the completion of each task, meeting the required level of quality.
- Ability to prioritize and manage workload to meet project milestones and deadlines.
- Ability to adopt and support new structures or systems to meet objectives.
- Ability to take and provide constructive and helpful input and feedback on technical issues.
- In-depth knowledge in core technical areas, including in-depth knowledge of one or more modern programming languages, or having demonstrated the ability to achieve that level of proficiency in a short period of time.
Benefits & conditions
$80,000.00 - $120,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.