Software Engineer

Purpose
We’re looking for developers who want to build foundational data systems that drive change. Our team has worked on projects that record the social infrastructure of entire countries, tally the winners of national elections, and reduce infant mortality. We build software that solves real problems and you will too. 
This position is to work on the OpenSRP team at Ona. OpenSRP is an open source mobile health platform that allows frontline health workers to electronically register and track the health of their entire client population. Read more about OpenSRP.
Qualities we’re looking for:
Thoughtful coder

You understand the importance of abstractions and interfaces. You keep modules loosely coupled and know that algorithms + data structures = programs.

You read and understand existing systems before diving in. You know how to prototype, how to iterate, and when to step back and think it through or ask questions.

Builder

You are committed to the projects you work on and need to see them through to completion. You understand that solving the user’s problem is the end goal.

Lifelong learner

You stay up to date with the latest trends and are excited to learn new languages, tools, and best practices.

Explorer

You thrive in teams and projects that span timezones and cultures.

You’re ready and excited to travel in order to support projects, no matter how dusty or remote.

Responsibilities

Contribute and collaborate to the vibrant OpenSRP open source community

Define client needs, system requirements, dependencies between requirements, and expected timelines

Design, architect, extend and build Android client applications

Coordinate and balance priorities of multiple projects and deliverables

Essential

Minimum 3 years programming production Java web applications

Minimum 3 years programming production Android client applications

Experience programming with APIs and service based architectures

Experience with databases and their integration into web and Android applications

Strong attention to detail and understanding of architectural dependencies

Strong troubleshooting and problem solving skills.

Desirable

Experience with Clojure, JavaScript, and Python

Experience with OpenSRP, OpenMRS, other EMRs

Experience working with remote teams