The Rise of Code Competitions
By Paul Pajo
Developer Evangelist, SMART
is a mind sport usually held over the internet or a local network,
involving participants trying to program according to provided
specifications.Competitive programming is recognized and
supported by several multinational software and internet
companies, such asGoogle,[ Facebook[ and IBM. As of January
2012 there are several organizations who host programming
competitions on a regular basis.
A programming competition generally involves the host
presenting a set of logical or mathematical problems to the
contestants (who can vary in number from tens to several
thousands), and contestants are required to write computer
programs capable of solving each problem. Judging is based
mostly upon number of problems solved and time spent for
writing successful solutions, but may also include other factors
(quality of output produced, execution time, program size etc.)
Google Code Jam
Facebook Hacker Cup
Bitwise IIT Kharagpur
British Informatics Olympiad
Central European Olympiad
Hong Kong Olympiad in
ICFP Programming Contest
Internet Problem Solving
Java 4K Game Programming
LesTrophées du Libre
National Olympiad in
National University of
Computer and Emerging
Obfuscated Perl Contest
Perl Golf Apocalypse
Syrian Olympiad in
UnitedStates of America
DevCon C-Cup & mini C-Cups
Freelancer.com Manila Dev Challenge
If you love basketball, dream FIBA
If you love coding, dream IOI?
Russian sport programmer who won multiple major international
His accomplishments include gold (2000, 2002) and silver (2001) medals
in the IOI, gold medals (2003, 2005) in the ACM ICPC World Finals as part
of the team of Moscow State University and winning Google Code
Jam (2006), theTopCoder Open (2006), theTopCoder Collegiate
Challenge (2006,2007), Facebook Hacker Cup (2011,[2013) as well as
numerous national and online contests.
He has achieved the highest rating ever among
the Algorithm competitors ofTopCoder.comand consistently ranks in
the top two of the world, currently being the world leader as of April 10,
He is also the third highest rated coder in the competitive programming
websiteCodeforces.com as of April 10, 2013. He currently works at
Google, where he is a maintainer of the search engineand helps to
prepare Code Jam.
a Belarusian sport programmer who has won multiple
major international competitions.
His accomplishments include gold 6 consecutive times from
2007 to 2012 , silver before that in 2006 in the IOIand world
champion (2013) in the ACM ICPCWorld Finals as part of the
team of Saint Petersburg State University of Information
Technologies, Mechanics and Opticsas well as numerous
national and International contests.
He is currently the highest rated at Codeforcesand the
highest rated Algorithm competitor atTopCoder as of
August 8, 2013.
What feels so good aboutGena is that he doesn't seem to lose the rest of his life to programming contest training,
at least according to the above interview. He reminds me of myself, but of course on a greater scale.While I'm sure
he's training a lot, it's important that becoming a world-class master does not affect the other aspects of his life
Gennady, if you're reading this, I challenge you for a game of soccer or table tennis :)
More generally, I think this example supports the idea that the skillset (or maybe talent? that's probably a question
for a separate discussion) that the programming challenges require is unique and is only partially related to CS or
mathematical higher education.And seeing how many big companies are valuing that skillset in job interviews, it
seems important enough for education of future software engineers to maybe borrow something from the
Another possible direction, of course, is that algorithm contest puzzles were just lucky to get into the limelight,
and will just go away (or maybe become a pure sport) at some point when the big companies and universities
discover a better way to educate and recognize the future engineers. Somewhat like Formula 1 which is becoming
less and less important for the development of normal cars.
Yes, this is Gena)
It's a very interesting comparison between sport
programming and Formula 1.This is almost
But, this is only a game, sometimes paid.
This is very useful for the first time, but then it
becomes into writing of templates, typing.
Should we have more of ths?