Software Engineer I/II/III
Job posting number: #7085807
Posted: September 21, 2021
Job DescriptionSummary of Work
The Robinson lab at the Jackson Laboratory (JAX) invites applications for a Scientific Software Engineer. The new Software Engineer will join a highly interactive, supportive, and interdisciplinary group of faculty, staff scientists, postdoctoral fellows, and students and enjoy access to state-of-the-art equipment and facilities at The Jackson Laboratory for Genomic Medicine in Farmington, CT.
Peter Robinson is one of three principal investigators (PIs) of the Monarch Initiative, an integrative data and analytic platform connecting phenotypes to genotypes across species and is a member of the JAX Center for Precision Genetics, contributing bioinformatic resources to support research employing genetically well-defined laboratory mice. The Software Engineer will play an important role in advancing the mission of the Robinson lab, which focuses on developing algorithms, ontologies, and software to advance research and support medical practice. The Robinson lab leads the development of the Human Phenotype Ontology (HPO), which has become the international standard for computational phenotype analysis in Mendelian disease and other areas. The lab has recently spearheaded the development of the Medical Action Ontology (MAxO), which intends to provide a computational foundation for searching and analyzing treatments and other medical management with a focus on genetic disease. The lab develops software for phenotype (HPO) driven diagnostics including the Phenomizer and LIRICAL. They also develop graph algorithms including the first use of random-walk analysis for disease gene prediction, which was cited over 1000 times (Walking the interactome...). The Robinson Lab has developed machine-learning and statistical approaches towards predicting pathogenicity of variants in exome or genome sequencing, including Genomiser and SQUIRLS. They develop software for the analysis of genomic data including ChIP-seq, which applies a novel saturation-based algorithm and RNA-seq, which uses a hierarchical Bayesian network to simultaneously assess gene expression and alternative splicing. The Exomiser software is widely used by projects such as the 100,000 Genomes project to assess diagnostic exome and genome data. Peter Robinson leads the machine learning subgroup of the National COVID Cohort Collaborative (N3C), and recent projects have included the application of machine learning to EHR data of COVID-19 patients.
The lab strives to be a welcoming and supportive environment where people of all backgrounds have the opportunity to develop algorithms and software at the cutting edge of translational bioinformatics. Lab members typically focus on one or two areas of interest in fields such as ontologies, semantic algorithms, or machine learning. They provide extensive on-the-job training in algorithms and software engineering as needed for the projects.
As a rule, the lab has learned about algorithms during the projects and so it is not expected that candidates will come with knowledge of the above-mentioned topics, but it is expected that candidates have a strong interest in ontologies or algorithms and a desire to create good software. The candidate would be expected to contribute to a diverse portfolio of research undertaken by the lab. The Robinson lab is very collaborative, taking a team science approach to many projects and participating in efforts such as the Global Alliance for Genomics and Health (GA4GH). They expect the candidate to participate in collaborations, which means concretely participating in virtual conferences and co-developing code using GitHub. Other duties include contributing to publications, submission of grants and funding applications, potential commercialization opportunities, as well as partnerships and collaborations with the community-wide efforts aimed at promoting open, integrated, and rigorous practices in research and scholarly communication. This position may be eligible for remote or remote/office flex work.
Web front-end development using frameworks such as Angular.
Performing algorithm implementation, data visualization, and bioinformatics programming; packaging and interpreting results. Where appropriate, unit testing and software development best practices should be applied.
Software development leveraging GitHub for version control and project coordination
Assisting in data dissemination.
Contributing to publications.
Examples of Work Performed
Maintenance and development of additional web resources for the HPO website, which is constructed using a REST API provided by a Java backend to an Angular front end. Examples of new features include the provision of images (figures) to illustrate HPO terms.
Development and maintenance of software libraries to support research goals of the lab. Typically, this will involve the development of a package with unit tests, documentation, and example usages, ranging from the analysis of a domain, the development of requirements, and interaction with research staff or the PI to iteratively test and improve the software. An example of this would be the development of a Java or Python application to validate clinical data encoded using the Phenopacket format co-developed by our group.
Maintenance and extension of the Monarch Initiative web presence. This is a collaborative project with other Monarch members and especially with the Translational and Integrative Sciences lab (TISLab) at the University of Colorado. This project may involve semantic modeling using LinkML (Linked data Model Language). Other topics include the implementation of Web portals for new search or analysis algorithms that showcase Monarch ontologies.
Developing software for curation with ontologies including HPO, MAxO, Mondo.
Developing scripts or software to work with phenotype data within electronic health care settings; for instance, to work with OMOP or FHIR.
Creation, documentation, and deployment of RESTful APIs.
Bachelor’s Degree in Computer Science, biomedical informatics, statistics, or related field is required for all levels
Requires 0 – 3 years of experience
Demonstrated understanding of 2 or more of the following techniques utilized in Agile software development: paired and mob programming, automated unit and functional testing, manual testing, user-centered design, test and/or behavior driven development, and continuous integration and continuous deployment.
Demonstrated understanding of 2 or more of the following leadership skills such as collaboration, product management, domain knowledge in a relevant stakeholder area, facilitation, influence, conflict resolution, and mentorship.
3 – 5 years of experience with Software Development and/or Application Configuration, preferably in an Agile environment.
Familiar with 3 or more of the techniques and leadership skills required of a Level I
6 – 9 years of experience with Software Development and/or Application Configuration, preferably in an Agile environment.
Demonstrated experience with 4 or more of the following techniques and leadership skills required of a level I
Preferred Knowledge, Skills, and Abilities
Demonstrated ability to work on multiple large-scale collaborations that include a wide variety of domain experts.
Working knowledge using semantic web technologies, including libraries for RDF, OWL, and/or JSON-LD; Experience with OWL reasoners. Experience with triplestores and Graph databases such as Neo4J. Experience using SPARQL and/or graph query languages such as Cypher.
Experience programming in the following languages: Java, Python.
Familiarity with common relational databases and SQL, which may or may not include experience in UML modeling and object-oriented methodologies, and/or multiple modeling and schema languages.
Data and schema harmonization strategies and compliance testing.
Familiarity with clinical models and standards such as HL7 FHIR and OHDSI OMOP.
Experience with ontologies and terminologies, for example, Open Biological and Biomedical Ontologies (OBO) and related OBO Library tools.
Experience in developing and evaluating data curation workflows, data quality, and validation according to semantic standards.
We are looking for an individual who is/has:
Strong verbal, written, and interpersonal skills (especially via teleconferencing venues). Demonstrated ability to produce high-quality software documentation. Demonstrated ability to work productively in teams.
Motivated and excited to learn: Our group often finds itself on the leading (bleeding) edge of software tools and methodology. A successful candidate should be able to adapt to new environments, approaches, tools and, when necessary, be able to extend an existing tool for a new purpose or develop an entirely new approach to solve a problem.
Self-directed: A successful candidate needs to be able to set their own schedule and goals but, at the same time, is willing and able to ask for guidance and assistance when uncertainty and blockers arise.
Communicative: Able to communicate effectively with geographically-distributed collaborators. This includes email and slack, but also importantly code and dependency documentation.
Collaborative: Willing to contribute to open source software development and informatics projects within the lab and collaborative with individuals from diverse organizations from around the world.
Dedicated to diversity: We are open to all races, ethnicities, genders, religions, and nationalities and expect lab members to be inclusive and tolerant towards others.
Acceptance of Participation in activities within the laboratory, and the broader scientific community that promote the success and welfare for all people.
Committed to quality: Production-ready code is deployed (locally or in the cloud) and must meet the core tenets of reproducibility, reliability, and robustness. This position will require a focus on documentation and quality assurance.
Application Materials Required:
Cover Letter and resume/CV, and Links to 1 or more source code repositories with open source contributions, if applicable.
The Jackson Laboratory (JAX) is an independent, nonprofit biomedical research institution with more than 2,400 employees. Headquartered in Bar Harbor, Maine, it has a National Cancer Institute-designated Cancer Center in Augusta, Maine, a genomic medicine institute in Farmington, Connecticut, and facilities in Ellsworth, Maine, Sacramento, California, and Shanghai, China. Its mission is to discover precise genomic solutions for disease and empower the global biomedical community in the shared quest to improve human health.
JAX employees work in a collaborative, value-driven, and team-based environment where the focus is on advancing science and improving patients’ lives. Researchers apply genetics to increase the understanding of human disease and advance treatments and cures for cancer, neurological and immune disorders, diabetes, aging, and heart disease. JAX was voted among the top 15 “Best Places to Work in Academia” in the United States in a poll conducted by The Scientist magazine!
The Jackson Laboratory provides equal employment opportunities to all employees and applicants for employment in all job classifications without regard to race, color, religion, age, mental disability, physical disability, medical condition, gender, sexual orientation, genetic information, ancestry, marital status, national origin, veteran status, and other classifications protected by applicable state and local non-discrimination laws.
We are an equal opportunity, affirmative employer, considering all qualified applicants and employees for hiring, placement, and advancement, without regard to a person's race, color, religion, national origin, age, genetic information, military status, gender, sexual orientation, gender identity or expression, disability, or protected veteran status.