What and Hows of RGSoC

Posted on by Akshita Aggarwal

Apply now!

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?

  1. Since RGSoC is a program where people participate in pairs, the first step is finding a partner
  2. Each team needs to look for coaches to help them during the coding process. So the second step is to look for coaches
  3. Once the application period begins, the next step is to choose the project to contribute to. Choosing a suitable project would be step 3
  4. 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?

  1. Finalize your teammate
  2. Finalize the coaches
  3. 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
  4. 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?

  1. 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)
  2. 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
  3. 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.
  4. 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.

  5. Choose whether you wish to work full-time or part-time. From the RGSoC website:
  6. 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.

RGSoC 2020 student applications are open!

Posted on by RGSoC Team

RGSoC 2020 Applications are now open!

RGSoC 2020 student applications are now open! (thanks to Rebecca Conrad for the original illustrations)

It has been a bumper year for project submissions. Our dedicated volunteer reviewers (thanks, team) have spent the past few weeks, in a haze of caffeine, reading, evaluating and discussing all 48 proposals and have just finished making their (often taxing) decisions. Phew!

We thank everyone who entered a project. While we cannot take them all to the next stage, they were all incredibly interesting and had a lot of merit. As a result of being on our Teams App, some people have already started contributing to the projects that weren’t chosen, so they will still benefit from the process. The RGSoC community is amazing! 😍

Students, start prepping!

Now for some really exciting news. RGSoC student applications have officially started on Monday, 02 March 2020.

Here’s your chance to join a global movement that champions underrepresented groups in the field of tech. If you identify as female or non-binary, have at least 12 months’ experience of coding, and possess a passion to progress as a developer then you’re in the right place!

RGSoC offers a:

  • unique opportunity to learn while making valuable OS contributions

  • 3-month community-funded scholarship (01 July - 30 September 2020)

  • network of mentors, coaches, and supervisors who offer code-based and non-technical support throughout the program

  • choice of incredible open source projects to contribute to while you learn

  • chance to kick-start (or change into) a career in programming career with valuable experience on your CV/resume

Sounds good, eh?

Everything you need to know about applying can be found in the student guide so please make sure the first thing you do is read it carefully.

When you’ve organised your teammate, apply in the Teams App at https://teams.railsgirlssummerofcode.org/apply

Don’t forget, your teammate should be living in the same region so that you can meet up every day. And remember, you’ll be working together for many, many hours over the three months, so it is a good idea to pair with someone you get on with well.

Good to know

After the application stage closes on 30 March, our courageous band of reviewers will read each and every entry and face the most difficult part of the RGSoC calendar - choosing the successful candidates.

While we’d prefer to offer a place to everyone, the number of scholarships relies on the success of our fundraising campaign. So if you know anyone who can support it, please refer them to https://railsgirlssummerofcode.org/campaign/ . Who wouldn’t be tempted to see their name in lights in exchange for a small donation? Well, on the RGSoC website, anyway.

To help you make a stronger application, think about including details of:

  • how long you have been coding and what you already (like to) contribute to

  • any communities you are involved with, such as meetups, workshops or conferences

  • dreams, goals, long term plans

  • details you may have discussed with the project maintainer/mentor that led you to choose the RGSoC project(s) in your application

  • experience of co-working (good and bad - especially if you resolved any issues)

It’s best to start filling the application form early, even if you’re still searching for coaches and/or a working space.

Your application can be saved as a draft for you to continue and submit any time before the deadline. That’s 23:00 UTC on 30 March 2020, remember. Sorry, but any applications received after that time cannot be considered.

Your choice of projects

We’ve got a whole host of delectable open source projects for you to choose from this year. A list of projects and links to read more about each one is included below. We’re now crowdfunding to ensure as many student teams and projects can partificapte in RGSoC starting in July.

Your coaches should be able to advise which projects would be good for you to choose, considering the languages they involve and difficulty level of the tasks. Of course, it’s also important the project interests you, so always keep that in mind.

Volunteer reviewers

In 2018, we received 195 applications from student teams. We hope to have even half that number again this year, but it also means there is a lot of work ahead of us. It takes time to read and review all those applications, and we can’t do it without help.

If you are interested in joining our reviewer team, then please email us on contact@rgsoc.org. (As much as we appreciate all offers, in the interest of being fair applicants cannot also be reviewers.)

Good luck for your applications. We can’t wait to read them!

Projects

Here’s a brief list of all the selected projects to whet your appetite:

Technologies: machine-learning-algorithms, cpp11, google-test, cuda boost-python

Technologies: Python

Technologies: Benchmarking, ChartJS, Golang, Monitoring, React, Scalability, Web-Sockets

Technologies: Ruby, HTML, CSS, Javascript

Technologies: Flutter, Dart, Firebase, Git, UI/UX

Technologies: Python, Django, React, SQL, Git

