[Remote] Lead Software Engineer
Note: The job is a remote job and is open to candidates in USA. The University of Chicago is a research center pioneering the discipline of translational data science. The Lead Software Engineer will lead and provide expertise in software support and development, managing projects and mentoring engineers to ensure timely and quality delivery of technical tasks.
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
- Responsible for managing activities of a complex and challenging nature, including design and implementation of large systems and/or core components, with decisions having a large impact on the team or cross multiple teams
- Negotiate complex decisions, present options and persuasively advocate for optimal technical solutions, internally and externally
- Responsible for responding, triaging, and resolving production system issues in a timely fashion, across multiple projects when required
- Help translate high level requirements into well-architected and well-tested design and implementation
- Lead team(s) of software engineers and provide technical guidance and leadership for the team to follow best practices and deliver quality software, middleware, and processes timely
- Collaborate with, support, and help the team members to grow and realize their full potential, and make the right decisions collectively
- Proactively and effectively addresses management challenges
- Actively participate in and define the hiring process and provide fair and productive interview feedback
- 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
Skills
- Minimum requirements include a college or university degree in related field
- Minimum requirements include knowledge and skills developed through 7+ years of work experience in a related job discipline
- Advanced degree in computer science, mathematics, statistics, engineering, or a relevant quantitative field strongly preferred
- 7+ years of relevant software development experience, full cycle strongly preferred, including design, coding, testing, and support. With advanced experience building full stack web applications and a proficiency in two or more modern programming languages, preferably Python and JavaScript
- Full stack design and development with proficiency in modern web UI technology stacks
- Advanced programming skills using Python, Golang/Javascript, and other languages like C/C++, Java, or C#
- Knowledge and/or experience with: web applications, REST API, microservices, and containers; Unix/Linux programming, open source, and version control experience; configuration management utilities (Chef, Salt, Ansible) and container-based deployment solutions (Docker, Kubernetes); modern database and data analytics technologies (Postgres, MySQL, NoSQL, Elasticsearch, Spark, Hadoop, etc.); and High performance/cloud computing experience (AWS, GCP, Openstack)
- Experience with CI/CD and version control tools (e.g. Jenkins, Travis, git)
- Experience with or contribution to open-source projects
- Experience with Agile methodologies
- Domain experience in biomedical informatics
- Ability and willingness to acquire new programming languages, statistical and computational methods, and background in research area
- In-depth knowledge in all technical areas of all major projects and the core product's scope, or having demonstrated the ability to achieve that level of proficiency in a short period of time
- Ability to manage a large size team and define and drive higher level organizational goals with guidance from senior management and lead the team to plan, execute and deliver to meet critical project milestones and deadlines
- Ability to effectively communicate organizational goals to the team and mentor the members by providing constructive and helpful input and feedback
- Ability to prioritize and manage team workload to meet critical project milestones and deadlines
- Ability to persuade/manage others to adopt new structures or systems in order to meet objectives
- Advanced understanding of computer science principles
- Project management skills, including an ability to manage multiple teams and projects simultaneously, and own time well, and achieve objectives
- Ability to take or create a plan and break it into incremental tasks and ensure the completion of each task, meeting the required level of quality
- In-depth knowledge with microservice architecture, design patterns, cloud platforms (AWS/GCP), RESTful API, and web services
- Ability to work in a collaborative team and provide technical management to ensure accountability for deliverables and outcomes
- Understands and can maintain confidentiality related to sensitive matters such as strategic initiatives, trade secrets, quiet periods, and scientific discoveries yet to be put in the public domain
Benefits
- The University of Chicago offers a wide range of benefits programs and resources for eligible employees, including health, retirement, and paid time off.
Company Overview
Company H1B Sponsorship