Slashdot Mirror


Americans Are Scarce in Top Programming Contest

Carl Bialik from WSJ writes "Only four of the 48 best computer programmers in the world are Americans, at least according to a computer-programming competition run by TopCoder. Poland had 11 of the final 48, and Russia had 8. Wall Street Journal columnist Lee Gomes asks whether this is more evidence of a sad decline in American education and competitiveness: 'Surprisingly, the Eastern Europeans don't seem to think so. Poland's Krzysztof Duleba, 22, explained that in countries like his own, there are so few economic opportunities for students that competitions like these are their one chance to participate in the global economy. Some of the Eastern Europeans even seemed slightly embarrassed by their over-representation, saying it isn't evidence of any superior schooling or talent so much as an indicator of how much they have to prove.'"

29 of 478 comments (clear)

  1. My Profession by eldavojohn · · Score: 1, Insightful

    I am an American.

    I love to code.

    Do I take pride in my code? Sure I do. Is it world class? Probably not.

    I'm also a gainfully employed and working on my masters in--you guessed it--computer science. And I log on to Slashdot today to find someone saying that my country failed to 'represent' at some "TopCoder" world-wide coding contest.

    Oh well. I don't think I would need to study for this competition, in college I never studied for a computer science exam. It was my theory that if I couldn't deduce the problem on the fly, then I shouldn't be coding at all. Coding isn't about regurgitation or memorization, it's about how you instinctively attack a problem. Certain courses can't make you memorize stuff to be a better coder but they can give you a bag of tricks or arsenol with which to attack problems. The stuff I hate about computer science--documentation, systems integration, etc.--that stuff is memorization.

    I'm busy and I would bet that our nations top coders are also busy. We don't have a month of vacation a year and if we did, we'd probably spend it around finals time to relax while our exams are hammering us.

    Sorry, Carl Bialik from WSJ (who has had 20 of his own stories posted on Slashdot since March 14! <sarcasm>For Christ's sake, just give Slashdot's frontpage a "Carl RSS news feed" already!</sarcasm>) but I wasn't there to represent my country. I noticed that it was held in Las Vegas. You know what would be interesting? If they held it the same weekend as DefCon in Las Vegas.

    I know this sounds hilarious and backward but I believe most of the best coders thrive on the "bad guy" image and would hate to win a competition that makes them look like an AMD (TopCoder sponser) poster boy tool. They'd rather have their hacking alias spray painted all over the RIAA's frontpage than a blue ribbon at a coding contest. Does anti-social behavior come hand in hand with gifted coding? It would seem so, but I haven't done/seen any studies on it.

    So what if I went to this competition and was "Sixth best coder"? I probably wouldn't get much for prizes, my coworkers would just view it as proof that I am utterly socially inept, I would spend money and time on the trip with little to gain. I don't see my employer encouraging it or offering raises based on it. Sounds like fun but I'm not going out of my way to attend it.

    --
    My work here is dung.
    1. Re:My Profession by Moe+Taxes · · Score: 1, Insightful

      Maybe all the US programmers were busy working for a living.

      --
      It took a real world war to end the airplane's patent wars. - Fâché Rouge -
    2. Re:My Profession by YeeHaW_Jelte · · Score: 4, Insightful

      "Oh well. I don't think I would need to study for this competition, in college I never studied for a computer science exam. It was my theory that if I couldn't deduce the problem on the fly, then I shouldn't be coding at all. Coding isn't about regurgitation or memorization, it's about how you instinctively attack a problem."

      And then forgetting all about how you did it, so you can solve the same problem in the same short-sighted way infinitely in the years to come. Way to go, cowboy!

      --

      ---
      "The chances of a demonic possession spreading are remote -- relax."
    3. Re:My Profession by Anonymous Coward · · Score: 5, Insightful

      Dude, when you win a contest and you apologize, you're humble. When you didn't enter a contest and play down the results, you are arrogant.

    4. Re:My Profession by Kombat · · Score: 5, Insightful

      Why waste concentration on memorization when you have instant access to all your past work right at your fingertips?

      Why limit yourself to only consulting your own past solutions when there are decades of well-documented research into innovative, ingenius, and non-intuitive solutions that smarter people (Kernigan, Ritchie, Knuth, Torvalds, Tanenbaum, etc.) have already figured out and written out for you to learn? I think that was the parent poster's point.

      It's stupid to ignore the wealth of knowledge and experience already learned the hard way because you discard it as merely "memorizing." It's not. If you study the problem and learn why the solution works, you've just made yourself into a better coder. I didn't "memorize" how Huffman Encoding works. I learned why it works, and I probably wouldn't have figured it out on my own. But it's one of the tools I can use now, because I understand it. I learned it.

      It's arrogant, ignorant, and shortsighted to believe you can just "teach yourself" and "figure out" perfect solutions to all the potential programming problems you'll encounter, while ignoring all the work done (and published) by the computer science and mathematical luminaries that preceded you.

      --
      Like woodworking? Build your own picture frames.
    5. Re:My Profession by Kombat · · Score: 4, Insightful

      I don't think I would need to study for this competition, in college I never studied for a computer science exam.

      Nor an English exam, apparently.

      It was my theory that if I couldn't deduce the problem on the fly, then I shouldn't be coding at all.

      Deducing problems is easy. Deducing the solutions, however, is much harder. And believing you can do it without the benefit of the pioneers that came before you is arrogant and closed-minded. It's not about "memorizing" the work of Knuth, Tanenbaum, Stroustrup, etc., but rather learning why their solutions work. I didn't "memorize" that 2^5=32. It just does. I understand it.

      Coding isn't about regurgitation or memorization, it's about how you instinctively attack a problem.

      And university is about learning the best practices and tactics that have been discovered and published by those who came before you, and learning how to apply those techniques to problem-solve. Its not about "instinctively" attacking a problem, but rather using the research and study that came before you to improve those instincts. Widening your horizon. Expanding your toolbox.

      Certain courses can't make you memorize stuff to be a better coder but they can give you a bag of tricks or arsenol with which to attack problems.

      Yes, and those are the things you should be studying. But you claimed you never studied for a computer science exam. Now you're contradicting yourself, but you still sound arrogant.

      --
      Like woodworking? Build your own picture frames.
    6. Re:My Profession by Richard+Steiner · · Score: 2, Insightful

      Even folks like me, who tend to work in older langauges on systems which are less mainstream, can take advantage of the huge body of work that's out there. I might have to translate the algorithms I find to another language, and I certainly have to be careful about licensing issues in some cases, but there's no reason for me to have to create something out of thin air if the basic building blocks and floorplans are already created for me.

      I'm a programmer. I'm lazy by definition. :-)

      --
      Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
      The Theorem Theorem: If If, Then Then.
    7. Re:My Profession by CloakedMirror · · Score: 2, Insightful
      Deducing problems is easy. Deducing the solutions, however, is much harder.
      I have to disagree with you. Many people have as much trouble understanding the actual problem as they do coming up with a solution. Solutions also come in different flavors. Some people can only find the "brute force" solutions, while others can find the more elegant solutions. Usually, it takes a better understanding of the problem to be able to find a more elegant solution.
      And university is about learning the best practices and tactics that have been discovered and published by those who came before you, and learning how to apply those techniques to problem-solve.
      Hence the problem with too many university undergraduate programs. Getting all caught up in finding the solution from "those who came before you" will mean that you will not be doing anything to innovate. True innovation and invention come not from just reusing the solutions of the past, but from thinking outside the box that many university programs stuff you into.

      Is it wise to study those that have already solved many of the problems that we encounter? Of course it is, but to say that it is the only way (or even the best way) for us to be great at what we do is equally arrogant.
      --
      Evolutionary thinking will move you down the road, revolutionary thinking will put you on a new road!
  2. Same Data, Different Conclusion by moehoward · · Score: 2, Insightful


    And, if you are unemployed, then you have lots of time to enter programming contests and try to make a name for yourself so that you can get an H1B and job in USA.

    I could also draw the conclusion that a country that exports by value the most software in the world probably doesn't need contests to prove anything.

    I shall now be modded down as "Needs more Slashdot 'education'"...

    --
    "If you want to improve, be content to be thought foolish and stupid." - Epictetus
  3. But... by El_Muerte_TDS · · Score: 2, Insightful

    does it matter?

    Ofcourse it's also a matter of signing up for contests. I don't really like contests\races\etc. I hate being competitive, it doesn't bring up the best in me. Besidies, I believe we can get a better solution if we work together instead of competing. So I wouldn't sign up for a contest like that. How many others have similar reasons for not competing in contests like these?
    So, from the X that signed up for that contest only 4 to place within the 48 were American. Being 3rd with only 3 competitors still makes you last.

  4. Not sure about most American Programmers... by PrescriptionWarning · · Score: 2, Insightful

    but as for myself I make programs at work and the last thing I want to do when I get home is program for recreational purposes. I think that sentiment likely goes for a vast majority of programmers, especially ones with a family or a (so-called) life.

    Additionally I think its hard to decide just what makes the "better" programmer. I don't consider myself a good coder when it comes to strictly algorithms and other not such fun stuff. But let me create a program that someone else can actually use with a functional UI and you have yourself a force to be reckoned with. Its all in the eye of the beholder.

  5. More like a macro contest by Anonymous Coward · · Score: 3, Insightful

    From what I have seen, these contests are more who can write the coolest macros for simple but commonly used tasks, and primarily involve creating quick hacks to get things coded faster.

    Maintainability and good engineering are rarely tested. It is just who can create quick and dirty implementations for a given task. There is a lot of skill involved, but not the sort of skill that most enterprises would want.

    If there was a coding competition that involved developing robust, scalable architectures for enterprise applications, and designing software to best meet the needs of a client, then we would see who had the best software engineers.

  6. Not so much about education or ability by VorlonFog · · Score: 3, Insightful

    I believe it's more how American corporations have dumbed down everything so there's fewer opportunities to excel while gainfully employed. When's the last time your employer recognized someone with real talent? The only people I ever see on these annual awards are butt-kissers.

  7. I agree... by d3ik · · Score: 5, Insightful

    I would tend to agree with Mr. Duleba. I don't think this reflects on the intelligence of American programmers, it reflects on our work schedules. I'm 22 just like Mr. Duleba, and I would love to enter contests like this just for the fun of it... I just don't have the time.

    I'm gainfully employed building financial systems and whatever other contracts I'm working on. As Mr. Duleba was saying, I think it reflects more the economic state of some of the Eastern European countries. There is a lot of talent, but not a lot of opportunity. A little publicity from a contest like this can make you more viable to employers and give you an edge on the competition.

  8. Why bother? by Infernal+Device · · Score: 2, Insightful

    Will I get time off from work to enter a competition that I've never heard of (nor has my boss) and will I be compensated for the expenses incurred in travelling to Las Vegas and which ultimately proves only that I can write code under pressure in a town that you couldn't pay me to live in?

    No.

    --
    "My God...it's full of trolls!"
  9. Great programmers CREATE by MickMac · · Score: 4, Insightful

    The great programmers in this world are those who have demonstrated their abilities by actually designing and implementing great software. Coding the solution in a competition proves nothing. You don't have to look any further than the GNU, Linux, Apache, KDE, Gnome etc. etc. CVS logs and mailing lists to find the real greats! As a European I say that the US can hold its head up high on this front.

  10. .net and java by XO · · Score: 1, Insightful

    I can't say that I know a single person who actually knows the two languages that TC works with...

    --
    "Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/
  11. Re:US Education Standards by antifoidulus · · Score: 4, Insightful

    Anecdotes, Anecdotes, Anecdotes. Well, first and foremost, grade inflation is rampant in the Ivy leagues. Their undergrad education system is starting to look like Japan's: IE you work your ass off to get in, but once you are in you are set.
    Secondly, I have had the opposite experience with supposedly "brilliant" Indians and Chinese who graduated from these wonderfully elite universities who couldn't tell their ass from a whole in the ground when it came to real computer science. What does this say? Nothing really. Just personal experiences, not statistically significant.

  12. Re:US Education Standards by GuloGulo2 · · Score: 2, Insightful

    Um, NCLB has been around for four years. Why would it have anything at all to do with adults and their ability to code?

  13. Re:US Education Standards by Splab · · Score: 2, Insightful

    One of the sibling posts talks about how he didn't have to study for his exams and he finds that important since you have to know your stuff when coding in real life...

    Riiiiight. Passing algorithms here at DIKU (Denmark) you have to know just about all the proofs in the book - the exam is oral, and the prof. is one mean bastard (sorry pawell :)). Almost all courses are extremely hard to pass (we have some courses in HCI and you can sleepwalk those)

    In real life you don't need to know the proofs, but you sure as hell need to know that they exists and what they do.

    Sorry to say this, but if you can pass the exams in US without studying then they should be glad to be represented at all!

  14. Re:Polish politeness. by mce · · Score: 2, Insightful

    And even if coding would not have a lot to do with mathematics (something that, like you, I also disagree with), proficiency in either of them is strongly favoured by the same underlying skillset(s): analytical thinking, rigour in logic, accuracy and knowing when that is and is not relevant, attention to detail, ...

  15. Hmmm. by Black+Parrot · · Score: 2, Insightful

    I see they're still stuck on the strange idea that speed is the proper metric for determining who's the best programmer.

    --
    Sheesh, evil *and* a jerk. -- Jade
  16. Re:Polish politeness. by Whiney+Mac+Fanboy · · Score: 2, Insightful

    Aaah, I presume you're referring to my misspelling?

    I can assure you however, that the term Singaporean-American. is used in American.

    --
    There are shills on slashdot. Apparently, I'm one of them.
  17. Re:US Education Standards by CowboyBob500 · · Score: 3, Insightful

    And if you their methodology for reaching their conclusions you'll see that it's all about research grants, papers published, Nobel Prizes of faculty etc etc, and absolutely nothing to do with the quality of education being offered to undergraduates. In fact, the number of Nobel Prizes held by faculty makes up for a total of 20% of the score, and I'd argue that this indicator for example, is utterly irrelevant.

    Bob

  18. no kidding by Anonymous Coward · · Score: 5, Insightful

    Absolutely spot on.

    Why can't Americans just realize that, taking away first-world advantages and throwing them into situations dependent upon meritocracy, that they really are just average?

    Instead, first post that says, "Oh, we didn't do that well because we don't want to come across as ubergeeks etc. etc." gets modded up. Meanwhile, you can bet some radically different rationalization would be at work if Americans had placed a much higher number. American Exceptionalism sure is ridiculous.

    1. Re:no kidding by maxume · · Score: 2, Insightful

      On average, everyone is average, but there are certainly exceptional people all over the world, including America.

      Lumping all Americans into a single Dumb-American category is just as ridiculous as your American Exceptionalism.

      --
      Nerd rage is the funniest rage.
  19. The American Ego by flithm · · Score: 5, Insightful

    Why should there be more top American programmers in the world?

    USA counts for about 4.6 percent of the world population. (300 million out of 6.5 billion). 4 out of 48 is actually almost double of what could be expected based on numbers alone.

    America isn't known for its outstanding education system. So again I pose my question: why SHOULD there be more American programmers, and why are the results a surprise?

    The only thing that surprises me about it is that there weren't fewer than 4 of the 48 who were American.

    I'd like to stress that I'm not trying to be anti-American or anything... just realistic. If you want to change the numbers, you've gotta look at the truth of the matter, and make decisions from there.

    Look at what the Russia and the European countries are doing right instead. It's curious to note their humble attitude toward their over-representation.

    1. Re:The American Ego by nbits · · Score: 2, Insightful

      So then, how do you square the fact that Poland only makes up .0058% of the world population and they had 11 representatives at this competition???

      Surely, there's more at work than just raw numbers here.

  20. Re:Polish politeness. by Anonymous Coward · · Score: 2, Insightful

    Now you're grasping. The country of origin has little to do. Anyone with a Stats professor as a father should be decent at math, regardless of his country of origin.