Slashdot Mirror


Programming Contests - Worthwhile for Real Life?

Ustaad asks: "We are running some sort of a club in our University which has members who are interested in programming and related stuff. With many sites like TopCoder and Valladolid Online Judge providing heavy machinery practice equipments to programmers, the level of competition in programming contests like ACM ICPC have gone really high. However, we are finding it really difficult to motivate new entries to join our club. There are few key questions that we face from our members. Firstly, how important are these programming contest techniques for solving the real-world industrial problems? Secondly, Do employers really care about the achievements in programming contests while recruiting? And thirdly, what other advantages does one gain by venturing into these contests?"

3 of 29 comments (clear)

  1. Little value, but not worthless by isj · · Score: 3, Insightful

    I had a brief look at the problems/contests/tasks. They are not general problems, but biased toward mathematical problems because that is more suitable for contests. Nothing wrong with that.

    If the problems should be more like real life they would look more like:

    • There is a memory leak in this program and it is probably in the database driver. Fix it or find a workaround.
    • Design and implement a SNMP subagent and integrate into this legacy system...
    • A customer wants this feature but it has to be backward compatible. Find a solution.
    You rarely have the chance to create a new program from scratch in the real world. And when you do - is it maintainable, commented, flexible and robust?

    But the contests are not worthless. They show that you are interested in programming and that is important.

  2. Wrong questions. by rjh · · Score: 5, Insightful

    Are programming challenges applicable to the real world? Of course not. Ninety-five percent of the real world isn't applicable to the real world; how do you expect anything in academia to be more than five percent applicable, if the Real World is only five percent applicable?

    Stop viewing everything you do in college as preparation for the Real World. The Real World is out there, and no matter how well-prepared you think you are from college, once you get out here you'll realize that you don't know jack. That's okay. What you should be learning in college is how to learn, quickly and accurately. Do programming competitions help show future employers you can think on your feet and apply new knowledges quickly to old problems? Maybe. But like I just said, stop viewing everything you do in college as preparation for the Real World.

    Sometimes, you want to do things just because they're fun. With a little camraderie, espirit de corps and good code-fu, programming challenges can be a hell of a lot of fun.

    The only regret I have about college is that I took some things too seriously, because I was sure they were all about the Real World, and didn't take things seriously enough, because I was sure they were wastes of time. I passed on an ACM Challenge one year because I wanted to study more for a class I was in. Now, seven years later, I don't even remember what that class was.

    I do remember the ACM Challenges I participated in, though. And I wish I'd participated in more of them.

  3. It's all about the people by mE123 · · Score: 2, Insightful

    I'm still in high school but I've been doing computer contest for about 4 years now. I don't except anything I learnt to be useful in the "real world".

    I do think that the contest have and will help me in the future. The people how write these contest are normally the top students. Thus I would hope that at least some of them will do well in the "real world" and I will know them. This is what I see coming out of these contest... contacts.

    (PS I also have lots of fun... but that might just be me)

    -------------
    How should I know if it works? That's what beta testers are for. I only coded it. -- Attributed to Linus Torvalds, somewhere in a posting