August 20, 2018

Google Summer of Code Experience: Advice for Future Participants

 
As part of the Google Summer of Code program final project evaluations, I was asked to provide advice to future students and mentors in subsequent years. Here is the advice I gave:

Advice to Students:
I have three pieces of advice: do your research, reach outside of your comfort zone, and keep in communication with your mentor. Doing your research means that you continually reevaluate the big picture of your project. Start with a schematic of the workflow or project vision as outlined in your proposal. If you do not fully understand a set of issues (new algorithm, unfamiliar topical area), look them up or ask around.

Reaching outside of your comfort zone means you need to consider contingency plans for each step of your project in case something does not go as planned. If that requires a deep dive into a new method, then be willing to accommodate this into your project schedule. Do not spend too much time on learning new things, however, as the Summer moves pretty fast.

Finally, regular communication with your mentor on multiple channels helps with scheduling, project reevaluation, and keeping within expectations. I have used a combination of Slack, e-mail, and Google Meet with my mentees. Develop your own rhythm -- weekly Meet and e-mail updates can complement daily Slack communication. Don't be afraid to ask questions or take the initiative, but do be sure to coordinate this with your mentor's needs and expectations.

Advice to Mentors:
This year (2018), I mentored three students in two organizations. How did I do it? Weekly schedules, content management, and flexibility. Let's walk through this past summer to provide examples. The first thing I suggest is to mentor your students through the application process, so that their proposals align with your expectations and programmatic time constraints. During the community period, be sure to plan structured activities such as presentations to the broader community or access to background information on the organization and project.

As the coding period ramps up, be sure to set your weekly plan for communication. In my case, I scheduled a weekly meeting time (0.5 to 1 hour) for each student in Google Meet, set each student up in the appropriate Slack team, and prepared a weekly email newsletter (1-2 paragraphs) covering upcoming milestones. Also, be sure to utilize the link between Github issues and Waffle.io, as the latter serves to make outstanding tasks visually salient.

Our weekly meetings focused on four things:
1) what did you do this week/what will you do next week.
2) any outstanding issues/barriers to discuss in detail (or live demos).
3) upcoming milestones, planning for several weeks out.
4) review Waffle board issues, create new issues.
Finally, be flexible with respect to work style and meeting times. I had students from three different countries on two continents, and we often had to reschedule times. It is also important to let them adopt their own working rhythm (provided it is organized and within the bounds of the organization's needs). If they want to interact more or less on Slack, that is up to them. Just encourage them towards your community standards, and work from there. These things may seem like a lot to ask of a mentor, but I have found that it is worth it.

No comments:

Post a Comment

Printfriendly