Experienced Python Web Application Developer

Location: Remote
Availability: 35-40 hours per week
Working hours: US East business hours
Reporting to: Backend lead

KoboToolbox has an immediate opening for an experienced Python Web Application Developer to fill a full-time position of approximately 35-40 hours per week, ideally for a commitment of at least 1 year. As a member of our team, you will share in the challenge and excitement of writing code used by over 14,000 nonprofit organizations around the world who collect more than 20 million surveys a month to create data-driven change.

Applicants with diverse professional experience are encouraged to apply. A commitment to mastering our backend technologies as well as advanced knowledge of both Python and relational databases as applied to real-world web applications are required. This means that you must already have experience working on systems supporting substantial volumes of traffic and data. Beyond technical acumen, we are seeking a team member who demonstrates curiosity, initiative, and a cooperative approach to problem solving and decision-making.

If you’re passionate about leveraging technology to make a positive impact, we want to hear from you!

Responsibilities

  • Writing robust, concise, and reusable code with accompanying tests and documentation.
  • Searching and reading the extensive, long-lived code base—which spans multiple libraries, projects, and programming languages—to understand, follow, and (where appropriate) challenge existing behavior and conventions.
  • Reviewing other developers’ code and providing constructive feedback.
  • Distilling requests from the humanitarian community into technically detailed feature requests (and, of course, writing bug reports!).
  • Scoping, prioritizing, estimating, and organizing work into manageable-sized tasks.
  • Attending regular videoconference check-ins with other members of the technical team.
  • Communicating with the public in conjunction with our support staff or directly through forums, issue trackers, etc.
  • Shaping the design and architecture of the overall tool suite collaboratively with the larger team.
  • Performing other related duties as directed by the lead developers.

Required Qualifications

  • Experience writing, deploying, and maintaining server-side Python code for real-world, API-driven web applications.
  • Substantial understanding of relational databases, their performance characteristics, and methods of mapping relational data into an object-oriented programming environment.
  • Interest in data collection (surveying), particularly in humanitarian emergencies and other challenging contexts, and a desire to improve our platform for our users.
  • Proficiency with spoken and written English.
  • Fluency with Git.
  • Overlap with working hours in the Eastern time zone.
  • Average availability of at least 30 hours per week, preferably 35 hours or more.

Preferred Qualifications

Experience with the following is preferred but not required to apply:

  • Django (and particularly Django REST Framework)
  • Celery
  • PostgreSQL
  • MongoDB
  • Redis
  • XLSForm, ODK XForm, and OpenRosa
  • NGINX and uWSGI
  • Ubuntu Linux
  • Docker, Kubernetes, and Helm

How to apply

If your skills and schedule match our needs, and you are ready for the challenging yet rewarding work of building tools for humanitarian response and resource-constrained environments, please fill out this questionnaire to apply.