Tuesday, April 07, 2009

Sharpening the saw with online competitions

Some time back Jeff Atwood wrote about Sharpening the saw on his blog. He defines sharpening the saw as (which is rightfully attributed to Steven Covey):

Sharpening the saw is shorthand for anything you do that isn't programming, necessarily, but (theoretically) makes you a better programmer.

There are several things developers can do to sharpen their saw. One of them is participating in programming competitions. There are several websites which host online programming competitions, and I really like this concept. Participants can work on these competitions at a time of their convenience, and those who do not have "real world" competitions hosted in their cities and towns, can also participate.

Code Chef publishes online competitions which can be solved in any one of 35 programming languages. I like the fact that they give developers freedom to code in their favorite language. Many other online competitions do not give this freedom, and impose a particular programming languages on participants.

All the problems published thus far on Code Chef seem to be mathematical in nature. That's fine and also understandable. Such problems have a definite output and can be easily judged for correctness. It can be a bit difficult to objectively judge programs which are more design oriented.

My math skills have really depleted since high school, so I am looking forward not only to sharpening my saw but also my math skills.


Vasudev Ram said...

Interesting post, Parag.

TopCoder is another programming competitions site. IIRC it's only for Java. They also pay good amounts of money in prizes to the winners, and those who do well in the contests get chances to get commercial projects from clients, with whom TopCoder has tie-ups.

- Vasudev

Vasudev Ram said...

Re. TopCoder - forgot to mention - the level of the contests and the quality of the participants seems to be very high. Also UML is used heavily. There are often lots of Russian and other East European developers among the winners - I think it's partly due to their highly developed math and computer science skills. Pretty interesting site, overall, IMO.

Parag said...

TopCoder is also a nice website for online competitions. I have not yet checked it out, but I should.

I believe they also have several algorithm competitions in C and C++.

Vasudev Ram said...

>I believe they also have several algorithm competitions in C and C++.

Didn't know that - thanks. Useful to know ...