Software/Database Programmer - Computational Immunology


The Kleinstein Lab ( is seeking a highly motivated software/database programmer.

Work in a highly dynamic team environment to develop, integrate and oversee data collection interfaces and management systems, as well as bioinformatics analysis software. These systems will support a diverse array of human immune profiling studies in collaboration with computational, laboratory and clinical investigators. Responsibilities include (1) helping to maintain our widely-used Immcantation tool suite (, which provides a start-to-finish analytical ecosystem for high-throughput B cell receptor repertoire analysis, as well as other in-house software pipeline for analysis of large-scale genomic data sets; (2) communicating with labs for quality data collection, and implementation of efficient database systems for data storage and data sharing; (3) submitting demographic and genomic data (gene expression, flow cytometry, NGS, etc) to NIH-funded database, such as ImmPort, GEO, SRA, GenBank, etc. Application of bioinformatics/statistical methods in support of the projects is also a possibility depending upon experience.

Essential Duties

1. Develops programs or systems of small to moderate size and complexity. Modifies existing systems at all levels of difficulty.
2. Provides informational input into decisions concerning the development and delivery of applications, programs and systems. Defines and analyzes requirements to meet the expectations of stakeholders and intended end user needs, scheduled timeline, and budgetary targets.
3. Analyzes, defines and designs new systems and applications. Writes code in support of business solutions.
4. Responsible for the creation, definition, communication, and management of project plans which includes architectural design, technology selection and methodologies to apply.
5. Troubleshoots problems and provide ongoing maintenance and support for applications and systems.
6. Prepares documentation, user manuals and develops formal proposals for new systems and modifications to existing systems. Mentors technical staff and provide training for end users.
7. Contributes in the development of policies or modifications to exiting policies.
8. Applies and keeps current with existing and emerging technologies and methodologies. Provides ongoing input to the establishment of programming standards, procedures, and methodologies.
9. May perform other duties as assigned.


Required Education and Experience

Bachelor's Degree in a related field and two years of related work experience or an equivalent combination of education and experience.

Required Skill/Ability 1:

Solid knowledge of and ability to apply standard software development principles, theories, concepts and techniques.

Required Skill/Ability 2:

Advanced knowledge of source code management and version control, including experience with tools such as Git/Mercurial, GitHub/Bitbucket, Travis CI, Docker, etc.

Required Skill/Ability 3:

Strong programming skills in Python, R, and *nix shell scripting.

Required Skill/Ability 4:

Database management ability, ideally related to clinical or lab studies in a biomedical field; concrete understanding of genomic tools and repositories.

Required Skill/Ability 5:

Excellent communication and collaboration skills.

Preferred Education, Experience and Skills:

Masters or Doctorate degree in Bioinformatics, Computer Science, Biology, or related field (or equivalent experience).

Start date

As soon as possible

How to Apply

Please apply using: STARS - Yale University's Online Hiring and Recruitment System
STARS Requisition number: 52237BR

The job application can be directly accessed at: