Senior Backend Engineer Job Description

The OpenMRS Platform is a modular, database-agnostic, Java-based application providing the key resources and services needed to support an extensible electronic medical record system. Many different organizations and countries have built solutions on top of this platform, making it very important to provide stability, reliability, security, and a clear upgrade path while working with a worldwide community of developers.

  • Length: 6 months with opportunity to extend, full time

  • Location: Remote (Global)

  • About our technology: Java backend, serving a Javascript Single Page Application (primarily React) using micro frontends, via a REST/FHIR API, and stores data in a MySQL/MariaDB/PostgreSQL database. 

Role Overview

  • Lead the continuous improvement of OpenMRS platform product by addressing outdated and end of life technologies, modernizing the software stack, with the reality that this needs to work in situations where there is not always highly technical staff available to support the implementation. 

  • Provide leadership in advancing the Technical Roadmap for the core OpenMRS platform and API; including, identifying areas for improvement, understanding needs for platform changes and updates, and defining phased approaches for the work in line with other engineering efforts on the OpenMRS products overall.

  • Work with the Directors of Product and Engineering to determine how the core OpenMRS platform supports the RefApp, and ways in which the platform team can support the needs of the community of implementers and stakeholders.

  • Work with security experts on handling custom parts of the OpenMRS products with regard to improving overall security (e.g. Authentication & Authorization is in the application). Consider security issues when reviewing PRs and committing code. Demonstrate security best practices for new code and when refactoring existing code.

  • Integration: Vision for how to improve integrations between the EMR and other health information systems (Radiology, Billing, Inventory, Pharmacy, HR, Insurance Claims, Shared Health Records, centralized program and health surveillance systems, and more).

  • Identify technical debt and legacy complexity to improve over time as part of the Technical Roadmap. Proactively anticipates and mitigates engineering risks or inefficiencies. 

  • Break stories down into technical tasks that more junior community members can work on, and oversee their work through leading the OpenMRS Platform team meetings and collaborative tooling (JIRA, etc).  Review PRs for OpenMRS platform and provide input to ensure high quality code commits.

  • Support the development of the appropriate strategy for and executing of automated quality assurance testing for the OpenMRS platform product and the OpenMRS APIs, as part of the CI pipeline for platform releases.

  • Ensure robust reporting abilities from the OpenMRS platform, such as by leading the design of data extraction processes and architecture to ensure system scalability, performance, data integrity and ease of data access and use. Understand and thoughtfully apply existing good-practice data engineering frameworks, analytics engines & tools, instead of trying to build wholly bespoke engine solutions.

  • Technical Oversight of Reporting Pipelines and Flattening Tools in the Community; Oversee core technical infrastructure OpenMRS needs around reporting; Address hard problems with OpenMRS Reporting that are blocking solid reporting at scale; and lead the initiative for out-of-the-box reports set-up for RefApp.

Requirements

  • 5+ years experience in either backend or full stack software development, including architecture, API, and data modeling experience.

  • 5+ years of experience working with web/internet standards, software technologies (including Java or related object-oriented technologies), and database technologies (MySQL, Postgres, MSSQL or equivalent).  

  • Deep understanding and experience specifically of Java and the standard Java Servlet stack.

  • Software development experience as part of a team.

  • Experience with development collaboration and tracking tools; such as GitHub, issue tracking (Jira), wiki (Confluence), communications (forum and Slack). 

  • Strong familiarity with the Spring & Hibernate frameworks (beyond just Spring Boot).

  • Demonstrable deep experience with REST, beyond just using APIs. Should demonstrate an understanding of REST framework & experience developing APIs.

  • Flexibility to accommodate working with collaborators in various international time zones

  • Excellent communication skills. We’re a distributed team, so frequent and clear written communication is a must. 

  • Proven ability to quickly learn and apply new technologies and methods to keep OpenMRS at the forefront of EMR technologies.

  • Access to high-speed internet for team and community real-time calls (e.g. via Zoom, Slack Huddle, etc).

  • Proficiency in the English language, both written and verbal. 

Desired Skills and Attributes

  • Experience working with electronic medical records or other health information systems used at the clinic or point of service level.

  • Experience working with the HL7 FHIR standard and FHIR-forward or FHIR-first architectures and systems, and/or experience working on standards-based architectures and integrations.

  • Familiarity with how open source projects are developed. Ideally past experience contributing to major open source projects.

  • Experience with healthcare and/or LMIC settings (e.g. awareness of resource requirements, on-prem deployment practices). Experience outside of the humanitarian or healthcare industry is also highly desirable (fresh ideas).

  • Past experience working with, coaching, and learning from folks from very diverse cultures. 

  • Experience working with global teams.

  • Bachelor’s or higher degree in Computer Science, Software Engineering, Informatics, Information Science, Public Health, or a related field.

  • Self-driven work ethic & problem-solver. Self-starter who loves taking initiative and seeing things through to completion. Love for coding and solving problems.

Travel Expectations

This role is not expected to travel internationally, but may have opportunities to travel up to 20% of the time with expenses funded/reimbursed by OpenMRS Inc., and supported by the OpenMRS Inc. Operations team.

Compensation

Rates commensurate with experience and location the person is based. Location is determined by the country where the person is residing at the start of the contract.

How to Apply

Submit a cover letter and resume that addresses the responsibilities and skills outlined in the job descriptions to community@openmrs.org and cc Program Officer Erica Kigotho at erica@openmrs.org no later than March 15, 2024. Only short-listed candidates will be contacted.

Ideal starting date: April 1, 2024 or sooner if available.

For more information on OpenMRS, please see our website: openmrs.org