Title: Backend Software Developer – Rhizome
Location of Assignment: NYHQ
Language(s) required: English
Duration of contract: 6 months (15 February 2016 through 8 August 2016)
Background & Rationale
The goal of the Global Polio Eradication Initiative (GPEI) is to complete the eradication and containment of all wild, vaccine-related and Sabin polioviruses, such that no child ever again suffers paralytic poliomyelitis.
Launched in 1988 after the World Health Assembly passed a resolution to eradicate polio, the GPEI, along with its partners (UNICEF, World Health Organization (WHO), Center for Disease Control (CDC), Rotary, and Bill and Melinda Gates Foundation(BMGF)), have helped countries to make huge progress in protecting the global population from this debilitating disease. As a result, global incidence of polio has decreased by 99% since GPEI’s foundation and an estimated 10 million people today are walking who would otherwise have been paralyzed by the disease. Now the task remains to tackle polio in its last few strongholds, essentially Afghanistan and Pakistan, and get rid of the final 1% of polio cases.
The polio program has embarked on an ambitious agenda to improve how data is collected, shared, and analyzed. As the program gets closer to eradication, greater accountability and local operational decision making is critical. High quality data visualizations, powered by real (or near real) time data, help program managers make this possible. The GPEI has defined a number of objectives to achieve this: 1) Cloud-based databases built with web services for real time data exchange, 2) decentralized data digitization at the lowest possible administrative level, 3) and harmonized indicators for ease of sharing data across the program.
UNICEF has begun developing a scalable data platform, Rhizome DB, which features a data warehouse, management and field-level dashboards, a custom dashboard builder, application programming interfaces for data exchange, and integration with other sources of data, such as Open Data Kit, RapidPro, and other partners’ databases. While a Beta version of the platform currently exists, there is significant development work that remains to be done, in terms of debugging but more importantly in terms of tailoring the software to the needs expressed by the field offices, by developing new features, and making Rhizome fit for these very specific contexts.
Under the direction of the technical lead, the software developer will support the development of Rhizome, UNICEF’s polio data platform.
- Develop new features, identify and fix bugs, improve the user experience, and commit code as directed by the Rhizome project lead
- Deploy Rhizome, including installation and customization, data ingestion, indicator creation, and general maintenance of the platform
- Tune performance and assist in scaling the data platform to grow with the polio program, including transitioning to new caching and indexing technologies like MongoDB and redis.
- Handle day to day to day data related questions from the field and make rapid deployments to handle the needs of the country office.
- Increase test coverage and performance of backend APIs and backend modules
Expected results: (measurable results)
- Daily code commits to Rhizome code base
- Daily management of developer tasks (feature development, bug fix, UX improvement, software deployment) via Rhizome’s Trello Board
- Contributes substantially to code development for 25 – 50 percent of known bugs and features
- Completion of tasks in accordance to “story points” in abidance by Agile Software Development principles.
- Developer will submit a weekly report with their story points completed as well as the planned tasks for the following week.
- New tasks will be assigned story points at a weekly meeting and dealt with in daily meetings in NYC headquarters.
- Story points are assigned to tasks in order to estimate an order of magnitude of a tasks, based on a “fibonacci“ scale.
- Tasks are tracked in the team’s trello board, and each task will have a product owner to which represents a specific deliverable for the program.
Timeline will be based on the story points of assigned tasks.
The developer is expected to work out of the NYHQ UNICEF office. No travel is foreseen in this consultancy.
Start date: February 15th 2016 End date: August 8th 2016
Deliverables: Complete bug fixes and new features development based on users’ feedback and as assigned by the technical lead
Duration (Estimated # of Days): 80
Deadline: August 8th, 2016
Deliverables: Support Rhizome’s deployment in priority countries
Duration (Estimated # of Days): 36
Deadline: August 8th 2016
Deliverables: Complete transitioning to new catching and indexing technologies
Duration (Estimated # of Days): 10
Deadline: August 8th, 2016
Total: 126 days
Key competences, technical background, and experience required Deadline
- Academic qualification and required level of education: Bachelor degree
- Experience integrating diverse applications using integration frameworks, web services and APIs.
- Experience working with Cloud providers and products (Amazon, Azure, Rackspace etc.).
- Experience with data management and visualization
- Experience with Agile
- Capable of deploying and maintaining software remotely on a Linux or UNIX-like server
- Experience with project management software, such as Trello
- Experience with Github or another version control software
- Experience with open source technology
- Minimum 5 years Junior to Mid-Level experience as a professional software developer
- Languages needed: English
- Ability to be a self-starter and to work with minimum supervision
- Experience in a multi-cultural and gender sensitive work environment
- Excellent communication skills, written and verbal, Strong interpersonal skills
- Ability to work with a team as well as independently. Ability to interface, collaborate with technical staff and designers.
How to Apply
Applicants are requested to send their submissions to firstname.lastname@example.org with subject line:
“Backend Software Developer – Rhizome” by 31st January 2016, 5:00pm EST.
Applications must include:
Please indicate your ability, availability and daily/monthly rate (in US$) to undertake the terms of reference above. Applications submitted without a daily/monthly rate will not be considered.
NOTE: Files should not exceed 5.0MB limit
UNICEF is committed to achieving workforce diversity in terms of gender, nationality and culture. Individuals from minority groups, indigenous groups and persons with disabilities are equally encouraged to apply. All applications will be treated with the strictest confidence.