Technologies: browser extensions, c++, computer science, java, python

Technologies: UI/UX, React, MongoDB, Angular, databases, Javascript, Nodejs, web-development

Technologies: clojure, R, data science, data visualization

Technologies: css, flask, git, html, java script, python, tensorflow

Technologies: UI, UX, dev ops, ruby, ruby on rails, web dev

  • Name: H2

Technologies: typescript, javascript, electron, tensorflow

  • Name: if-me.org Mental health communication app

Technologies: Ruby on Rails, React, Postgres, HTML, SCSS, CSS, Flow, Storybook, Rspec, Capybara, Jest, Enzyme, Webpack

Technologies: React, Redux, Redux-Sagas, Heroku, Docker, Node.js, Redis, Emotion, Prop-Types, MongoDB, Mongoose, Travis, Sketch, Figma, InVision, Framer

Technologies: Rust

Technologies: Bootstrap, Flask, Jinja, LGPD, MySQL, Python, SQLAlchemy

Technologies: clojure, testing, functional programming

Technologies: nodejs, emscripten, latex

Technologies: Django, JavaScript, Python, Vue

Technologies: CSS, Database, Design, Education, Figma, Git, Github, HTML, JavaScript, Node, Progressive Web App, Rails, React, Ruby, Storybook, UI/UX

Technologies: Javascript, React, NodeJS, GraphQL, MongoDB, SASS Semantic, UI

Technologies: Flutter, Dart, Firebase, Git, UI/UX

Technologies: python, image, visualization, n-dimensional, array, qt, GUI, OpenGL

Technologies: data-structures, algorithms, python3

Technologies: C#, CSS, HTML, Javascrip, Syncfusion, asp.net core

Technologies: C, gaming, graphics, ios, opengl, ruby, tvos, webassembly

Technologies: assembler, compiler, computer science, performance, ruby

Technologies: Machine Learning, Image Processing, GitHub, Natural Language Processing (NLP), Information Retrieval, Python, HTML, CSS, JS

Technologies: JavaScript, CSS, Animation, Webpack, Rails, Rspec, React

Technologies: Python, image analysis, image processing, array

Technologies: nodejs, electronjs, css, html, javascript

Technologies: SASS, SCSS, HTML, JavaScript, Flask, Python

Technologies: Arduino, CSS, HTML, IoT, JavaScript, NodeJS

Technologies: Rails, React, Ruby, Wikipedia, performance

Alumni Interview with Ipshita Chatterjee

Posted on by RGSoC Team

In the second of our series of Alumni Interviews, Ipshita Chatterjee from New Delhi tells us how the experience of working on coala with RGSoC 2017 helped jump-start her career as a software engineer. Now working as a member of Technical Staff for Adobe, Ipshita is still passionate about diversity in technology and has some brilliant advice for new students.

When did you first become interested in programming?

My first brush with Computer Science was at age 13 when I took an HTML elective in high school. The power of a few simple lines of code to create beautiful web pages fascinated me immensely and motivated me to pursue a career in programming.

I pursued a Bachelor of Engineering degree in Computer Engineering at the Netaji Subhas University of Technology at the University of Delhi, which subsequently led to my first job in the tech industry.

Did you always plan to have a career in tech?

Computer Science, to me, is empowering - a tool with which we can forge and transform our future. The sheer transformational power of technology, in impacting lives all over the world captivated me from a very young age. I have planned to pursue a career in this field ever since.

So, what was your RGSoC project all about?

I worked on writing linter bears for coala, a platform-agnostic static analyzer - a unified command-line interface for linting and fixing all your code, regardless of the programming languages you use. At the end of the summer, I was able to introduce the support for HAML linting to coala, adding to the vast repertoire of languages supported by the tool.

Which skills did you find most useful during RGSoC?

RGSoC is a program that calls for technical and non-technical skills in equal measure, as it is effectively a preview of what a software development job looks like. Coding, testing, documenting, reviewing and technical design skills are essential for working on an open source project for three months.

In addition, project management skills like breaking down large goals into smaller, incremental tasks, tracking daily progress, effective and open communication, and collaboration with your team and the larger open source community are key to a successful summer.

What challenges did you encounter during the program?

The entire experience of RGSoC, right from the application phase, has been a steep and enriching learning curve. RGSoC was my first foray into open source development and through the application process, I learnt to venture out of my comfort zone and tackle new challenges.

RGSoC gave me the opportunity to share my experience on an international platform at Codemotion Berlin, which was an unforgettable experience for me.

Initially, I was skeptical and hesitant to ask for help, but through the summer, I realized that no question is too trivial and the community is here to help out. The RGSoC team’s support allowed me to chart my own course of success, focusing on developing my skills regardless of any external benchmarks.

RGSoC made me realize the power of communication and community. I learnt to establish open and honest channels of communication, and respect and incorporate diverse perspectives. The learnings from this program have proved extremely useful for my professional and personal growth.

