Global Technology Division Team
Java Platform DeveloperApply Now
Java Platform Developer
Global Technology Division Team - Full-time
Dimagi is a social enterprise and Benefit Corporation that builds software solutions and provides technology consulting services to improve the quality of essential services for underserved populations. Headquartered in Cambridge, Massachusetts, Dimagi partners alongside governments, leading NGOs, and foundations such as the Bill & Melinda Gates Foundation, USAID, and the World Bank to tackle complex health and social inequities. Our open source technology platform, CommCare, is the world’s most widely-used and researched mobile data collection platform for frontline workers. To date, Dimagi’s team of project managers, engineers, and health experts have supported over 2,000 projects in 80 countries.
About the Position:
Dimagi is looking for a Java Platform Developer to join our Global Technology team and contribute to our SaaS division. This position is open to remote employment within South Africa or can be based out of our office in Cape Town, South Africa.
Our Global Technology team helps to develop and improve our platform’s architecture design for expressing end-to-end system workflows, both at the functional level and the technical level. Since CommCare is used for applications related to many different types of problems, from agricultural extension education to improving delivery outcomes at birth, the software is written as a portable application engine. That means we don’t often build custom code for specific projects.
Who we're looking for
We are seeking a full-time Java developer to join our mobile team, which is responsible for growing and maintaining Dimagi’s Android-based mobile tool CommCare as well as supporting our Web Apps platform, both of which share a powerful common Java based engine for running low-code configuration based apps. Since Dimagi works on many different types of problems, from agricultural extension education to improving delivery outcomes at birth, CommCare is written as a platform for non-developers to build their own app workflows. That means we don’t often build custom code for specific projects; instead, we get to do a lot of architecture design for expressing end-to-end system workflows, both at the functional level and the technical level.
The platform team at Dimagi is small, so everyone tends to have their hands in several pieces of the stack, while simultaneously finding certain areas to focus on more closely over time. Our developers share a passion for making things work in challenging environments and seeing the impact of our work first-hand.
Responsibilities of this role include:
- Helping to grow a mature open-source Android product base
- Support and build on top of our Spring based Web Apps platform
- Grow and maintain the common core Java engine used by our different platform front-ends
- Building quality software with a strong focus on usability by groups of people facing unique challenges (remote locations, low levels of literacy, no experience with technology, etc.)
- Helping to support infrastructures for testing, QA, and release management of the platform deliverables
Skills and requirements:
- 3+ years of experience in software development
- Familiarity with a high-level programming language, Java preferred
- Familiarity with the principles of good test-writing, and comfortable writing thorough tests for your own code
- Familiarity with using a version control system to facilitate collaborative work
- Ability to work well with flexible requirements
- Eligible to work in South Africa
- Has a strong background in Java
- Has familiarity with the Spring Boot framework
- Has created, deployed, and maintained an Android application in the past