Originally, an answer to What do mentors see in a participant while selecting them for GSoC? on Quora.
If you were a mentor, what would you want in a student?
As a participant, you are completely unknown to a mentor. You can embellish your resume with all the technologies in the world, with all sorts of exotic projects, but that wouldn’t bump up your chances.
Here’s a bunch of Dos and Don’ts:
“Greetings, I am a student, new to open source and I see that this community is gearing up for GSoC this year. This community does work in the field of my interest and I would love to become an active contributor, with this program as my first step. I had a look at the ideas page, and the project titled “XYZ” intrigues me. Since I haven’t worked with this community before, I would like to get started with some simple contributions. I read the getting started guide and here are my doubts …”
“Hello, I know C++, give me anything you have that has C++” (because I want a GSOC on my resume and $5500, to yourself).
“Hello, I am an olympiad winner with a 10/10 GPA in the most prestigious university of my country where I spent 2 years of mine working my ass off to get in and that makes me better than 99.999% programmers in my country, so select me.”
“Hello, I want to GSOC, give me project” (exact words, intentional grammatical mistake).
Make your intent clear. Do your own research. The community isn’t there for you, it’s there for the project. Show interest in the project more than GSoC.
Make small contributions to the project. Solve some trivial bugs. Then make a major contribution. This will take your chances of getting selected to nearly a hundred percent.
Wait around for someone to give you a project. As a mentor, one has several potential applicants. One would choose the candidate that sounds the most serious about the project.
Sitting around, waiting for your mentor to allot you work almost never helps. You taking initiative and solving bugs does. In most cases, you can never irritate anyone with a stupid question. There IS no stupid question. Generally, mentors love to work along with potential candidates to get them familiar with the codebase. The only thing is, you need to come out, and seem interested.
“The project titled XYZ intrigues me, I have done work ABC/Read PQR in this regard and here’s an idea on how to go about this problem. Here’s the diagram showing the idea flow and maybe there are better ways, but this is my take. I am open to suggestions.” (Even if it’s wrong, communicate with him/her on the right approach).
“Okay this project is cool. What to do?”
“Done. What next?”
“Okay done. What do I do next?”
He’s a mentor, not an instruction manual. Do your own research before asking questions.
“I am proficient with Python, here’s my Github profile to show the same.”
“I am not proficient with Python, but I have programmed in C++. I’m working on my Python skills, and here’s where I am reading from.”
“I don’t know programming at all, here’s where I am learning from. I am working on this mini-project to teach myself, here’s the Github link.”
Lie about being proficient, when you aren’t.
“I will learn after selection”
Mentors would prefer enthusiastic students over programming gurus. Do not lie.
Break the project statement and possible solution down into chunks. Distribute over 3 months. This shows that you know the project. That you’re serious about it. Show it to your mentor, make changes to it, make a draft 1,2,3,4… before final submission. This is what your timeline should look like:
“Okay, Mr. Mentor, I like this project, I’ll submit the application on time.”
Loop the mentor in. Show him you actually care about the project and understand it.
These may look like small things, but these things would help build the mentor’s trust in you. This is the only way a mentor would know you.
Here are some other tips: