Senior Java Developer - Web Based API

Duties & Responsibilities

The Department of Biomedical Informatics (DBMI) at Harvard Medical School is looking for a Web-Based API focused Senior Java Developer with focused experience in a JAX-RS environment 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 API known as the PIC-SURE API and the integration of this API with other applications in our research infrastructure including i2b2/tranSMART, JupyterHub, etc.  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. While this position is JAX-RS API focused, experience working in Groovy/Grails, Python, is considered a bonus as occasionally work in these environments will also be required.
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 services within the cloud including Oracle RDS instances and PostgreSQL, SciDB, PostGIS, and/or other GIS-aware databases to house our databases, 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.
Additional job duties and responsibilities listed under Additional information

Basic Qualifications

5 years experience of software development; in lieu of 5 years of general experience of software development, at least 3 years of focused experience specifically within a J2EE focused environment working on backend web-based JAX-RS or JAX-WS APIs and additional relevant experience; Proficiency with relational databases systems leveraging Spring JDBC or JPA, Java and web-based applications; 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

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: The job requisition number is 43878BR. You may view and apply to this posting at by searching with the job requisition number.