Job Description: Sr. Backend Engineer (Nest.js)

About the Role

We are looking for a skilled backend developer to join our development team. As an ideal candidate, you will have a strong background in building scalable backend services using the Nest.js framework.

To ensure success as a Nest.js developer, you should have strong knowledge of JavaScript and TypeScript concepts, excellent backend coding skills, and a good understanding of building scalable backend services.

This is a full-time role, and can be carried out by an employee or full-time contractor.


Key Responsibilities:

  • Design, develop, and maintain scalable, reusable, and performance-driven backend services using the Nest.js framework.
  • Proficient in database design, architecting database schemas, optimizing data structures, and ensuring data integrity.
  • Collaborate with frontend engineers to design and implement APIs.
  • Ensure code quality, maintainability, and adherence to best practices.
  • Participate in all aspects of the software development lifecycle, from design to deployment.
  • Stay updated with the latest developments in the Node.js, Nest.js ecosystem and backend technologies.
  • Write unit and integration tests to ensure robustness and reliability of the backend code.
  • Provide technical support and mentorship to junior developers, if applicable.


  • Bachelor’s or Master’s degree in Computer Science, Information Systems, or a related field.
  • Minimum of 4 experience in backend development and a proven track record with Nest.js.
  • Strong understanding of TypeScript and its core principles.
  • Proficiency in designing and implementing RESTful APIs.
  • Knowledge of Node.js and its ecosystem.
  • Familiarity with databases, including Postgres.
  • Experience with ORM tools..
  • Knowledge of server-side caching mechanisms.
  • Ability to write clean, readable, and maintainable code.
  • Experience with modern backend development tools, such as Docker, CI/CD, etc.
  • Excellent troubleshooting and debugging skills.
  • Good communication skills, both written and verbal.
  • Strong team player with a proactive attitude and a desire to learn.

The ideal candidate also has:

  • Familiarity with GraphQL and GraphQL best practices.
  • Experience designing microservices.
  • Experience with Prisma ORM.
  • 5+ years of experience working on fully remote teams.
  • Experience with frontend technologies, especially React and Apollo Client.

Personal Characteristics

  • A mature, empathetic perspective on teamwork, problem solving, and the value of our mission to improve education for young people worldwide.
  • Willingness to grow personally and professionally.
  • High standard of quality and ability to evaluate own work critically.
  • Commitment to timeliness and deadlines.
  • Ability to work productively with interdisciplinary teams.
  • Ability and commitment to collaborate with others on new ideas, and to give and receive thoughtful and respectful feedback.
  • Excellent communication skills.
  • Ability to work on multiple projects at one time and prioritize appropriately, and to maintain focus when priorities evolve and change.
  • Ability to solve problems independently and collaboratively, with a strong attention to detail.
  • Ability to work effectively remotely, with a fully remote team.

About Opportunity Education

Opportunity Education (OE) is a non-profit foundation focused on learning innovation in the US and overseas. With a fully remote team of 20+ in the US, and an in-office team of 18 in Tanzania, we create resources, curriculum and tools needed by teachers to enable students to engage, own their learning process, and learn effectively from feedback. 

OE was founded by entrepreneur philanthropist Joe Ricketts in 2005 and has served over 1 million students in 11 countries. For more about our work, visit us at

To apply or for more information about these roles, contact Andrew Fredette.