Senior Full Stack Web Developer

Duties & Responsibilities

The Department of Biomedical Informatics (DBMI) at Harvard Medical School is looking for a Senior Full Stack Web Developer with experience in Groovy/Grails as well as standard J2EE (JaxRS, JPA, CDI) and Single Page Application (one of Backbone/AngularJS/Ember or similar) environments to help us build cutting edge research platforms. We seek an individual to work on our multidisciplinary team of data scientists, medical doctors, and developers. Our team studies large and disparate datasets from the domains of biology, healthcare and social media. The goal of our efforts is to transform healthcare and research to usher in a new age of individualized data driven medicine. 

For this project we are working with several data registries to create an “Information Commons” where researchers can go to browse and analyze data. We seek a developer to help us in the maintenance and enhancement of an open source research applications including i2b2/tranSMART, JupyterHub and others currently being developed in various languages.  The incumbent will play a role in gathering and understanding requirements, participating in architectural discussions, proposing and implementing solutions, and reporting on their progress to the team. 

We work in a constantly evolving environment, iterating through prototypes with our experts to create research tools and methods. In this rapid and open space individuals will be able to exercise creativity in developing solutions to novel problems.  This individual will work with other senior engineers, product owners, and stakeholders to develop requirements and validate implementations are meeting those requirements. 

We utilize a variety of open source code bases across our projects which enables us to benefit many projects with the work we do on any one single project. This makes for a very collaborative and active space with other members of the team. Being part of an open source project means benefits can be seen even beyond our own institution as we foster a strong community with our work.

Our applications are primarily Java based and deployed within Amazon’s Web Services but we are currently working on making deployments cloud agnostic leveraging Docker. We are already working with IBM SoftLayer and starting to work with Google Cloud and others. We utilize several storage technologies including Oracle, PostgreSQL, MySQL, SciDB, postgis, and other special purpose database systems. We manage AWS hosted infrastructure across a variety of services including EC2, RDS, Route 53 for DNS management and S3 for data loading procedures. We also utilize cloud management and monitoring applications such as DataDog, Splunk, Cloudchekr, and others. We are actively exploring data streaming and storage methods that will need to scale past the several terabytes we currently manage as the datafication of biology and health care increases. Our applications facilitate the sharing and exploration of this data through easy to use graphical interfaces and API endpoints.

Duties and Responsibilities continued in the ' Additional Information' section.

Basic Qualifications

5 years' experience of web based software development; in lieu of 5 years of general experience of software development, at least 3 years of focused experience specifically within a full stack Java environment and additional relevant experience; 2+ years with Groovy/Grails or Spring MVC web based applications; 2+ years of JavaScript, 1+ years experience with developing and consuming JAX-RS or JAX-WS APIs.

Additional Qualifications

BS/MS in computer science or similar industry software development and implementation experience; self-motivated and highly detail oriented; Strong technical/systems design and development skills; Strong problem solving, testing, and debugging skills; Solid understanding of research data system implementation best practices and appropriate use of design pattern; Excellent verbal and written communication skills. A solution focused attitude and ability to apply their skills to multiple projects at a time.

Additional Information

Continuation of Duties and Responsibilities

Developing applications on our team involves exposure to the following :

  • Application communication via JaxRS and Grails driven Web Based APIs.
  • AWS Cloud Environment with DevOps tools like Docker, Jenkins and Ansible.
  • Highly collaborative scientific informatics projects.
  • Big Data problems in the biomedical and genomic space.
  • Interfacing with various data storage and indexing solutions like Oracle, SciDB, SQL Server, Redshift, SOLR and others.

Specific responsibilities for this position include:

  • Develop and maintain new and pre-existing features of and integrate applications with our existing API:
  • Work with research scientists both internally and externally to identify software requirements.
  • Propose solutions to these requirements, weighing the costs and benefits with our team as well as a broader group of stakeholders involved in the open source community.
  • Implement solutions and update the team on the status of work.
  • Create documentation, examples and client libraries related to requirements and the project in general.
  • Collaborate with team members in architectural discussions and contribute to general improvements across all team projects as directed.


To apply for this job, please visit our listing :