Forgot your password?
typodupeerror
Google Programming

The World's Greatest Competitive Programmer 202

Posted by timothy
from the wait-for-the-congressional-hearings dept.
An anonymous reader writes "Technology Review profiles Petr Mitrichev, who has since 2005 dominated the world of competitive programming, a little known sport where competitors furiously code for five hours in pursuit of glory and cash prizes worth tens of thousands of dollars. Mitrichev now works for Google, and competes only for leisure, but is still ranked number one. Many large tech companies, such as Facebook and Google, now sponsor and pay close attention to competitive coding contests, seeing them as a place to recruit new talent."
This discussion has been archived. No new comments can be posted.

The World's Greatest Competitive Programmer

Comments Filter:
  • by jellomizer (103300) on Tuesday August 07, 2012 @11:37AM (#40906649)

    As a Professional Developer, competitions hurt my ego, so I will come up with scores of excuses on how competitive programming isn't a good measure of one skill. I prefer to keep the illusion that I am the best programmer out there, just because I tend to out perform my peers.

    • by Minupla (62455)

      Wow - Mod this one +1 Honest :)

      Min

    • by Baloroth (2370816) on Tuesday August 07, 2012 @11:40AM (#40906691)

      It's a decent measure, but not a great one, since it adds a time-based component. Saying that being the best competitive programmer is a measure of overall skill is like saying the best speed-chess player is the best overall chess player. It simply isn't true (although it could be, it usually isn't), although the speed-chess player is undoubtedly very good.

      • Re: (Score:2, Insightful)

        by Anonymous Coward

        Sure, some of the technically best programmers are slow as hell, but these companies want their products out fast. I'm not surprised they shop there.

      • by Impy the Impiuos Imp (442658) on Tuesday August 07, 2012 @11:59AM (#40906957) Journal

        Does nobody remember an article on Slashdot a few years back?

        1. The top programmers are 4x as productive as the average one.
        2. There are some problems the top programmers can do the average ones cannot no matter how much time they were given.

        If you don't fall into that category, and you probably know if you do, don't bother.

        Actually the fastest guy would probably benefit from a small audience of programmers pointing out he missed a semicolon or that array is wrong-sized somewhere. This would be obvious to you as such a top programmer.

        • Many managers don't understand that paying 1.5 times a good programmer (compared to a "regular" one) is not only immediately profitable (codes 1.5+ times faster), but in the longer term, the good programmer writes code that requires little adjustment or maintenance and more importantly - this one is even harder for managers to get - writes optimized code based on strong and efficient algorithms.

          This being said, I had the chance to participe to some Topcoder SRM with Petr (even in the same "room"), and
        • by Gorobei (127755)

          Actually the fastest guy would probably benefit from a small audience of programmers pointing out he missed a semicolon or that array is wrong-sized somewhere. This would be obvious to you as such a top programmer.

          Where I work, we inflict this on all our "top" programmers. You want that code in, you get a review. A star programmer produces more and better code when four or five junior developers are critiquing his code for missed edge cases, confusing function names, ugly control flow, lack of unittests, etc.

      • by hackula (2596247)
        ...Because there is no time component to real world projects? IDK what planet you work on, but for every hour I am late my client gets to go at my limbs with a machete for 10 minutes.
        • by timeOday (582209)
          True, but still...

          Drag racing probably started out as two guys competing to see whether the Ford or Chevy could haul a bale of hay uphill faster.

          Fast-forward a couple decades, and the only competitive drag racers are cars that can't burn normal gasoline or haul even 2 people and can literally barely turn at all.

          Weird stuff happens when you optimize along one or two dimensions only.

      • by JMZero (449047)

        To be clear, it's not like (at the highest level) they are doing something in 1 hour that would take the average guy 4 or something. The top level problems are often difficult enough that an average programmer would never complete them (or at least not without significant outside assistance and/or further education). Between equally matched competitors it can sometimes be a race, but in general these competitions are better thought of as tests: can you solve this problem?

        Comparing top competitors to regul

    • by SolitaryMan (538416) on Tuesday August 07, 2012 @11:53AM (#40906861) Homepage Journal

      I'd say that the biggest problem here is that being good at these competitions does not necessarily mean that one would provide great value for the company and it does not even have much to do with technical skills. In the real world the problems are never well defined, the "scoring" rules are non-existent. Then, there are "people" skills.

      I don't want to diminish this guy's achievement, I know for sure he is a great developer in all other respects, but these competitions measure only one projection of a skill on a specific axis.

      • by vlm (69642) on Tuesday August 07, 2012 @12:04PM (#40907023)

        You forgot the most important part from an economic standpoint, maintainability.

        I can squirt out multi line regexes that are not troubleshootable by anyone, not even myself. Very quickly too. Doesn't mean its a good long term idea.

        You know you're in trouble when the fastest way to debug a big mass of regex is to rewrite it from scratch.

    • by Anonymous Coward on Tuesday August 07, 2012 @11:55AM (#40906895)

      As a Professional Developer, competitions hurt my ego, so I will come up with scores of excuses on how competitive programming isn't a good measure of one skill. I prefer to keep the illusion that I am the best programmer out there, just because I tend to out perform my peers.

      As a former competitive programmer (ACM/ICPC, TopCoder, UVA, IPSC, you name it) and a long time professional programmer (going on 13 years now) I have to say that I have never seen such a rate of improvement in my programming abilities as the couple of years that I took competitions seriously.

      These improvements included not only coding speed, but also high accuracy under time constraints, the ability to predict and analyze edge cases and weird scenarios, thinking about efficiency in terms of Big-O and implementation specific constants, and a lot more. Not to mention a good working knowledge of a lot of data structures and algorithms most programmers never even hear about, which is a given for any competitive competitive programmer. These traits, I think you agree, are what every good programmer could use.

      • I was an early Beta Tester for TopCoder... That turned me off to the competitive programming thing. (even though I won... Only because I was the only one who submitted code... It didn't even compile, they didn't bother telling us what was needed to compile the code. I tried uploading my Jar file, I tried just uploading my source... It compiles fine on my computer but just not on the TopCoder. I was tremendously frustrated with it.
        They probably have fixed it sense the early Beta Days. But sense then the id

    • by Quiet_Desperation (858215) on Tuesday August 07, 2012 @12:04PM (#40907025)

      I used to read the alumni magazine USC sends me. About 10 years ago I started an article about some woman who was upholding USC standards yada yada, and she had three patents, fed starving children in Africa, brought ponies to the poor kids in Australia, helped fight an Ebola outbreak in, wherever, Canada or something, and was now starting a tech business, and on and on...

      Turn the page to her photo and details. She's... 26 years old. That was the turning point for me. Well, one of them.I realized I was shit and started hating the world. Some people just have what I call the life force, and I know I don't have it, and no, it's not intended as a SW reference.

      I built an awesome mountain temple this week in Minecraft, though... has an indoor forest... yeah, I suck. :(

      • by MaWeiTao (908546)

        Some people just happen to be in the right place at the right time. They're not necessarily the best at what they're doing, but they were able to capitalize on the opportunities when they arose. Many people wouldn't even notice the opportunity if it presented itself others cripple themselves with self doubt or stubbornness.

        In my experience, having a pool of dependable contacts is the best path to success. If you weren't lucky enough to grow up in the right neighborhood or didn't attend one of the top univer

    • by Darinbob (1142669)

      Well, competitive programming with a time limit seems to be vastly different from real world programming. In the length it takes to do the competition I may only have come up with a few lines of code and am still waiting for a build to finish or I spent that time just trying to figure out what a bug might be. My guess is that they do a lot of incredibly high level code, slapping together pre-built components, etc. Then presumably you have to be highly knowledgeable in one particular area and hope that's

  • by Anonymous Coward
    A place where you can programmers that can give you quick, dirty code that gets the job done but ultimately leaves you with a disease.
  • ...a little known sport where competitors furiously code for five hours in pursuit of glory and cash prizes...

    That was the original story line for a movie [wikipedia.org], but I hear Vin Diesel preferred cars over code.

    • "That was the original story line for aÂmovie
      , but I hear Vin Diesel preferred cars over code."

      Yes. The one about coding was starred by Emacsn Gasoline instead.

  • . . . which drugs are we supposed to take, to improve our performance? Will they institute doping controls?

    All REAL sports have drugs. If your sport does not involve drug enhanced performance, it isn't a REAL sport.

  • by MyLongNickName (822545) on Tuesday August 07, 2012 @12:08PM (#40907081) Journal

    As a manager, our tests are a bit more strenuous reflecting the importance of the synergies of many diverse skills. The dynamic test includes email with a certain threshold of cc’s to disinterested parties. We get bonus points for lunches out and extra points on top of that for lunches paid for by vendors. A second part of the exam includes writing unintelligible memos and unfollowable policies. Tests are administered through the cloud, using value-added third-party vendors. Oh yeah, more bonus points for using management speak words.

    I'm world champion, baby.

  • Seems interesting that the registration link is not https

    http://www.facebook.com/hackercup/register [facebook.com]
  • by logicassasin (318009) on Tuesday August 07, 2012 @12:23PM (#40907235)

    I went to high school in Detroit in the late 80's and, believe it or not, there was an official city-wide high school computer programming league much like the high school sports teams. We were given a list of individual tasks and had to write a program in BASIC on IBM XT's and the entire event was timed. Each working program was dropped onto floppy and handed to the judges to execute with their own data sets and we were scored based on time to execute (if it took too long it had to be rewritten) and if it actually worked.

    I led my school's team to 3rd place three years in a row back then. I had often wondered if there were leagues like this in other cities. Not sure if it still exists either but it was great back then.

    • by Wordplay (54438)

      I did this sort of thing in high school in the late 80s during individual regional contests, but never in league play. That would have been fun!

    • There was in Illinois, but it wasn't a team sport. Everyone competed on their own. I took first place in state.

  • by Surt (22457) on Tuesday August 07, 2012 @12:41PM (#40907471) Homepage Journal

    Once. Consistently ranked in the top 5% on a lot of these coding competitions. He's really fast. Gets amazing things working in remarkably short time. Unfortunately they're an unmaintainable mess, and tend to be packed with bugs. They work for exactly the cases known at the start (well, sometimes only even most of those), and break as soon as they find a new edge case. We got a very low to possibly negative net productivity out of him.

  • by SuperKendall (25149) on Tuesday August 07, 2012 @02:44PM (#40908885)

    Yeah, coding something from scratch over a few hours that works and solves a tough problem is impressive.

    What I really want to see is the "coding hurdles", where developers are thrown into a nightmare of an existing project with 100k lines of bad code, and told to implement five new features... now THAT would be something!

    • where developers are thrown into a nightmare of an existing project with 100k lines of bad code, and told to implement five new features

      Do we get a bonus for submissions that cause the compiler to tap out?

  • Does competitive programming including games where you must drink a tequila after every x-minutes or x-lines of coding or like something similar to "The Social Network"?

The bogosity meter just pegged.

Working...