Hacker News new | ask | show | jobs
by jimsimmons 1762 days ago
A few successful competitive programmers being successful in general doesn't make it a good metric for all programmers. I'd say the same about competitive math too, despite Terry Tao being a pretty great counter example.

What actually happens at all levels below the gold medalist level is completely different. People memorize leetcode and think they're gods of CS. Ultimately, you have to agree, these competitions come down to learning a vast repo of tactics. A guy who is generally good at CS or math can't show up and do well. You have to burn a lot of midnight oil so to speak.

IMO such data structure and algo mastery is largely illusionary. It mainly depends on the trends in the game at that point in time. If you see people who do well in such competitions, they have embedded themselves in these communities and think about it all day. Why should every programmer be held to this arbitrary standard? What if I want to learn ML, compilers and programming languages or study distributed systems? They are as much CS as anything else but you don't get a cookie every time you navigate a tricky situation. There is no gamification so you have to tread your own course. That IMO takes a lot more originality than what these rat races foster.

1 comments

> People memorize leetcode and think they're gods of CS how fast you go from 'all levels below gold' to this while probably such people do exist (never actually met someone who tried to memorize concrete solutions), they have nothing to do with competitive programming. Because you won't go far with bunch of memorized (and not understood) solutions of previous competitions. Even learning basic algorithm's implementations won't get you too high in competitions. Because you actually have to understand different approaches to actually be able to solve new problems.

> A guy who is generally good at CS or math can't show up and do wel

this is also not true. While you won't get like first places without practice, you still will be able to solve basic problems (if your cs degree has any substance behind it). And during interview it certainly shows. Nobody will give you hard problems which you can solve only by having some very specific knowledge of this particular problem. If you don't know some algorithm by hard but still can work out some approach using you background knowledge, you will pass almost any interview.