Software Engineer

Help us make great software that makes a difference

ODK is open-source software that helps researchers, field teams, and other professionals collect data anywhere. It's used by social impact organizations like the World Health Organization, Red Cross, the Carter Center, and more.

ODK is made by a small, diverse, and fully-remote team. We care deeply about taking on big problems, doing meaningful work, and having fun while doing it.

We're looking for self-directed, user-oriented, and kind people who have a history of exceeding expectations to join us. If this sounds like you, apply below.

About the job

ODK is looking for a Software Engineer to join our team. The ideal candidate is passionate about user experience and writes clearly and concisely. Your primary responsibilities will include:

  • Helping shape ODK's roadmap
  • Specifying, designing, and building new features
  • Writing maintainable code, tests, and documentation
  • Reviewing your teammates' code and providing feedback
  • Providing occasional technical support to users

Some of the improvements you will help design and build solutions for include:

  • Better integration between our mobile app and server platform (e.g., synchronization of large data sets, pushing client configs from the server)
  • Repeated encounters with the same entity (e.g., a patient's multiple medical visits, a natural resource that is periodically surveyed)
  • More natural representation and management of organizations' forms, data, and workflows (e.g., richer role-based permissions, partitioning data sets by department, tasking users to complete a sequence of forms)

Minimum qualifications

  • Has experience communicating directly with users about their needs
  • Has 5+ years of professional software development experience
  • Has experience on projects that span multiple programming languages
  • Can read carefully, write clearly, and think methodically
  • Can provide friendly, thoughtful, and constructive advice
  • Is curious, persistent, and collaborative

Preferred qualifications

  • Experience with data collection, analysis, or visualization systems
  • Experience designing and documenting APIs
  • Experience with Node.js, Vue.js, and Typescript
  • Experience leading globally distributed teams
  • Interest in user experience, user interfaces, visual design
  • History of contributions to open source projects
  • History of working on problems with social impact

What we offer

  • Join a team with immense social impact
  • Work with a open, distributed, and fun community
  • Flexible multi-year contract-based arrangement
  • Flexible hours, remote work, and location independence
  • Expected annual compensation is USD $120K-$180K

How to apply

To apply, send your resume to jobs@getodk.org with the subject "Software Engineer for ODK". In the email, answer this prompt:

  • What's a feature you think needs to be added to ODK? How did you decide that was a good feature to add? How would you go about implementing it?

Promising candidates will get 1-2 short interviews and a small paid programming project. If those go well, we will pursue more a long-term arrangement.