So, you think you have the mad skills to be a crackerjack programmer? Let’s see if you really do have the right stuff: Try your skills in one of these eight software development competitions.
Every programmer thinks he or she is God’s gift to the software development field. But, how good are you really? Put your skills to the test in some of these current competitions to learn how your design and development talent measures up to others.
Not every competition is the same. For example, most of these contests are run once or twice a year. Some are open to anyone, while others are open only to students. They also vary in the languages and tools they allow. Some let you use pretty much anything (SNOBOL anyone?) while others restrict participants to one language or even a single toolkit.
Prizes also vary. Some simply offer you the satisfaction of knowing that you're a winner (and surely glory is worth something on your resume), while others offer cash prizes. Among the non-financial rewards are that you get a sense of how your skills measure up to other developers (because really, how can you tell otherwise?); and in some cases top performers have a chance to get their names and skills in front of companies looking for developers.
So, with no further ado, let's look at some contests, all relevant in early 2013.
First off, we have Hardcode. In this competition, Google and SyScan are hosting a secure coding contest on the Google App Engine platform.
Participation is open to teams of up to five full-time undergraduate or high school students. Contestants are asked to develop open source applications that meet a set of functional and security requirements. The final round will be held during SyScan on April 23-25 in Singapore. The grand prize for the winning team is $20,000 Singapore dollars. I also wouldn't be in the least bit surprised if job offers were in the air as well.
Google Code Jam 2013
Can't make it to Singapore? Well there's always the Google Code Jam. In this annual competition, you'll be trying to solve progressively tougher algorithmic puzzles. If you make it to the finals, Google will fly you to London for the championship round. Unless, of course, you become a Google employee before the final round, in which case “you will not be eligible to travel to or compete in the final round.” Gosh, what a disappointment that would be! The Code Jam champion will claim $15,000.
TopCoder is a company that runs programming contests. They currently offer online computer programming competitions in the Java, C++, and C# languages, held twice a week. Members can win from $25 to $300 for individual contests on writing the best code for well-documented modules.
It's not just about huge-problem/huge-solution contests. TopCoder uses contests as a way to break down big programming problems into contest-sized chunks, which they call Enterprise Open Innovation.
Does it work? Well, they claim 445,000+ developers and an impressive client list. NASA has asked TopCoder to use its contest method to work on ways to position the International Space Station's solar collectors to generate as much power as possible during the most difficult orbital positions, so they must be doing something right! (And wouldn’t it be cool to contribute to that?)
OnTime API App Competition
The OnTime API App competition is a typical vendor-sponsored contest. In these competitions, the vendor is trying to induce more ISVs to give their software stack a try. In OnTime's case, the name of the game is Agile project management software.
In this case, one first-place winner will receive a 21" iMac. There will be two second-place winners who will each receive the new iPad. Seven third-place winners will each receive Google Nexus 7 tablets. Even if you don't win, you can still sign up with OnTime to list your app on the company’s partner page.
There are many vendor contests like this so keep an eye on your favorite software tool, IDE, or programming language site. You never know when they may organize a match.
CodeChef is a completely different kind of coding competition. This website, sponsored by Directi, an Indian software development company, is a non-commercial educational site for aspiring programmers.
While primarily meant to help "Indian programmers to become the best in the world," the monthly contests are open to anyone. It's wide open for the tools you can use. The site also includes numerous programming problems. Players can work on the problems in any of more than 35 languages. You can earn points that increase your CodeChef rank.
USA Computing Olympiad
The USA Computing Olympiad is similar to CodeChef. It offers training resources and six competitions a year for high-school computer science students. There are similar programs in other countries such as the British Informatics Olympiad.
In this competition, top students are invited to a summer training camp. The top four young programmers are then invited to complete in the International Olympiad in Informatics. The 2013 International Olympiad will be held in Brisbane, Australia.
HackerRank is another site filled with programming challenges. They also host more serious contests such as InterviewStreet's CodeSprint. Sure, you might win iPads as a prize, but if you do well you can also get a shot at a job at such companies as Facebook, Quora, or Pandora. And, in today's job market, that's no small feather in your cap!
ACM-ICPC World Finals
Last, but never least, is the grand-daddy of high-end student programming tournaments: the ACM's International Collegiate Programming Contest. This global competition pits college developers from around the world against each other. In the end, there can be only one team that will be the world champion.
Want to know what you're getting into? Here's the problems that had the 2012 top teams tearing out their hair (PDF link). Even though you have more experience than a typical college student… how would you have fared?
Don’t take this list as the ultimate list; there are other competitions as well. I only touched the surface. If you’re interested, or you missed these deadlines, keep an eye on the Programmable Web Programming Contest page for the latest contests. You also won't go far wrong simply by searching for your favorite software tools and "competition" or "contest." Good luck!