Location
Remote
Job Type
full-time
Work Format
🌍 Remote Worldwide
Salary
$167K – $177K
Posted
October 21, 2026

Job Description

About Schoolhouse

Founded by Sal Khan, Schoolhouse is a peer-to-peer learning platform that delivers human connection and develops durable skills through online learning to best prepare students to thrive in the age of AI. So far, we’ve reached 200k+ learners from 180+ countries and we plan to grow to millions.

About the Vision

Our vision is to provide an education safety net to ensure that no talent goes undiscovered and that every student feels empowered in our changing world. We do this by bringing high school students together around learning to create an environment where they can develop and showcase academic mastery and durable skills.

At Schoolhouse, learning is academic, civic, and global. Students join tutoring sessions where peers help them reach academic goals through personalized support. They participate in Dialogues to discuss challenging issues and empathize across divides. Above all, students belong to a global community centered around human connection.

We believe this vision is ambitious, so we need a team that can move quickly in the face of ambiguity. We value sincerity and empathy and believe deeply in the power of human connection. We step in to help each other out, we think big but start small, we uplift each other, and we’re all learners at heart.

Learn more about our vision and our values here:

  • Teen Helps 52-Year-Old Man Earn His High School Diploma

  • The Power of Peer Tutoring

  • Schoolhouse’s Public Roadmap

  • What are Schoolhouse's community values?

About the Role

We’re looking for Mid-level Software Engineers who want to build stuff that’ll have an impact. You’ll join our 5-person engineering team and own full-stack features that hundreds of thousands of learners and tutors use worldwide.

Engineers at Schoolhouse have lots of ownership — you’ll work directly with our designer and other stakeholders to build out new experiments and streamline existing operations. We think the best way for engineers to build a quality product is to be involved early, drive progress, and stay close to our end users.

Scaling free quality interactions between students around the world comes with challenges that live at the intersection of UX, people ops, and technology. We need to both meet learner / tutor needs while ensuring that these interactions stay high quality and safe.

Some examples of what we’ve worked on include:

  • Building an AI simulation & coach to help tutors practice for their first tutoring session

  • Experimenting with new ways to connect tutors to learners wanting immediate homework help

  • Creating a moderation system to automatically recognize and act on safety issues so humans can focus their time on the most important issues

 

Responsibilities:

  • Work with users and teammates to understand problems, contribute product ideas, and take work from prototypes / experiments through deployment.

  • Scope work and make technical decisions with support from experienced teammates.

  • Write simple, readable code that’s easy to maintain and change.

  • Participate in code reviews and pairing sessions to help maintain codebase quality.

About You

If this sounds like you, we’d love for you to apply!

  • You’ve been a full-stack software engineer 3+ years and have a track record of building & shipping full-stack features.

  • You can explain the product and technical tradeoffs behind the approaches you’ve taken.

  • You have experience with Typescript, Node.js, React, Next.js, and Postgres (or can ramp up quickly).

  • You build for users & have a nose for understanding what would help them the most.

  • You move quickly while maintaining code quality. Perfect is the enemy of good.

  • You fill in the gaps — you ask for help, but still work independently to figure things out. If necessary you can put on another hat if it’ll help users the most.

  • You’re available to work in a US timezone.

Bonus points

  • You have deep technical experience with our stack Typescript, Node.js, React, Next.js, Postgres, AWS, and GCP.

  • You have experience building mobile apps.

  • You have experience working in education or on an ed-tech product.

Life at Schoolhouse

  • Work with an amazing team. We’ve got folks with backgrounds in education, consulting, astrophysics, startups, and more.

  • Fully remote with flexible working hours. Meetings are in US Pacific Time mornings.

  • Take real time off. We have unlimited PTO & use it. Folks regularly take time off throughout the year.

  • Competitive salary and comprehensive benefits. Work-from-home stipend. Professional development budget. Health, dental, vision (for US employees).

  • Semesterly retreats and monthly regional meetups

  • Make an impact you can see. Check out our community stories page. Watch students help each other learn. See tutors grow into leaders. Your code will help real people learn and grow.

About the Application Process

  • We might make some adjustments, but our expected interview process:

  • A 30-minute intro screen to learn more about you and understand whether this role is a mutual fit

  • A 45-minute screen where you'll read some code and brainstorm / prioritize product ideas

  • A 1-hour programming interview where you’ll fix bugs and implement features on a toy repo

  • A 1-hour systems design problem where you'll design a data model / api and handle challenges at scale

  • A 45-minute culture fit call with non-technical team members

  • Reference calls

 

