The World's Greatest Competitive Programmer 202
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."
Heard of the slow food movement? (Score:4, Interesting)
They appreciate quality food that takes time to prepare.
So do I. I don't give a rat's tail what you can come up with in 2 hours. What are you wise enough to come up with in two years?
Re:As a Professional Developer... (Score:5, Interesting)
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.
Re:As a Professional Developer... (Score:5, Interesting)
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.
Re:Heard of the slow food movement? (Score:5, Interesting)
Re:As a Professional Developer... (Score:5, Interesting)
After writing this, I got on a little bit of a tangent so it isn't all necessarily directed at you, LifeIs0x2A so don't be offended if it seems slightly condescending or obnoxious.
If you're proficient in practically any language, find a small under 10 person company to work for and it almost doesn't matter what you do they'll think you walk on water. Of course, do a good job out of professional pride if nothing else but in small businesses the IT guy that "makes shit happen" gets a ton of respect. Early in my career I started out at a sports wholesale distributor that wanted to insource their IT stuff. A friend of a friend heard about it and got me the interview. As a hobbyist I was already proficient in Python, Java, and web technology in addition to odds and ends like AutoIt and the ilk. I aced the "interview" which was basically, "Can you do computer stuff?" and got started. There was so much slop that could easily be automated I was like a kid in a candy store. One minute I was writing a custom database front-end that shortened the 20 minutes it took to enter products into the website to about 2 minutes and the next moment I was working on the sales/CMS application the salespeople (when it was finished) started running around with. It was great. It got to the point that the bosses daughter was bringing me home cooked meals to my desk everyday already heated up and ready to go. I'll stop there.
The point is if Google won't hire you then fuck them. If you have some skills then alpha the fuck up and network. There are plenty of opportunities for the taking.
Re:As a Professional Developer... (Score:5, Interesting)
Detroit Public Schools HS programming teams (Score:5, Interesting)
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.
Re:Heard of the slow food movement? (Score:4, Interesting)
Mark Zuckerberg competed on TopCoder (though he wasn't terribly committed, and didn't do terribly well) before he was famous. If you follow Slashdot, you'll remember the final Rubik's cube proof - that was done largely by high ranked TopCoders. One of the early developers for Writely was also one of TopCoder's first dominant competitors (snewman). Google is filled with current and former TopCoder competitors - they're doing heavy lifting all over the company, and Google spends tons of time and effort to get more (as do many other companies). I still get calls from companies (particularly high-frequency-trader type companies, but tech in general) fairly often based on my mediocre (and now semi-ancient) TopCoder participation.
Naturally, though, most programmers (of any sort) are going to be fairly anonymous contributors on larger projects.