ODK is open-source software that helps users build powerful offline forms to collect the data they need wherever it is. It's trusted by social impact organizations like the World Health Organization, Red Cross, Carter Center, and the Jane Goodall Institute.
ODK is led by a small, diverse, and distributed @Team with guidance from the @TAB. We care deeply about having social impact, building open-source software, and empowering our community.
About the job
ODK is looking for a Senior Software Engineer to join our core team. The ideal candidate has built data processing software, cares about user experience, and is a great writer. 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 cooperative
Preferred qualifications
- Experience with data collection, analysis, or visualization systems
- Experience designing and documenting APIs
- Experience with Node.js, Vue.js, PostgreSQL, and Docker
- 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
- Contribute to an open-source project 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
How to apply
To apply, send your resume to jobs@getodk.org with the subject "Senior Software Engineer for ODK". In the email or optional cover letter, 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 if those go well, a paid trial project. Trial projects are typically 20-30 hours, and give us the chance to get to know each other before pursuing a more long-term arrangement.