As we reach the winter solstice, many of us undergrads would have started trying for summer internships in open source. This seemed like a good time for this post as usually we don’t find an outlook on what needs to be done. I’ll try to present all the options that might be available to you and the fallback paths too. If I miss something or any doubt that you think should be addressed in this article, feel free to comment, I’ll try to update it! All the best!
I’ll assume that
- You love coding.
- You’re a student enrolled at a university because most of these internships have this as a qualifying criteria.
- You want to learn and make you summers worthwhile. Plus earn some money 😛
- You’re ready to commit for it.
Let’s get down to business
There are internship opportunities which are available to the student and December seems like a good time for you to get started and dive into contributing. Here are a list of summer internships that’ll bde most likely there in summer 2019:
- Google Summer of Code (GSoC)
- Rails Girls Summer of Code (RGSoC)
- Bountyful Open Source Summer (BOSS) — Coding Blocks
Same old, same old
Most of these internships follow some usual course of actions to let you start working with them in the summers. Like any other project you must know what it is about. In most of the internships, the organisations submit a project proposal of what they want to be done in the summers.
Among the above opportunities, Outreachy and GSoC are open irrespective of gender and Outreachy rewards more monetary stipend than GSoC in many countries. RGSoC is open for girls only.
Finding an organisation
The first step involves finding a projects that interests you, gives you chills! So simply head out to respective insternship websites and search for active project. You can also find projects on the organisations that took part in the internship last year. There is a high probablity that these organisations will reappear this year as well.
Projects are usually the tasks that the organisation aims to complete in the summer. In order to work on the website/application/tech, you must get familiar with it.
It’s not always the about the project. The organisation plays a very important role too. Because well, in the end you want to take something great with you!
Let’s talk it out
This brings us to our next step. Let’s say you found a hello-world NodeJs application and found it interesting and now you want to do work on it but not sure what to do. The best thing to do is ask the people who are already working it, right? General modes of communications to the organisations are Gitter channels, IRC channels, through emails or some other mode that the organisation prefers. On the GSoC organisation page, you can simply spot it out.
Now that you know where to talk, without overthinking, just send the mentors a message saying “Hi! I wanted to start contributing for GSoC. Please help me get started.” They’ll help you with the methods to set up their project, open issues, creating PRs etc.
Getting familiar with the summer project
So now that you’re familiar with the organisation and thier tech, it’s time to get fimiliar with the project that you want to do in the summer. There are two ways to go around with this. One is that you could simply choose one of the projects that they have decided or you could suggest one of your own. For example, you want to write “Howdy mate!” in the hello-world application. Propose this idea to the organisation and they’d tell you how feasible it would be.
Getting familiar with the project that you want to be working on is one of the most crucial part. As the knowlege of this would help you prepare the final proposal that you will be submitting.
Among the legends of GSoC, RGSoC and Outreachy, I also mentioned BOSS. That could be your fallback! Coding Blocks organises a competition called BOSS where you can solve bugs for bounty and win awesome prizes!
Some wise words
- Never Give Up! This is the most important key to remember if you want to a GSoC or any other internship. No doubts that there might come a time when you’d feel like, “What the hell am I doing?!” or that “this stuff should be easy and I’m stuck on it for days” or my personal favorite, “I can’t even get the application setup!”. These things should never stop you, remember that it’s thier project, thier environment and you should try atleast 3 days setting up the project.
- Do not hesisate, we’re all here to learn. Open source communities are in general very helpful and there’s always a first time for everyone so don’t think that this doubt is too small, just politely ping the community and provide a full description of what your doubt is.
- Do your research. We often tend to ask our doubt as soon as they appear on our screen! That’s not a good way to go about that. Many times we as mentors will also copy paste the error on Google and suggest the answer that’s written on the first Stackoverflow page, well you could also do that.
- It can get hard sometimes, chill out! It’s not a race that you have to win! Even though you don’t get selected in the internship, there are multiple other benefits. Firstly, you got to learn so much. Secondly, depending on the organisation and your dedication, the org may offer you internship!
Keep Coding! Keep learning!
My name is Siddhant Srivastav, an undergrad student at the IndianInstitute of Information Technology, Allahabad.
I love creating. I love to code in Python and JS. I love Open source and contributing in projects I find interesting.