What do you do in your current job role?

I currently work in a software engineering role at Adobe, on a vast array of cloud technologies. A typical day comprises of coding, testing, debugging, collaborations with my teammates and learning more about the tools and technologies in use in the cloud computing world.

How did your participation in RGSoC help you get to where you are today?

RGSoC has been a life-altering experience for me and I am indebted to it for the connections and opportunities it has given me. Being a part of this wonderful community, working towards promoting diversity in technology, a cause that is very close to my heart, has been immensely fulfilling. Through RGSoC, I have been able to forge meaningful professional connections all over the world and use these learnings to kickstart my career in technology.

Do you have any advice for new RGSoC students and for women and non-binary people who wish to work in tech?

Do not be afraid to venture out of your comfort zone and try new things! It is often intimidating to see other people’s accomplishments, but everything, big and small, starts with the first step. No question is too trivial and don’t hesitate to ask for help. You’ll be amazed at how much you can achieve.

Supporting coders of the future

If you’ve been inspired by Ipshita’s story and would like to help more beginner coders get started in open source, why not donate to the RGSoC crowdfunding campaign? 100% goes towards supporting future RGSoC student teams and bringing more diversity to tech.

Crowdfunding for 2020 scholarships has commenced

Posted on by RGSoC Team

There is already so much buzz around the program this year. With student teams coming together, coaches signing up to help, and mentors submitting projects it gets more exciting by the day.

Now our focus turns to the scholarships, and we need your help.

Your chance to make a difference

Ten teams. That’s our aim. Provide ten teams - that’s 20 students - a chance to work on open source projects this year. But the cold reality is this requires funding.

By donating, you contribute to the scholarships that enable someone from an underrepresented group to get started in open source. Just take a look at what we’ve achieved so far since 2013:

RGSoC Stats 2013-18

Thanks to our early bird sponsors, we’re well on our way again in 2020. But we can do better. Aim high, but dream BIG. Let’s shatter even our own expectations and see how many teams we can fund this year.

#donatebecause

Visit our donation page and pledge whatever you can. Large or small amounts, it’s all important. It all helps bring diversity to tech and it all plays a part in training the women and non-binary individuals who are passionate about coding.

Over the next few months we’ll be sharing some personal stories in a new series of Alumni Interviews. These first-hand accounts are in former students’ own words and shine a light on how big an impact our humble program makes 😊

We also want to hear your reasons for supporting RGSoC 2020. Use the hashtag #donatebecause and you could be the reason someone joins our incredible community.

Thank you

We can’t say it enough. For what you make possible, thank you.

Alumni Interview with Keziah Naggita

Posted on by RGSoC Team

In our new series of Alumni Interviews, we are proud to showcase the interesting paths RGSoC students have gone on to since working on their projects.

First up, Keziah Naggita. As a student in 2016, Keziah worked as part of a remote team on Qutebrowser before going on to coach in 2018. Currently, Keziah is pursuing a PhD in Computer Science at Toyota Technological Institute at Chicago.

When did you first become interested in programming?

I started programming seriously in my second year at university when I interned in the Artificial Intelligence and Data Science lab at Makerere University, Uganda. During the internship, I learnt how to communicate logic using python, which was very interesting.

Which skills did you find most useful during RGSoC?

Writing clean, well-tested code and working with a diverse team.

What challenges did you encounter during the program?

Initially, the big codebase was very intimidating. We patiently and deeply studied module by module to understand the flow and different components of the code, which later made it easier to contribute to the codebase.

Timezone differences were a big challenge because we all had different timezones. Mentors, supervisors, coaches and ourselves lived in different parts of the world. We held several focused meetings, documented our meetings and communicated over Slack to keep communication consistent.

Working with Git is continuously a learning process. Initially, things like making a pull request and squashing commits were a challenge, as time went on, with more and more trials, massive failures and small victories, Git became a part of us.

I am very grateful to RGSoC because this process helped me grow both professionally and personally. And by the time the summer was over, I was more confident in my ability to work with Git, and contributing to Open Source.

How did your participation in RGSoC help you get to where you are today?

RGSoC to me is a reminder of diving into the unknown, moving to unfamiliar territories and making meaningful contributions to the community. At the beginning of RGSoC there were several things I didn’t know how to do, for example, TDD, working with Git and so much more. When I eventually made some significant contributions to qutebrowser, it changed the way I saw myself. I learnt to believe in myself, my ability to learn anything I put my mind to, and trusting the process.

Do you have any advice for new RGSoC students and for women and non-binary people who wish to work in tech?

Believe in your ability to learn and excel at anything. Trust the process, celebrate progress, breath and make wonderful friends in the community. RGSoC avails to you a great support system to fall back on, make use of it! All the great software engineers you see started with “hello world”.