Top Coder

TopCoder is an arena where programmers can test their LightningProblemAnalysis? (maybe there is a better word for this LightningAlgorithmAnalysis??) ability against other programmers.

There is some question as to how well TopCoder measures the programming abilities of programmers relative to other programmers. It is based on the assumption that if a programmer can write a solution to a given problem quickly and accurately he is a good programmer, and that if he can do this faster than other programmers he is better than other programmers. It is further assumed that the ability to quickly identify how other programmers' code will fail (in less than 15 minutes), he is an even better programmer.

Aside from the Algorithm Competition Arena, TopCoder has ComponentDesign? and ComponentDevelopment? competitions. The top finishers in these competitions receive cash payments for placing and the winner receives royalties when their components are purchased from the TopCoder ComponentLibrary?. Unlike the Algorithm Competition participants have several days to submit their designs and code for these competitions.


I first heard of this TopCoder thing a couple of years ago when I was a student in CS at CalBerkeley. Right away, it seemed to me like a fundamentally misguided idea. It seems to play into the whole CowboyCoding / HeroicProgramming mentality, which most here would agree are not desirable approaches to writing good software in the real world. More fundamentally, I would say that ProgrammingIsNotaSport? - and even if it is, it should not be seen as a sport of individual achievement like, for example, sprinting, but rather as a sport in which (possibly modest) individual talent is amplified by team cohesiveness - something like basketball at its best, where the whole is greater than the sum of the parts.


Having competed on TopCoder myself, mainly in the development competitions, I agree with the above commenter. The particular competitive spirit on there, at least in the development competitions, leads people to either chase the $$$ and thereby sacrifice quality, or to keep quality high and obsess over one's individual rating (which is what I did). Some people like it - especially college students, which most competitors are - but there were countless times when I wished for more cooperation, especially when cooperation would have helped solve some sticky problems. -- JesseHall


EditText of this page (last edited November 4, 2013) or FindPage with title or text search