How to Apply
A cover letter is required for consideration for this position and should be attached as the first page of your resume. The cover letter should address your specific interest in the position and outline skills and experience that directly relate to this position.
The Research Applications Programmer/Analyst will support a highly-interactive research team in the Center for Statistical Genetics (CSG) at the University of Michigan School of Public Health. We are involved in cutting edge genetics research, studying genetic variation in humans, with a focus on understanding how genetic variation contributes to the risk of complex disorders such as diabetes, heart disease, late-onset blindness and psychiatric illness. Our group participates in all aspects of the design and analyzing genetic studies, ranging from the development of interactive applications for enrolling and engaging study participants to the development, distribution, and maintenance of free software for the analysis of genetic data. This is an opportunity to work in a challenging and rewarding research area that always poses new technical and computational problems.
We are analyzing the largest genetic datasets in the world, totaling petabytes of data and often requiring the deployment of 10,000s of cores in each analysis. You will focus on automating and streamlining processes for genomic data processing at scale and implementing processes in secure cloud environments. You should have cloud computing experience and should also have experience with traditional high-performance computing clusters. Your position will report to the center's director.
We are seeking an experienced and dynamic staff member with a commitment to contributing to a diverse, equitable and inclusive environment for all members of our community.
The Senior Research Applications Programmer/Analyst will be able to conduct the following activities, independently, with minimal guidance and oversight. The Intermediate Research Applications Programmer/Analyst will work under a greater level of guidance.
- Design, develop, and deploy pipelines that enable reproducible and scalable processing of large genetic datasets in cloud and HPC environments.
- Work with scientific staff, application developers, and end-users to connect high-quality analysis processes and user interfaces to scalable compute resources and infrastructure.
- Package pipelines as reproducible workflows for scientific compute using cloud infrastructure.
- Help design local and remote compute systems to balance cost, performance, and user needs.
- Automate processes for securing systems and data, for allocating limited resources, and for monitoring and collecting use metrics.
- Bachelor’s degree in Computer Science, Computer Engineering, Bioinformatics or an equivalent combination of education and experience.
- Relevant experience in a related role displaying strong personal initiative, a drive for continuous improvement, demonstrated end-to-end responsibility for mission-critical services and excellent problem-solving skills (Senior level: 5-7 years. Intermediate level: 3-5 years).
- Strong communications skills with the ability to convey technical concepts effectively such that various audiences receiving the communication can understand.
- Extensive experience with Linux and with at least one major cloud provider (GCE, AWS, or Azure).
- Experience with writing and documenting high-quality code using version control systems such as Git.
- Experience with continuous integration tools (GitHub Actions, Jenkins, Travis CI, etc).
- Bioinformatics or other similar domain experience.
- Experience processing and managing large datasets, particularly those generated by genomics and next-generation sequencing technologies.
- Familiarity with community standard or domain-specific workflow specifications such as Common Workflow Language (CWL), Workflow Definition Language (WDL), Snakemake, or Galaxy.
- Experience with web service and application components including HTTP servers, proxies and SQL/NoSQL database servers (MySQL preferred).
- Proficiency in the principles of computer programming and at least one high-level language such as C/C++, Perl, Python, Go or Ruby.
- Experience with HPC batch queuing and resource management systems such as SLURM or Sun Grid Engine.
- Familiarity with containerization systems such as Docker and Kubernetes.
- Prior experience in a FISMA compliant environment.
This position may be underfilled at a lower classification depending on the qualifications of the selected candidate.
Please note the salary ranges for each classification:
Senior level: $81,020 - $100,083
Intermediate level: $61,124 - $75,506
In addition to a career filled with purpose and opportunity, The University of Michigan offers a comprehensive benefits package to help you stay well, protect yourself and your family and plan for a secure future. Benefits include:
- Generous time off
- A retirement plan that provides two-for-one matching contributions with immediate vesting
- Many choices for comprehensive health insurance
- Life insurance
- Long-term disability coverage
- Flexible spending accounts for healthcare and dependent care expenses
The University of Michigan conducts background checks on all job candidates upon acceptance of a contingent offer and may use a third party administrator to conduct background checks. Background checks will be performed in compliance with the Fair Credit Reporting Act.
Job openings are posted for a minimum of seven calendar days. This job may be removed from posting boards and filled anytime after the minimum posting period has ended.
U-M EEO/AA Statement
The University of Michigan is an equal opportunity/affirmative action employer.