The 5 Programming Competitions Every Student Should Enter

If you want to work at a start-up that is.

Looking to hire the best students? These are the contests that do a good job measuring the skills needed in a start-up. The best contests measure if a student not only can create a successful solution under tight time constraints, but if they so enjoy doing so that they spend their spare time participating.

Looking to work at a top start-up? Start-ups put in an intensive effort determining if an applicant has the skills they need. Participating in relevant code wars is a very useful measure. When you interview be prepared to discuss the approach you took, your design decisions, and how you did. The value in this is not your final score, it’s your discussion of the process and the code you wrote.

The Top Student 2 Startups Code Wars

Facebook Hacker Cup

This contest has some truly evil (and I mean that in a complimentary way) problems to solve. I put this first because the key to winning is not writing code quickly, it’s coming up with a solution. Coming up with innovative solutions to hard problems is central to a start-up. Students who do well in this contest are the ones you can throw the impossible problems at – and know they will get implemented.

Microsoft Imagine Cup

You create an application. Any application. Your application is then judged against those of your competitors. Because you are creating a complete app, it is a superb all-around measure of what a student will bring to a company. The downsides are first of all it requires a lot of time. And second it’s a judgment call by the judges. Key to this is don’t look at where a team ranked, look at the app they created, because “best” is in the eye of the beholder.

The Windward International Collegiate Programming Competition

You are given 8 hours to write an A.I. for a computer game. The submitted AIs then play against each other 8 at a time to see which one can beat the others. The definition of this contest is “not enough time.” Not enough time to fully understand every detail of the game. Not enough time to fully test each approach. Not enough time to implement all their ideas. Not enough time to write clean code. It’s not this bad in the start-up world (most of the time), but this is a great measure of how well individuals will perform in the get it done yesterday world of a start-up.

Google Code Jam

This is a write a simple algorithm as quickly as possible. It allows any programming language because you submit the result of running your code. All it measures is can you write basic algorithms quickly and correctly so by that measure it’s not a good contest. But it’s Google and it has a very large number of contestants world-wide so between the high visibility and the level of competition, it makes the list.

Your School’s Top Contest

Look at the code wars that are offered at your school. Find one that is a good measure of the skills that are needed in a start-up. Not the skills you are best at, but the skills a start-up company needs. And then make a commitment to participate in that contest. Stepping up to the challenge is a large part of success.

Honorable Mention

HP Code Wars

This is a high school level competition where they are given numerous algorithm level problems. It’s a great introductory contest for the High School level.

ACM’s International Programing Contest

Part of the ACM’s problem is it is a victim of its success. China treats it as an Olympic competition and devotes significant resources into creating top teams. But it’s also primarily a measurement of who can write algorithms the quickest. And while that is a useful skill in a start-up, it’s not key.

One Response to The 5 Programming Competitions Every Student Should Enter

  1. All the contests are a bit of fun but I do wish that emphasis wasn’t put on writing code fast. Almost all of the code that I have seen implemented quickly has been full of more holes than swiss cheese, more buggy than an ant hill and as clear as mud. This seems to be the root of most unmaintainable potentially expensive legacy code that requires re-writing again an expensive move. On the other hand I have seen timely written code (i.e. not so much slower to write) that has followed TDD, been more readable and well thought out thus the refactoring has been easy and hence less time consuming and cheap. Wouldn’t this idea better suit startups rather than creating a whole bunch of problems that they will need to address later all to get code out literally half a day sooner.

    Basically it would be nice to see some contests where good code is considered rather than quickly written code, but then again as I said these contests are just a bit of fun and should no way be used to judge a programmers ability because on that front these contests fail miserably.

Comments are closed.