Apart from the obvious reasons, like financial, employment and recognition, what are the practical/real benefits to using programming competition sites?
It seems quite algorithmic and maths heavy, but how does that map to something practical, in your everyday programming?
It seems quite algorithmic and maths heavy, but how does that map to something practical, in your everyday programming?
Hopefully by realizing that the important bits of everyday programming is algorithmic and maths heavy. The rest is plumbing to get data from A to B.
Apart from the obvious reasons, like financial, employment and recognition, what are the practical/real benefits to using programming competition sites?
They provide a better metric by which to measure your improvement over time. And practice is always helpful.
1
It forces you to learn new techniques that you would not have otherwise learned in your day to day ritual. These new learnings can then be turned around and applied to improve your daily rituals.
I like sites like TopCoder due to following reason:
1. Different Approaches for a single problem set: There are multiple ways to solve a problem, it happened with me so many times that i came up with some way to solve a problem and the answer had a better and efficient way to do it. This is the most efficient way to remind you that there are multiple approaches to solve a problem and very useful skill in real life scenarios.
2. Ranking based system and competition takes best out you: When you face the a lot of competition from other guys around world, that certainly makes you better. It Does not matter where you finished but yes you do get motivated. Not all guys go to nice good colleges i know a lot of good self taught programmers who are regular visitor of these sites and they say “Sites like Topcoder satisfy their programming needs”.
You have already mentioned Financial, employment and recognition so i guess these sites are good way to consume knowledge from the internet. I regularly take these challenges as they keep me interested in computer science and programming.
My few cents follow:
1) They are useful to let you satisfy your thirst for knowledge.
2) TopCoder usually hosts competitions from various organizations which pay you for solving real life problems.
3) Usually the problems on TopCoder, GoogleCode, SPOJ etc. are subset of a real world problem, so solving them prepares for any extension of such problems in future.
4) Most importantly, actively participating in them or any such competition (even at work place) keep your brain running and active.
They give you another opportunity to practice. You can practice using different techniques or frameworks. Then when your presented with an opportunity to use these techniques or frameworks in your everyday programming, you will have some experience.
1