What and Hows of RGSoC
Today we are delighted to feature a post by guest blogger and RGSoC Alumni, Akshita Aggarwal, who offers some sound advice for anyone thinking of applying as a student this season. It’s a very worthwhile read. Enjoy!
Your Questions Answered
Since the announcement of Rails Girls Summer of Code 2020, I have been getting a lot of messages from aspiring participants of how they can increase their chances of getting selected, what goes into the application process, etc.
This blog is an attempt to answer all of those questions to the best of my abilities.
Q1. What is RGSoC?
RGSoC is a 3-month-long Open Source program (July to September) that enables people to contribute to some super-exciting open source projects while being paid to do so :)
Q2. Who can participate?
All people with non-binary gender identities or who identify as female (transgender or cisgender) are welcome to apply.
Q3. What are the steps involved?
- Since RGSoC is a program where people participate in pairs, the first step is finding a partner
- Each team needs to look for coaches to help them during the coding process. So the second step is to look for coaches
- Once the application period begins, the next step is to choose the project to contribute to. Choosing a suitable project would be step 3
- Filling the application form would be step 4
Q4. How do I find a teammate?
It is usually preferred to team up with someone you have coded with before or someone you are comfortable working with. In case you haven’t worked with someone before, you can look for teammates in your college or in local communities that you are part of. Also, Twitter can be a good source for finding teammates.
This link details how to use Twitter for finding a teammate: https://railsgirlssummerofcode.org/students/finding-your-team/
Q5. How do I find coaches?
A coach can be any person who is willing to guide you through the application and the coding period. It is advisable to look for coaches with whom you can meet offline as this eases the process of seeking help. That doesn’t mean you shouldn’t look for remote coaches at all. In my case, I chose my college seniors as coaches as they were easily approachable (2 seniors helped us remotely and 2 of them locally). Again, you can look for coaches in your college as well as your local community. There are lots of people out there ready to help. All you have to do is ask. You can approach people on LinkedIn, Twitter, etc and ask them for help.
Q6. What should we do before the application period begins?
- Finalize your teammate
- Finalize the coaches
- Decide on a programming language both of you (as students) are comfortable to work in. This step isn’t compulsory as you might want to choose a project that interests you but is in a language you haven’t worked with. In our case, we were sure that we wanted to improve our JavaScript skills and hence decided to look for JS projects only. This step depends on the goals of the team. Choosing a language beforehand helped us to curtail our project search to only JS projects
- If you have time in hand, try looking at past RGSoC projects to get an idea of the kind of tasks that are assigned. (This is not mandatory)
Q7. What do I need to do once the application period begins?
- Go through the list of projects and shortlist a few that you both are interested in contributing to (on the basis of your skills, your language of interest, the idea of the project)
- Go to the GitHub Repository of the project(s) you are interested in and try reading the documentation to learn more. This could be a difficult process, especially for newcomers to open source. Make sure not to jump to the code base directly as this can be daunting at times due to the length of it. Seek help in case the documentation is difficult to understand
- For getting help, go to the communication channel of the organization to which the project belongs. This could be a Slack/Gitter channel. The project details page usually has the link for the communication channel. Some projects do not have such channels and for them, communication takes place on the RGSoC project details page in the comments section. Introduce yourself in the channel (by saying that you are an aspiring participant and wish to begin making contributions). The maintainers would surely respond with steps to help you get started. Contributing within the application period is not at all mandatory but doing so will not only help you to understand the project better but also gives you an edge in the application process. It is equally important to communicate with the maintainers (mentor) of the project and discuss your ideas with them on Slack/Gitter/RGSoC project page.
- Simultaneous to the contributions, start drafting your application. The application form consists of 3 main sections. As mentioned on the RGSoC official website:
The application form is split into three sections, where you will be asked: a. questions about yourself, your experience with coding so far, and other information that is relevant to our decision-making process. You and your teammate will fill in this information separately b. to select your chosen (and second choice) project from a drop-down menu c. about your team setup. Do this together as a team
For part (a), make sure to tell your story and your journey with the world of programming. For part (b), choose your favorite 2 projects. For part (c), answer the question in terms of how the two of you would be comfortable working together as a team.
An important part of application writing is to make sure to get it reviewed by someone (this could be your coaches, seniors, etc.). Getting the application reviewed enables the resolving of grammatical errors along with getting a third-person opinion on your essays.
- Choose whether you wish to work full-time or part-time. From the RGSoC website:
During your application, you will have the option to select whether you are applying as a full- or part-time student, or both. Both are subject to the same selection process and adhere to the same guidelines. If selected, part-time teams receive the same support and opportunities but the monthly stipend reflects the difference in project working hours.</ol>
Q8. I am a beginner in programming. Should I participate?
RGSoC includes projects of varying levels of difficulty as well as projects of various different programming languages. This is done to ensure that people with varying skill-sets and expertise can contribute. Also, things can be learned along the way. Make sure that you being a beginner in programming shouldn’t stop you from participating.
Q9. My teammate and I have different skill-sets. How should we decide on one project?
In my case, I was fortunate enough to find a team-mate who wanted to work with the same programming language. But if that’s not the case with you, there isn’t much to worry about. Usually, a number of projects require working with more than 1 language, so you can choose one of them. If that’s not the case, one of you can help the other to learn a specific language and then contribute. After all, one of the aims of RGSoC is to learn new things.
More details can be found on the official website of RGSoC.
All the best with the application process!
Akshita Aggarwal is a former RGSoC student (2018 edition). This blog post originally appeared at https://medium.com/@aggarwalakshita1/what-and-hows-of-rgsoc-d4ee14f29a0e on 16 December 2019.