My Google Code-in experience

Wednesday, May 21, 2014

Today’s post comes from Sushain K. Cherivirala, one of the 20 uber-talented grand prize winners of Google Code-in, an open source coding competition for 13-17 year old students. The Open Source Programs Office recently hosted all 20 winners, their parents, and mentors at the Google headquarters in Mountain View, California. Read more about Sushain’s experience in GCI below.
If I had to pick the single most educational experience of my life, it would be Google Code-in (GCI). I've completed MOOCs on topics from Philosophy to Functional Programming, finished my high school's computer science curriculum, taken  a computer science internship and participated in countless programming contests. But I can claim with confidence that Google's initiative to put high school students into real-world open source development environments is unparalleled in its influence on me. 

Google Code-in has helped me not only advance my technological expertise but also, more importantly, exposed me to an environment that few students my age have the opportunity to benefit from.

Throughout the course of the six week contest, I worked with Apertium, a free and open source platform for developing rule-based machine translation systems, not because I'm particularly adept at computational linguistics, but rather because of the exceptional atmosphere Apertium provided. I can recall the first time I ever connected to an IRC channel during GCI 2012; it was both my interest in the GCI task and my attraction to the positive, friendly environment on #apertium that convinced me to continue working with Apertium for the remainder of GCI 2012 and pick up with them at the start of GCI 2013. The positive development environment the mentors (Fran and Jonathan) established was conducive to learning, and more notably, learning from one's mistakes

Apertium's mentors were not just mentors in the sense that they reviewed my code and approved my tasks. Talking with the mentors exposed me to the world of academia, both its pleasures and pains. For instance, now I know the pitfalls of getting a PhD but also about extremely affordable European college tuitions that make me seriously consider applying to one next year, something that would never have crossed my mind without Fran's encouragement. Apertium, an organization by which its very nature encompasses developers of myriad cultures, languages, and social standards, has helped me grow a genuine appreciation for the world's diversity. I often find myself displaying a newfound interest in the stories and lives of my friends at school with foreign backgrounds, eager to learn more about their experiences and expand my narrow view of the world.

Working through IRC with people halfway across the world is not a particularly pleasant or efficient workflow; however, it did improve my communication skills as I learned to effectively communicate across time-zone differences, disparities in experience, and barriers like those I will inevitably encounter in my future workplace. For me, the greatest takeaway from working with these mentors has been their steadfast dedication to their projects and helping interested students. Google couldn't have chosen a more apt title for these mentors.

There's a certain indescribable pleasure associated with developing open source applications that help others, a feeling I had throughout GCI this year. My first task was writing documentation on developing web scrapers to build corpora used by Apertium for quality assurance and development. This helped me get back into the flow of GCI as I documented code I had worked extensively with last year. For the remainder of GCI, I concentrated heavily on coding with an emphasis on developing web applications. For example, I built a web concordancer with a Python backend and worked on APY, an HTTP API in Python using Tornado, designed to replace ScaleMT, a Java based Apertium webservice. I wrote a few modules for our IRC bot, begiak, and created a new statistics bot for the Apertium Wiki. While completing some other documentation tasks, I ended up writing a few scripts to perform the majority of the work such as creating huge data tables from SVN data and language vulnerability tables.

However, my crowning achievement during this Google Code-in was the development of Apertium-html-tools, a web application providing a fully localizable interface for translation, morphological analysis, and generation powered by Apertium APY. Apertium-html-tools was recently deployed on, serving several thousand users and translating the equivalent of a few King James Bibles' worth of text each day. My work with Apertium after GCI has consisted primarily of improving Html-tools with search engine optimization, performance improvements, new features and more. I'm honored to have had the opportunity to contribute to Apertium for the past two years and am looking forward to continuing my involvement in the future.
Visiting Google HQ in Mountain View as a grand prize winner was an awesome experience, one that I'll cherish for the remainder of my life. From the Segway tour of San Francisco to the tour of Google HQ, I made memories that will stand out as some of the most enjoyable moments of my life. I particularly enjoyed being able to talk with Fran whom I had been working with for the past few months. The food choices were only trumped by the excellent talks from Google engineers on everything from self-driving cars to Melange (the software on which GCI is run). Talking with like-minded students my age only helped make the experience more entertaining. To be honest, my only regret is having to board the plane back home; Google's Open Source Programs Office truly spares no expense in giving the winners the experience of their lifetime.

Out of all the programming contests I've participated in, Google Code-in has offered the most authentic experience; there are no synthetic problems designed to test your coding ability, every line of code goes towards improving an open source organization's software. Working with Apertium during GCI has afforded me a new perspective on software development, made me a strong proponent of open source software, helped me gain valuable experience that will undoubtedly help me in the future and convinced me to remain a lifetime contributor to open source.

By Sushain K. Cherivirala, GCI Grand Prize Winner with Apertium, 2013