Wednesday, April 9, 2014

Am I Google Material? (Google Summer of Code Part 1)

Hello all!

I figured I would dedicate my first official blog post (excluding mandatory hello world post) to an overview of my experience with Google Summer of Code (GSoC).

First of all, you might not know what GSoC is! So let's start there. First, from the Google Summer of Code wikipedia:
The Google Summer of Code (GSoC) is an annual program, first held from May to August 2005,[1] in which Google awards stipends (of US$5,500, as of 2014)[2] to all students who successfully complete a requested free and open-source software coding project during the summer. The program is open to students aged 18 or over – the closely relatedGoogle Code-In is intended for students under the age of 18.
 Now, my way of explaining. So just imagine, there are tons of companies and universities out there who have these grand project ideas (which they want to give out for free), but they can't afford to dedicated paid employees to create them (since they want to give them out for free), so Google had this great idea. They realized that some people in colleges and universities all around the world love to code (and to get paid for it). Thus, this program was created. Organizations need free labor to produce awesome, open-source software. Students need a chance to get hands-on, open-source experience. Google loves to help people. A beautiful relationship was formed.

Now that we're all on the same page, I'll explain a little bit about my involvement with GSoC.

One professor here at Mercer University is a self-described Google "fan-girl." She directed me towards this program last February, and I was intrigued. Get paid $5,500 just to do some programming over the summer (when I didn't have anything planned anyway), yes please! So I began to scour the Google Summer of Code webpage. I searched through the database of possible mentoring organizations (those colleges and universities I mentioned earlier) to find the "one" that would have that perfect project that would make me rich and famous... Turns out, I couldn't find the "one". As a matter of fact, it took my weeks to decide on any organization, let alone a specific project. [Sure, I could have proposed my own project, but I had never done any real coding outside of a classroom, what did I know about the real world.] Finally, I found a project that actually related to a problem I had...

For those of you who have never used the Eclipse Debugger, particularly when working with Arrays, Array Lists, pretty much any collection, consider yourself lucky. The interface is terrible for debugging these types. Honestly, at one point, I had to go through 5 levels of indentation to get to a single value. 5 levels of indentation. Horrifiying.

Thankfully, a PhD student at the University of Technology in Vienna had an idea for a way to improve this much outdated debugging software. He had a prototype for an Eclipse Array Explorer plugin which would allow users to quickly and easily debug all sorts of Java collections. I was amazed by the features of the prototype! (The Eclipse Array Explorer Prototype Paper can be found here) I knew this was the project on which I wanted to work.

I spent the next few days contact this PhD student, asking him how I could set myself apart from other candidates wanting to work with the University. As it turns out, there were a lot more of these candidates than I had expected (~20 students). I was tasked with several small projects before I had even written a proposal for the Array Explorer project. Fortunately for me, I was able to vastly exceed expectations on the project.

Finally, I wrote a proposal for the actual project I on which I hoped to work. As it turns out, I was an over-achiever. The average proposal length is supposed to be around 2 pages, this is not a hard requirement and it is never posted anywhere on ANY of the websites about GSoC. So there I was with an 8 pages proposal with detailed graphs, images, flow charts, and Gantt charts detailing my work almost down to the day. I sent this lengthy proposal to my mentor, and he emailed back within 10 minutes, "Yes, it is good. Now where is the short version"... The short version?? What do you mean?? I wrote 8 pages! How can this not be good enough! So I rushed to weed out, cut out, shorten as much as I could. Finally, I submitted 2.5 pages (I needed that Gantt chart!) After waiting for 3 weeks, I finally heard back that I was accepted to the program...

No comments:

Post a Comment