“Imagine a world in which every single human being can freely share in the sum of all knowledge.”

Foreword

Google Summer of Code (GSoC) is a global program focused on introducing students to open source software development. Students work on a 3 month programming project with an open source organization during their break from university.

As a part of Google Summer of Code, student participants are paired with a mentor from the participating organizations, gaining exposure to real-world software development and techniques. Students have the opportunity to spend the break between their school semesters earning a stipend while working in areas related to their interests.

In turn, the participating organizations are able to identify and bring in new developers who implement new features and hopefully continue to contribute to open source even after the program is over. Most importantly, more code is created and released for the use and benefit of all.

Introduction

I believe that Open source projects are a great way of developing quality products by working together with other developers. I have always wanted to contribute to projects that I myself use to give back to the Community. Back in my school days, I remember using Wikipedia extensively for assignments and projects. While going through the GSoC organizations list, when I came across Wikimedia Foundation, I knew it was the organization I wanted to apply to.

For me, Google Summer of Code was an opportunity to meet the community, exchange ideas, learn new skills play a small role in the open source community, and contribute to the organisation that I love. I immediately started working on drafting my proposal as well as performed all the required micro-tasks to familiarize myself with the codebase.

Ad Astra Per Aspera

May 4 2020, I got an email with the subject line “GSoC 2020: Congratulations, your proposal with Wikimedia Foundation has been accepted!" 🎉
My joy knew no bounds. I was super excited to get started and was looking forward to a great summer!

The project I will be working on is Upgrade WebdriverIO to the latest version for all repositories. My Google Summer of Code Proposal can be found here.

The Journey so far

A huge shoutout to my mentor, Željko for giving me the best on-boarding experience ever! In such a short duration, the community has really grown on me. One of the major reasons for this is that the organization offers so many opportunities to get involved in the community.

Test Stratergy by RiskStorming with TestSphere

This was a part of the EngProd virtual offsite: micro hackathon. In such hackathons, the main motive is to pick small bugs/tasks and work with people you don’t normally collaborate with.

Daily Meeting

Testsphere is a card game for testers! It was developed by Beren Van Daele and is sold through Ministry of Testing. RiskStorming is a way to expose the biggest and most important risks to a product or project. It’s a way to discuss and discover things that are often quite scary to talk about. No one really wants to dwell on ways their product could catastrophically fail. The cards provide a nice, fun, colourful vehicle to discuss these.

The projects that we tested were :

  1. The Death Star (I wish I was a Star Wars fan to actually understand more of what was going on 😅)
    ✔ Quality aspects picked: Functionality, Testability, Operations, Resource Management, Disaster Control, Security and Permissions, Performance
  2. Wikipedia Donation Banners
    ✔ Quality aspects picked: Accessibility, Internationalization, User-friendliness, Performance, Security and Permissions, Concurrency

For more info check here.

The WaterCooler 🚰

I always wondered how networking was possible if you are working remotely. But there’s a solution for every problem right? So what if normal workplace scenarios like, heading out to get a glass of water and running into a co-worker at that point of time is not possible. You can always set up a meet to catch up with each others lives. The WaterCooler meet aims to do just that. I personally feel it is a great initiative to learn more about each other and take some time off work.

I would like to share one of the stories I got to hear on the WaterCooler by James. Early in his career he worked in an aviation company in the UK. The project was related to the network connectivity of the airplane during it’s entire journey. The code was written. The code was tested by flying the plane through UK Everything seemed to be working fine. Now the interesting part, during an international journey the network connection was working just fine uptil it suddenly disconnected completely. When the flight landed, the development team was called to figure out what went wrong. Turns out the flight passed through the equator (lattitude: 0) leading to the divide by zero error! 😱

For someone like me, who is just getting started as a developer, I loved interacting with the highly experienced members of the community. (Not kidding, few of them have years of experience greater than what my age is!)

The TDD Workshop

This workshop was by far one of the best experiences I’ve had so far. The workshop was about learning basics of Test Driven Development - its rules and Red-Green-Refactor loop. The workshop was very interactive and all the participants worked together while writing code as well as refactoring it. (You can refer to the code for this workshop on GitHub)

TDD Workshop

Carpe diem

As far as the internship is concerned, I’m quite on track. Currently, the second work period has begun. I still remember the day I had my first commits merged. It was and always will be special, for I had made my first ever contribution to the organization. Since the community bonding period, not only have my coding skills improve, I have even learnt the importance of good commit messages, bug reports and small patches. I have also gained a new sense of professionalism and a clearer view of what it meant to be working as a community! You can view my progress so far here.

Afterword

The organization has been very helpful and welcoming since the day I began my application process. Whenever I was stuck with something, I have always received the guidance I need however silly my questions might have been. I see myself continuing to contribute to Wikimedia Foundation as a Volunteer even after the program ends.