Mobile Software EngineerApply Now
Mobile Software Engineer
Tech Team - Full-time
Senior Mobile Software Engineer at Dimagi
Dimagi is looking for a software developer to join our team. We are a small and growing social enterprise with offices around the world. Our systems are deployed globally, including in Africa, Asia, Latin America, and the United States. We offer a fun and stimulating environment, a chance to see the world, and the opportunity to make a difference in places that need it most. At Dimagi, you can have a great impact by creating great software.
What We Do
We work on a broad range of international development issues, including strengthening community health programs, electronic medical records, care coordination, and remote data collection. We have projects in over 50 countries including Zambia, Tanzania, Uganda, South Africa, Ethiopia, India, Bangladesh, Senegal, Mexico, Nigeria, Nicaragua, Kenya, Afghanistan and the United States.
We are highly collaborative with partner organizations, and strong advocates for open-source. At Dimagi, you will have the opportunity to grow your skill set as well as make a real impact across the world. All of our developers have the option to spend at least a few weeks each year traveling to field sites around the world, implementing projects and interacting with end users.
Who we're looking for
We are seeking a full-time developer to join our mobile team, which is responsible for growing and maintaining Dimagi’s Android-based mobile tool, CommCare. 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. 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 mobile team at Dimagi is small, so everyone tends to have their hands in several pieces of the platform, while simultaneously finding certain areas to focus on more closely over time. This position is ideal for someone who enjoys small organizations, multi-tasking, and a highly flexible work environment. 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
- 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
Skills and requirements:
- 2+ years of experience in software development, or a bachelor's degree or higher
- Familiarity with a high-level programming language, such as Java or Python
- Familiarity with using a version control system to facilitate collaborative work
- Ability to work well with, and communicate effectively in spite of, flexible requirements
- Authorized to work in the country for which you are applying
The ideal candidate also:
- Has a background in Java
- Has experience with Android development