zlacker

[return to "Being good at coding competitions correlates negatively with job performance"]
1. npsoma+16[view] [source] 2020-12-15 01:50:33
>>azhenl+(OP)
IOI gold medalist here.

Most coding competitions tend to assess a specific set of skills: puzzle solving ability; algorithmic knowledge; and being able to code fast. All of these skills are useful in "real life" programming.

However, since the code you write will be thrown away post-competition, your focus is on churning out solutions that "just work" — proper engineering practices and maintainability isn't relevant. All your code needs to do is to generate the correct outputs.

Does competing turn you into a strong coder? Absolutely. Does this equate to being a strong engineer? Nope. Software engineering isn't just about coding fast.

This is anecdotal, but from what I've seen (as a trainer and friend of several IOI medalists): some of them appreciate that coding != engineering and proceed to develop their engineering skills. Others don't and remain stuck at the "I'll come up with a fast solution" mindset.

Whether one or the other happens very much depends on the person, plus, I believe, whom they end up working with. After all, we've all heard about the "10x" programmer – and when your colleague or subordinate appears to code at 10x speed, you just might think twice about whether you're qualified to advise or guide them. That results in their keeping any bad habits they might have.

◧◩
2. noizej+cf[view] [source] 2020-12-15 03:34:08
>>npsoma+16
Coding is social, because most code needs to be maintained by more than one person (over it’s lifetime). And if the code is so brilliant that only few people can understand it, it becomes a maintenance headache over the longer haul.

The same is arguably true for many professions and walks of life.

If you can make your work serviceable by more people, it becomes less expensive to do so. And in many (not all) cases, that’s a superior life-time value of your work.

[go to top]