Google Code Jam

So I’ve made it past the qualifier round of the Google Code Jam.

The Code Jam is an annual programming competition where the top contestants win cash prizes and a free trip to the Google headquarters in California.  The first place prize is $10000 and 10 free lunches at Google, although the true prize is a job offer from Google.  If anything, it’s a great way for Google to hire the best and the brightest.

I’m taking part in it not necessarily for the job, as I don’t have any plans on leaving Ottawa anytime soon.  But I’m jumping myself here, as the probability of me getting far in this contest is pretty remote.  For one thing, I haven’t trained or practiced for this competition, and I haven’t really competed all that often.

This will be my second ever programming competition.  I did participate in one back in third year University.  I was actually happy on how well I did that time, as my partner and I were short a team member (we didn’t know you could have 3 members per team) and we were also short reference material (you were allowed to bring your textbooks).  We ended up placing 6th in Alberta, and like 16th in the national pool.  It sounds bad, but that beat my expectations as we were up against Masters and 4th year students.  We also didn’t know what to expect and hadn’t prepared at all.

That’s the thing about programming contests.  It’s that they ask a specific type of question which does require some preparation and training for to do well.  Most of the time the types of problems presented are heavy on the algorithms and math side, the kind of problem solving that take up only 5% of your time in real world everyday programming situations.  However, it’s the most critical and interesting (to me anyways) part of programming.  Much like having a broad chess opening repertoire, it’s also good to have a broad understanding of various algorithms.  And much like chess, it’s something that you don’t achieve simply through practice.

So, my whole point is that having not prepared for the Google Code Jam, I totally have low expectations of how well I do.  I actually don’t even think I’ll make it past the first round.  The qualifiers were pretty easy and a basic screen for competency.  I really don’t expect to make it past the first round.

But I’m not doing it to win prize money or get a job offer.  I think I’m taking part in it because I enjoy the challenge, and the pressure it puts on me to be on my toes.  It’s also a good way to keep sharp and use my critical thinking skills.  It’s easy to solve problems at work when there’s no hard time constraint, but in thick of competition against the clock and other competitors, it really demands you to be sharper.

I’ve actually found this whole experience to be even more enjoyable now that I’ve convinced a few of my programming friends to take part too.  My geek friend Pat, who I’ve enjoyed many geeky programming language debates with, has made it past the qualifiers too.  The competition itself is performed on an individual basis, but it’s somehow re-assuring to know that I’ve got a friend who’s feeling the pain and pleasure of competing.

Hopefully I’ll do better than expected for round one this coming weekend.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>