GSoC ’17: Takeaways
It has been over 6 months now, since I started working for Google Summer of Code. During this time I have learnt loads of stuff. Though all of it can’t be written in a single blog article, I have managed to write some of the most important lessons I learnt as a GSoC Student Developer.
Code Cleanup and documentation.
Most crucial part of code development for any open source organisation, and ironically most ignored part by the hobbyists. I came to know that this is an area where often hobbyists struggle at. This is due to the fact that we write code just for fun, and we don’t expect anyone else to be looking at it anytime in the future of this universe. However, when you are developing code for an organization, you need to take care of the fact that many other people may need reuse or reinvent your code, when you are not around. This needs proper cleanup of code, and simple and to the point documentation. In my experience, I spent entire two days looking at my code for any unused variables or unwanted code statements I might have left out while modifying my code for better results.
Story behind a single line of code.
I may be exaggerating a bit here, but it is true that when contributing to an open-source project, every single line of code represents a minimum of 10 hours of researching, understanding, planning, coding and then debugging. You need to be thorough with what you are adding as a part of your contribution. You can’t just use any name for variables and methods. They need to follow the patterns of existing code. That’s what is called as “clean and good code”.
Ability to research faster
This is one thing that I have developed tremendously while working on my project, and plan to keep enhancing further through other kinds of projects even after the GSoC. Thanks to GSoC, diving into codebases, digging up the documentations and gulping several threads on StackOverflow and GitHub in one go, feels like a breeze to me now.
Respect for Developers
Due to GSoC, I have developed a tremendous respect for all the developers out there in this world, contributing their valuable time, vast knowledge and best problem solving skills to some project. Being a developer seems like an easy job for newbies, but I have realised that its so much more than just making a working code. I have very little knowledge and experience compared to the developers who have mentored me. I have just started on this path. I hope to improve upon it in every possible way.
In The End…
GSoC has really improved my entire way of working with various codes. I can see the results in the way I’m handling my academic projects too. I have started working on two projects as a part of my curriculum, one of which involves the Rubik’s Cube solving algortihms and their simulation, and the other one is a research paper on a Grade Predicting Algorithm, which predicts the grades of students based on their previous performances. And I am using my entire GSoC experience to make the best out of these two projects. Moreover, GSoC has increased my capabilities to handle and manage workloads by tenfold. Now that it is coming to an end, I’m feeling that I have way too much free time to explore more kinds of tech present in this cyberspace. It was truly an enriching experience for me.
