Full Stack Software Engineer
Position: Full Stack Software Engineer
Reports to: Director of Technology
Location: remote and online
Engagement: Full Time
Compensation: $60,000-$78,000/year for US-based candidates.
We recognize this is below market rate for senior engineers and are looking for candidates motivated by the opportunity to do highly cost-effective work. We aim to lift salaries across the organization toward nonprofit market rates in the coming years.
Note: salary offers will be adjusted within this range based on experience and candidate needs; candidates based outside of the US should expect these salary bands to be adjusted by cost of living to ensure pay equity
Benefits: Unlimited PTO
Application deadline: March 20, 2026
Start Date: April 20, 2026
The Organization
HealthLearn is an AIM-incubated nonprofit on a mission to save lives at scale. We build engaging online learning for health workers in low- and middle-income countries. HealthLearn currently offers three courses in Nigeria, two in Zambia, and one in Uganda, which have collectively reached tens of thousands of health workers. We believe that our intervention is extremely cost-effective, on par with the best charities in the world, and has saved hundreds of lives since our launch in 2024. See our 2025 wrap-up blog post and previous impact modeling for more information.
We are seeking a self-starting and experienced full-stack developer to join our 3-person engineering team. We offer mission-aligned work on a modern tech stack, flexible working hours, and unlimited paid leave. For us, this is the most meaningful and potentially impactful work we have ever done, and we hope to find someone who shares our enthusiasm for the mission. We anticipate the engineering team can remain small even as we continue to scale - your contributions as the second Full-Time engineer would be significant.
Engineering Culture
We have an engineering-led product development cycle, and don’t have distinct product or design teams. Accordingly, we’re looking for engineers who have an eye towards good UX, empathy for users, and a good sense for design.
We are geographically distributed and meet pretty infrequently, leaving lots of time for deep work.
We are continuously improving our skills, and are early adopters of several AI-assisted development tools. Currently a majority of new lines are co-authored with Claude or other code agents. We have a high bar for correctness and stability, so we review all code that gets merged. We anticipate a growing fraction of our time will be spent speccing, reviewing, and QAing generated code.
Even though we’re a young organization and want to ship fast, we prioritize safety and scalability in our product development. This shows up in many ways:
Consistent and careful code reviews with somewhat frequent change requests
High levels of type-safety in our code to avoid runtime errors
Broad unit and integration test coverage
Careful (automated) deployments with regular QA in the staging environment
Monitoring of our services via sentry instrumentation and gcp dashboards
Shipping some features as experiments to assess performance
Caution with user-facing AI features
No deploys (other than hotfixes) on Fridays
Minimal on-call requirements (we’ve had no major outages, and just a handful of situations that warranted an off-hours hotfix)
Our Stack
We use docker compose for local development, wrapping a NestJS API service and a Next.js front-end service, both written with strict Typescript types throughout, and living in a monorepo. Data is stored in Postgres wrapped by the Prisma ORM. We work to keep our client bundles lean and render most pages and components server-side, as our end users are often on slow connections or old devices. Everything is hosted in Cloud SQL and Cloud Run on GCP, with backing terraform definitions for most bits. We have deployments and automated testing for PRs via Cloud Build. Deploys run roughly every 2 weeks, including a stop for QA by the engineering team in our staging environment.
Qualifications
5+ years of experience in software development, including both front-end and back-end development
Highly independent and proactive, able to take full ownership of tasks
A strong product sense, and empathy for end users
Great written communication skills
High integrity
Ability to join team meetings on zoom at ~19:00 UTC on Mondays
Nice-to-Haves
Familiarity with our stack (Typescript/React/Next.js/NestJS/Prisma)
Facility with data-analysis for evaluation of product performance
UX and UI design chops
Knowledge about cloud infrastructure, GCP, terraform, etc.
Experience building for users in Low- and Middle-Income Countries
Enthusiasm for integrating AI/LLM tools in software development.
Responsibilities
Contribute to the development of both the front- and back-end of our online learning web application
Review pull requests generated by other team members and provide constructive feedback
Work with other team members to develop features end-to-end, from ideation to deployment to evaluation
Join weekly 1-hr engineering calls to review progress, address blockers, and adjust the product roadmap
Share responsibility for maintaining a stable platform with high performance and high uptime
Application
Please apply only if you have a lot of experience - we aren’t in a position to provide significant mentorship to get someone up to speed.
We invite you to submit a brief application by March 20, 2026.