Full Stack Software Engineer
Part-time, contract

Position: Full Stack Software Engineer
Reports to: Director of Technology
Engagement: Up to 25 hours per week
Compensation: Up to $50 USD per hour
Application deadline: May 15, 2025
Start Date: May 21, 2025
Location: remote and online

HealthLearn is an AIM-incubated nonprofit on a mission to save lives at scale. We build engaging online learning for health workers in developing countries. HealthLearn currently offers three courses in Nigeria 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 impact modeling for more information.

We are seeking a self-starting and experienced full-stack developer to be the third member of our small but mighty tech team. We offer mission-aligned work on a modern tech stack with great developer experience and flexible schedules. For us, this is the most meaningful work we have ever done.

Qualifications

  • 5+ years of experience in software development, including both front-end and back-end development

  • Strong self-starter with a product mindset

  • Great written communication skills

  • Ability to join team meetings at ~18:00 UTC on Mondays

  • Eligible to work as an independent contractor in your current country of residency

  • Experience with our technology stack (Typescript/React/Next.js/NestJS/Prisma) is a plus

Engineering Culture

We have an engineering-led product development cycle, and at our current scale 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 continuously improving our skills, and are early adopters of several AI-assisted development tools.

Even though we’re a startup, we prioritize safety and scalability in our product development. This shows up in a 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

  • No deploys (other than hotfixes) on Fridays

  • Minimal on-call requirements (we’ve had no major outages)

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

  • Work with other team members to develop specification for features

  • 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

Tech Stack

We use a monorepo for all three services defined below, and all three are written in typescript. Our staging and production services are hosted on Cloud Run in GCP, leaning on Terraform for services definitions, build processes, etc. Docker compose is used to bootstrap dev environments. The main components of our stack are:

  • NEXT.js front-end (v14 with app router, updating to v15 soon)

  • NestJS back-end

  • Strapi (deprecated CMS used to bootstrap the app)

  • Postgres in Cloud SQL (prisma ORM)

Application

We invite you to submit a brief application by May 15, 2025.