We’re building an inclusive and equitable platform for learners across the world, and it’s important our core team reflects these principles too. Research shows people who identify as being from underrepresented groups are more prone to doubting the strength of their candidacy, so we strongly encourage to you apply even if you do not believe you meet every single qualification. Not all strong candidates will meet every single qualification as listed.

🎯 Who is this job for?

This role is suitable for a Mid-level Software Engineer with at least three years of full-stack development experience and the ability to work independently in a remote, US-time-zone team.

The candidate should be skilled in TypeScript, Node.js, React, Next.js, and PostgreSQL, with familiarity with AWS or GCP, product thinking, technical trade-offs, code reviews, and collaborative development.

They should be experienced in understanding user needs, shaping product ideas, scoping and designing solutions, building prototypes and experiments, shipping maintainable full-stack features, and improving products at scale, ideally in education or safety-focused platforms.

💬 Potential Interview Questions

How would you design a full-stack feature using React, Next.js, Node.js, and Postgres from initial prototype through deployment?

I would clarify user needs and success metrics first, then define the API, data model, UI states, and rollout plan. I would implement a thin vertical slice, test it with users, add monitoring, and iterate while keeping the code modular and maintainable.

How would you model tutoring sessions, participants, and learner-tutor matching in Postgres?

I would separate users, sessions, participant roles, availability, and matching requests into normalized tables with foreign keys and appropriate indexes. I would also define constraints for valid session states and consider transaction boundaries to prevent duplicate bookings or inconsistent participation records.

How would you design an API for connecting learners who need immediate homework help with available tutors?

The API could expose endpoints for creating help requests, publishing tutor availability, retrieving compatible matches, and accepting or declining a match. Matching should be idempotent and concurrency-safe, with clear status transitions, authorization checks, and timeouts for stale requests.

What techniques would you use to optimize a Next.js application serving hundreds of thousands of learners?

I would choose server-side rendering, static generation, or client-side fetching based on how dynamic and personalized each page is. I would optimize database queries, cache safe responses, paginate large datasets, minimize client-side JavaScript, and monitor Core Web Vitals and server performance.

How would you handle authentication and authorization for students, tutors, moderators, and administrators?

I would authenticate users with secure sessions or tokens and enforce authorization on the server for every protected operation. Role-based permissions should be centralized, with resource-level checks ensuring users can only access sessions, messages, or moderation data they are allowed to view.

How would you design a moderation system that combines automated detection with human review?

I would process messages or session events through a moderation pipeline that assigns risk scores and categories, then route high-confidence violations to automated actions and ambiguous cases to human reviewers. Every decision should be auditable, reversible where appropriate, and designed to minimize false positives and bias.

How would you make a Node.js API reliable when multiple users update the same tutoring session concurrently?

I would use database transactions, row-level locking or optimistic concurrency checks, and explicit state-transition validation. Requests should be idempotent where possible, and conflicts should return predictable errors rather than silently overwriting another user’s update.

What would you test when implementing a new peer-learning workflow?

I would test core business rules with unit tests, API behavior and database interactions with integration tests, and critical user journeys with end-to-end tests. I would include authorization, failure states, concurrent actions, accessibility, and safety-related edge cases rather than testing only the happy path.

How would you approach an experiment for a new learner-tutor matching flow?

I would define the hypothesis, target users, guardrail metrics, and success criteria before implementation. I would release the smallest safe version behind a feature flag, instrument the funnel, review qualitative feedback, and compare outcomes while monitoring safety and learner experience.

How would you deploy and operate this application across AWS or GCP?

I would use automated CI/CD with separate environments, database migration management, secret storage, centralized logging, metrics, and alerting. Deployments should support rollback or rapid mitigation, and production changes should be observable through health checks, error tracking, and key product metrics.

📋 Job Summary

Schoolhouse is a peer-to-peer learning platform helping students worldwide build academic mastery and durable skills through human connection. As a Mid-level Software Engineer, you’ll own full-stack features from prototype to deployment, collaborate with users and stakeholders, and build impactful tools such as AI coaching and safety systems. Work with TypeScript, Node.js, React, Next.js, PostgreSQL, AWS, and GCP in a fully remote role with flexible hours aligned to US time zones. Earn $167K–$177K while enjoying unlimited PTO, comprehensive benefits, professional development support, and the opportunity to help millions of learners thrive.

Required Skills

TypeScript Node.js React Next.js PostgreSQL AWS GCP

Never miss a JavaScript opportunity

Subscribe to get similar jobs and weekly insights delivered to your inbox

Hiring JavaScript developers?

Post your job to 9,400+ registered developers. Starting free.

See Pricing

Related jobs

Is this your listing? Claim or request removal