Software developers on the product team primarily work on our codebases, writing and reviewing code. Developers also work with other teammates and users of our software to make sure we’re working on the most impactful things.
Software Development: 80%
- Design, build, document, and ship software that improves healthcare outcomes in underserved communities around the world. Write code.
- Work with Medic and its partners along the entire software development life-cycle: Understand problems, capture requirements, design modular software systems, write great software, and document each step.
- Participate in daily stand-up meetings, weekly iteration reviews, and monthly milestone reviews.
- Learn new languages, platforms, toolkits, libraries, tools, and application development paradigms as necessary. Build step by step.
- Contribute directly to open-source and free software projects as appropriate. This involves posting an update in the corresponding Slack channel every workday and participating in a stand-up meeting daily.
- Handling of various backlogs by prioritization and putting them in the workstream.
- Follow up on new issues that are raised in the main repository and prioritize work on the main and urgent issues. Time permitting, follow up on new PRs that are created in the main repository.
- Evaluate reported bugs (new issues) within 24 hours after submission, optimally to find a solution, provide a workaround or assess priority and/or complexity.
- Offer support to team-members by:
- Answering questions.
- Doing timely code reviews (ideally in under 24 hours from request).
- Direct support when needed.
- Follow up on production issues and address high-priority issues or production issues within one working day of discovery/submission.
- Keep abreast with changes in the app. Keep updated with any new developments. Check what the app developers are working on to ensure that there is no conflict and any arising issues are dealt with in good time.
- Strive to deliver high-quality and near-perfect software that is feature-complete, well-performing, well designed, error-free, and user-friendly.
- Proactively seek new technologies or implementations that might solve current problems in better/more efficient ways. This involves reading blogs, reading release blogs, and keeping aware of the changes happening with the technical scope. Looking for improvements for the existing software that has been worked on by other people.
- Proactively anticipate problems that might occur and act on them, preferably prior to release. This involves a daily review of all the possible risks involved. It also involves testing, mitigation of the possible risks, and a deeper understanding of the code in order to have a stable application. Imagine possible scenarios of what the user might do and come up with a solution.
- Assume release-manager responsibilities when assigned to a release.
- Adhere to the development workflow + comply with administrative duties. This has to be adhered to. The code has to be well written and easily understood.
- New code must conform to the coding style guide
Strategic Planning: 10%
- Evaluate tools and technologies; develop long-term software and platform roadmaps.
- Improvement; Assess if the solution is working and how it can be improved further.
Team Support: 10%
- Consult on technical needs for larger-scale deployments, including local hosting, SMS aggregators, app scalability, etc. This involves interaction with the app services and the relevant squads.
- Work collaboratively with the rest of the product team to turn user insights into new features and interfaces that help empower our users.
- Work with regional tech leads- app services developers in Africa and Asia on the configuration of Medic’s toolkit as needed and offer support when need be.
- Provide remote troubleshooting support to active deployments as needed.
- Prioritize troubleshooting urgent problems in live instances.
- Identify possible production problems by checking through or reviewing the issues that have been reported.
- Follow up and investigate questions asked on Slack channels and the CHT forum.
- Keeping in contact with SRE team.
- Provide workarounds and/or develop scripts that fix/address urgent issues that happen in production instances. When such issues arise, keep the product team informed about the progress made and implemented solutions.
- Provide technical information, explain processes, clarify interactions when requested and ensure proper documentation.
Skills Knowledge and Expertise
- Comp Science/ Engineering
- Industry Experience in Software Development
- Software development skills
- Experience in Agile Tools Usage
- Familiarity with SQL (relational databases) and non-relational databases
- Software design and development
- App Development
- Bug Resolution
- Technical Software Improvement
Purpose & Impact
- Ability to create and see real impact in your work
- Freedom to take initiative and innovate, bonus of an agile, small team
- Work for a globally awarded social enterprise recognized for developing a solution that can create global systems change in the health sector
- Work with a value and mission driven team that is consistently described as warm, incredibly kind and supportive
- Exposure to a diverse team: over 15 different nationalities
- Opportunities for global travel: all team meet-up + functional team meet-up + field visits
Work/Life & Growth
- Generous leave time: vacation, maternity/paternity, bereavement, & sick days
- Professional development funds & opportunities + 5 days off for prof dev
- Home Office Set up Stipend.
- Flexible, remote schedules
Medic is a global nonprofit organization with a mission to advance equitable healthcare and strengthen community health systems by building, innovating, applying, and scaling open-source, low-cost digital health tools in collaboration with communities, governments, and implementers. We envision a more just world in which health workers are supported as they provide care for their neighbors, universal health coverage is a reality, and health is a secured human right.
Medic serves as the technical steward and core contributor of the Community Health Toolkit (CHT), a leading open-source, global good for digital health and advanced community health systems. We drive increases in coverage, quality, and speed of care in the hardest-to-reach communities, improvements in health workforce performance, and greater data-driven decision-making among health system leadership. Digital health apps built using the CHT currently support over 41,000 health workers in 16 countries across Africa and Asia. To date, health workers using CHT apps have conducted over 80 million healthcare activities.
Our global team of 90+ teammates is our biggest strength. We live our organizational values of Humanity, Solidarity, Openness, Creativity and Initiative in everything we do. We are a remote-first organization that works across more than 14 countries, 32 cities, 4 physical hub locations (Nepal, Kenya, Uganda, and Senegal) and all time zones. We are dedicated software developers, researchers, project managers, designers, and operations specialists working together to reimagine care for all. Join our mission of building a more just world together!
How to apply
We are reviewing applications on a rolling basis- Please visit www.medic.org/careers or click here to apply.