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.
Requirements
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
Benefits
- Genuine Impact: Contribute directly to projects that impact millions of people around the world globally, working alongside the largest international humanitarian organizations as well as thousands of national and small community based partners in 200 countries.
- Meaningful Work Environment: Join a team that believes work should be meaningful as well as fun, tackling global challenges through innovative data collection and management tools with a proven impact for lasting change.
- Diverse Team: Be part of an amazing, progressive, and globally diverse team that values diversity, equity, and inclusion across all spectrums.
- Flexible Work Culture: Enjoy mutual flexibility, the option for a 4-day workweek, and supported by a culture that prioritizes work-life balance.
- Professional Development: Benefit from generous professional development options.