Jobs and Careers
JO

Sr. Software Engineer

Johns Hopkins University
Remote, MD, United States, Remote, United StatesRemotefull_timeVerifiedPosted 16 Jan 2024
💰 $148,300/yr($84,700/yr$148,300/yr)

About the role

The Biomedical Informatics and Data Science section of General Internal Medicine is seeking a highly skilled Sr. Software Engineer to design and implement an integrated suite of tools to integrate knowledge from multiple domains to discover new causes of, and treatments for, disease. The position has several responsibilities. While the primary focus will be on software and software engineering, this position will play a critical role in the design and direction of the overall projects, determining how to turn leadership vision into practical implementation while utilizing a team of software engineers.


Specific Duties & Responsibilities

  • Python Software Development – A significant portion of this project will involve developing and enhancing software in the Python 3 environment. Candidate should have solid Python 3 skills and be comfortable with the latest Python 3 libraries and tools, including typing, the data classes library and functional idioms including realizations, maps, generators, and the like. Candidate will be asked to create, document, publish, distribute and maintain software libraries using GitHub, Markdown, HTML, Jupyter, TDD or BDD, etc.
  • Working with RDF, OWL and Knowledge Graphs – Most of the data we are working is either already in RDF or is being transformed to it. Candidate will need a strong understanding of RDF, OWL, Linked Open Data and (ideally) knowledge graphs. Project tasks will include the transformation of information into standardized RDF, visualization of the results and applying a combination of RDF and OWL ontologies in an OWL reasoner such as Protg.
  • RESTful Web Services - Candidate must have (or develop) a solid understanding of the principles that underlie Resource Oriented Architecture (ROA) and be able to consume, create, document and deploy RESTful Web Services paradigm.
  • Docker – Candidate must be(come) familiar with the principles behind docker and be able to consume, create and deploy docker containers and compositions.
  • FHIR – A significant portion of the candidate’s work will directly or indirectly involve HL7 FHIR. Candidate should be comfortable with both the FHIR technology and the FHIR community. Candidate should be able to work with various FHIR standards group to create and implement.
  • Java 8 or later – while we attempt to avoid Java as much as possible, we still find ourselves in a position where we have to create Java based tools for data transformation, integration or other publishing tasks. Candidate may periodically be given a working Java library or toolkit (e.g. the contents of https://github.com/HL7/fhir or https://github.com/jamesagnew/hapi-fhir) and modify, extend and deploy services based on those libraries. This will involve Maven / Ivy / ant and other related tools.
  • JavaScript – an ideal candidate would be fluent in JavaScript, CSS and client-side development tools.

We are looking for an individual who is

  • Motivated and excited to learn: Our group often finds itself on the leading (bleeding) edge of software tools and methodology. Must be able to adapt to new environments, approaches, tools and, when necessary, to be able to extend an existing tool for a new purpose or, if necessary, develop an entirely new approach to solve a problem.
  • Self-directed: Able to set own schedule and goals but, at the same time, is willing and able to ask for guidance and assistance when uncertainty arises.
  • Must be able to take leadership vision and design and implement solutions.
  • Willing to defend and enforce the discipline of software engineering: We’re passionate about what we are doing. The successful candidate will be someone who will help keep us honest and to make sure that what we produce is a quality product that is well documented, usable, extensible and (most importantly) reproducible.


Minimum Qualifications
  • Bachelor's Degree.
  • Six years of related experience with solid background in software engineering.
  • Additional education may substitute for required experience and additional related experience may substitute for required education, to the extent permitted by the JHU equivalency formula.
  • High level of proficiency with Python 3.
  • Able to work with Java, Javascript and occasionally C++, Go, etc. as needed.
  • Demonstrated ability to work in an open source, community-based development environment.


Preferred Qualifications
  • YAML and JSON – ability to read, consume and produce data using these formats.
  • JSON-LD – ability to create JSON-LD contexts and use them to transform JSON into RDF. (Working knowledge of the JSON-LD 1.1 specification a plus.)
  • XML – ability to read and consume XML and XML sch

Apply for this role

Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.

Apply Now →Generate Application Kit

Free account required — sign up in 30s

Company

Johns Hopkins University

View company profile →