The World's Greatest Competitive Programmer
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."
Might as well have a world's greatest virgin competition...
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.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
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?
Where are we going and why are we in a handbasket?
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.
While there is a huge difference between a good coder and an average one, I always preferred one who thought out all the possible data cases and programmed not just for the norm but for the exception. Not to mention one who spent more time on creating test cases than actual coding. And doing speed tests of the code. The life cycle costs of the great programmer's code is so superior to the average that it is worth while paying the price to get it right the first time it goes in a customer visible release.
I've seen bug fixes cost more than the original functionality cost to create.
Said from a perspective of one who mucked around with OSs for 37 years.
This competition produce the fastest programmer.
I was under the impression that a good programmer had a clear and easy style, was writing comments etc.
Do you really think that's what's mesured in these competitions ? I'm sure their code is horrible.
...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, but I hear Vin Diesel preferred cars over code.
It must have been something you assimilated. . . .
. . . 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.
Schroedinger's Brexit: The UK is both in and out of the EU at the same time!
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.
Speed programmer in interview, "I win competitions where I write code fast and it works."
Employer, seeing a proven productive programmer that will reduce development costs, "You're hired!"
But go ahead, all of you tell yourself how you plan more, design better, think about the problem and come up with an optimal solution - while your meter is running. Go ahead and try, just try, to convince a company that your way is better than the speed programming champion.
ROI talks, bullshit walks.
Yeah, yeah, yeah ... talk to the hand!
that turns coffee into code.
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.
See my journal for slashdot ID's by year. Mine created in 2005. http://slashdot.org/journal/289875/slashdot-ids-by-year
Seems interesting that the registration link is not https
http://www.facebook.com/hackercup/register
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.
Fifty watts per channel, baby cakes.
There are times when you need someone who can come in, find a quick hit solution that works, and moves on. There are also times when you need someone who can sit down, thoroughly analyze the situation, devise a long term plan to resolve it, and stick with it through to completion.
Check out his blog for videos/screencasts of him coding
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.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
I don't think they do programming contests for large scale projects that need to be reliable, accurate, and thoroughly secure ... such as a banking system. I would not put a whole lot of value in contest wins when hiring developers for such projects.
now we need to go OSS in diesel cars
Let's call a spade a spade.
Companies aren't funding this shit to look for top talent, they're funding this shit to look for efficient monkey slaves.
I've done these while preparing for a job interview, and they are really hard (apart from the earlier competitions). It's amazing to me that this guy does them for relaxation. It shows just how different people can be, or how plastic the brain is.
If your algorithms change or need to be adjusted frequently then you may need to modify the relative level of the coding. For example, if you go to a doctor they won't tell you a bunch of medical jargon and expect that you know what it means...even though they're precisely explaining what is going on, what will transpire, and what the solution is; they will tell you in terms that you can understand. The same is true with programming. For very complex algorithms that can be maintained by a couple people you have more flexibility with how low-level you can be with the data structures and overall design. If you have a vast set of algorithms that many people must maintain the it make sense to "dumb" it down a little and focus more on creating a maintainable codebase rather than something overly complex.
If you start off with the second person, you generally do not need the first person.
I have nothing against these sorts of contests, but I'd rather see a competition where a developer writes an elegant solution to a problem in some reasonable amount of time, and *documents their approach completely*.
Code poorly designed and without a good set of documentation is a perishable asset to any business that has changing needs... which is most of them.
"For me!"
On your mark!
Get set!
Nerds!!!
I think people who excel at competitions would be a perfect fit for Research and Development positions. That would include programming jobs on the cutting edge of some field (computational biology, financial engineering, petabyte data analytics, etc). The speed and insight required for competition success is exactly the qualities you'd want in roles like that. However prize-winning programmers might find normal enterprise computing jobs dull or uninteresting and would probably not be a good fit. Kentucky Derby winners don't make good plow horses !
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!
"There is more worth loving than we have strength to love." - Brian Jay Stanley
Definitely my favorite competitive programming competition is the Google Code Jam.
Held annually, its a pretty nice competition. The qualifying round gives you as much time as you want, you just need to get a minimum points to go on. From there, each round is timed, and has 3 sub-rounds set at different times throughout the day. (Its an international competition). Competitors are ranked first by points (correct answers) and then ties are sorted by time taken. The top X of each round goes on to the next. The final round of 25 competitors takes place at Google.
They're really fun and very challenging. Google comes up with interesting questions, so there's nothing boilerplate here. They often have fun or humorous references, such as the 2011 code jam referencing Portal 2. (In a legally distinct manner). You receive a question, and a very simple example input. Then, when your program is ready, you can ask for the real data input, and you have 5 minutes to submit the proper output as requested by the problem. Performance is not directly judged, but there is a small input set and a large input set (worth more points), and the large input set is specifically chosen by google to be unfeasible to calculate without a sufficient big-O efficiency.
I highly recommend everyone have a go at it! :D You can practice previous year's problems any time you want.
http://code.google.com/codejam/
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"?
It's like when I listened to a VERY wise man once in the NFL on TV during an interview (Dexter Manley an NFL star, was great in his time): The interviewer said pretty much along the lines of this to him:
"Dexter, you're All-Pro this & that: Greatest at your position, perhaps best ever!"
He said, wisely, in reply:
---
"Guys, listen: There's a guy out there, right now, sitting on a couch watching this. He didn't have the grades, or the luck, to have gone past highschool sports (but he did have the raw skills + inborn talent) - he could be ME, right NOW, and do better... a lot of life, is luck"
---
I am forced to agree. I've seen it in coding, sports, academics, & yes, on the job professionally as a coder too!
Edward VanHalen of musical "Rock-N-Roll" fame also said something that SORT of dovetails into that:
---
"If I didn't have this guitar and time I put into it? I'd be out there pumping gas..."
---
(In other words, he put in the TIME & EFFORT, & got lucky it paid off! That, in & of itself, CAN BE A GAMBLE!)
Now, do I *think* the guy this article's about is GOOD? Sure!
Why?
He's consistent... that's a mark of a 'great one'!
* Some "Food 4 Thought", people...
APK
P.S.=> I've done some "OK" stuff in my time in the software programming arena, both professionally and in the freeware/shareware circuit, & I've determined 1 thing:
THERE IS NO "BEST"... not in programming, sports, music, heck - anything!
There's just more focused & determined workers, who really put their "ALL" into a particular program or topic, and excel because of it... but even they, at least the intelligent ones, most likely realize what I did, or what any boxer knows: Everyone has STRENGTHS in particular areas, & WEAKNESSES in others, nobody knows it all!
Plus, face it:
Yes, you can have "off days" (what writers call 'writers-block' pretty much), & can have FAIL days too... there's always SOMEONE out there that could "take you on, & out" (Any day of the week... period!)...
... apk
Dude, you pegged my Buzzword Bullshit Detector in the first sentence. Well played sir! :D
>Improving search results now involves more subtle tweaks, such as finding synonyms or other language tricks to help extract extra meaning from a user's search terms.
I would rather have someone with good ability to create a well-factored domain model and description of solution requirements, given a client with a vague idea of what they want.
I would rather have someone who can first come up with all the important design constraints and trade-offs in a domain and problem, then creatively suggest alternative solutions, then they can methodically explore and compare how well each solution meets the constraints, and can methodically explore the pro-con decision tree on the trade-offs, to perhaps come up with a least bad solution (from this perspective), then a least bad solution (from that other perspective/priority weighting).
And I would rather have someone with great debugging skills; a great designer of experiments, a methodical fact gatherer, who knows what they don't know, and also one who occasionally gets, after pondering or exploring, deep creative insights into the probable or possible cause of the bug; someone who can debug well on their own or in a dialectic conversation with another programmer.
Where are we going and why are we in a handbasket?
Those of you, who think you code it all, are very annoying to those of us who do.
Logged in to mod this up. No mod points. Me sad.
I think I was this on NBC Olympics coverage last night.