Pesto Open Source Apprenticeship

Pesto is a 12-week training program where we teach software engineers in India how to be effective remote employees and then help them break into international tech careers via full-time remote jobs.

During the last four weeks of training students complete an open source apprenticeship, where they contribute to popular open source projects for free.

Goal of the apprenticeship

The goal of the apprenticeship is to give engineers hands-on experience working in a fully remote environment. Contributing to open source not only helps them sharpen their technical skills but also refine their soft skills like learning how to communicate through Github issues, collaborating across time zones, incorporating feedback from code reviews, etc.

What projects are eligible?

Any maintainer can submit their project. However, students choose projects based on their areas of interest and the project's likelihood to help them get a job. [1]

We currently use full-stack JavaScript with React during our training program. Therefore open source projects that are primarily JavaScript/TypeScript/Node/React/Redux/etc are more likely to be selected. [2]

What is expected from maintainers?

  • A 30-minute on-boarding video call during the first week to get to know each other and clear up any questions
  • A list of "good first time contributor" issues to get started
  • Timely pull-request review so that the engineer doesn't get blocked since they will be devoting around 5 hours per day Mon-Fri to the project
  • Complete a short survey at the end that will serve as a performance review

We do not expect any technical mentorship beyond what would be given to other contributors that make pull requests to your project. The students have access to our senior engineering teaching staff to guide them if they get stuck.

When does the apprenticeship start?

We have a new batch of students starting each month. Students pick the projects that they are interested in 2-3 weeks before they start their apprenticeships. If a student picks your project to work on, we will reach back out to confirm the dates still work for you.

If the dates work and the project is still a good fit, we intro you to the student and you two can coordinate directly to assign issues and schedule the on-boarding call.

If you submit a project and it's no longer a good fit by the time a student expresses interest, it's not a big deal. They can select a new project from our list and we don't take any offense. 🙂

How experienced are your students?

The typical student has a CS degree and 1-5 years of work experience as a software engineer prior to starting our training.

If you are interested in submitting a project, please fill out form below and we will be in touch.



  1. Don't worry if your company or organization isn't directly interested in hiring. Many awesome projects are maintained by people or organizations with no open positions or no interest in hiring remotely. We still want to list your project 🙂
  2. Examples of successful past projects: Reddit Enhancement Suite, p5.js, Stryker