Mentoring Google Summer of Code for Systers.
This year I joined Systers Open Source Community as a Google Summer of Code (GSoC) mentor. Mentoring students is not new to me, I have mentored some of my juniors during my university years and last year I was a Google Code-in (GCI) mentor for JBoss community. But GSoC has been a very different experience for me, mostly because of the following reasons:
- I had to mentor a grad student;
- All my team members were in different time zones;
- We had to design the product from scratch.
About the student and the project
During the summer I mentored Isabel Costa a grad student from Portugal. She wanted to develop a platform (Mentorship System) where members of the Systers community could find mentors who would help them enhance their skills. The community liked the idea and decided to select her for GSoC.
The project consisted on two parts, a backend application written in python using flask and an android client written in kotlin. Isabel worked on the backend application for the first two coding phases. For the last coding phase she has been working on the android client.
What I liked the most about Systers
I have been a part of a few open source organizations over the last couple of years. Mostly what they’re more concerned with is that you should write quality code and deliver what you have promised. There is little effort to get to know other community members or try to find ways in which the organization can help members in their personal growth. But Systers is very different, along with writing code equal importance is given to interacting with the community. Team Building Sessions and GSoC Happy Hours are hosted weekly to make members interact with one another. The community also helps you with your personal development. Not only my mentee but other GSoC students reached out to me and asked for advice regarding their personal growth. My Project Manager also helped me apply for a fellowship.
What I learned from GSoC
1. Being accessible is the key — For a successful GSoC project its necessary that the mentor is accessible and approachable regularly. Otherwise the student may feel intimidated while sharing the issues or doubts they are facing. Also important is to encourage the student to interact with other community members, so that they are not 100% dependent on you for answers and learn how to engage with others within an Open Source community.
2. Mentoring is tiring but satisfying — Mentoring gives you a feeling of satisfaction that you have contributed in ways other than writing code. After a day at work when you get home in the evening (sometimes night) and then have to review code, give feedback, attend meetings, host office hours and doubt clearing sessions you feel very tired and realize that being a GSoC mentor is a huge commitment. But at the end of each coding phase when you see the progress that has been made, it’s the best feeling.
3. Guiding when the student is stuck — Mentoring is not doing the student’s work when he/she is stuck. It’s about guiding him/her in the right direction where they can find the solution. Before you show the solution to the student encourage him/her suggest one. You need to understand the level of experience of the student to helped them the best you can. If the student is inexperienced you may have to be more patient and explain the whys of certain decisions. Also telling them about best practices which will make their work easy is very important. Encourage them to ask questions publicly where the rest of the community can also give solutions or provide feedback.
The most important thing, I have made some friends at Systers. I look forward to completing this journey and making sure that the project is completed on time. I’m not sure but if I have time next year I would like to be a GSoC mentor again.