I’ve been a GSoC mentor twice now. Here are things that I think need to be done by a mentor so that the student has a good experience.

  • Make time during the start of GSoC. This time is when the student and you get accustomed to working with each other. Don’t take too much time off in the first few weeks, if possible.

  • Make sure that their stuff gets to production. Releasing often works well in most engineering projects, but it specifically helps students see their code having real life effects.

  • Set clear expectations. For each phase, make sure that both you and students know a success criteria.

  • Make sure that the project has a reasonable conclusion period.

  • Give feedback early. Don’t let pull requests linger.

  • Set up regular meeting times. Don’t flake on the meetings.

  • Plan. Make sure that you and the student are aligned on what you’re expecting to get done regularly. I have found a weekly planning meeting to work well, but I think other timeframes could work too.

  • Try to make sure the student doesn’t get distracted.

  • Keep the student accountable. If they’re falling behind, ask them why and try to resolve blockers early.

  • Don’t micro-manage.