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

Apply here

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.

Apply here