This post is a rant. I know that this is not true of every company and or every engineering student. But it is widespread enough in my experience that I find it worth ranting about.
Competitive programming is a good tool for building the programming muscle. An extreme pursuit of competitive programming is worse than useless. Unfortunately, companies and students are both headed in that direction at the moment instead of looking for engineers with broad interests.
From competency to fetish
Competitive programming started out as a good thing. When I was in college, there was no leetcode or equivalent websites. I think GSoC had just started out and only the “rockstar” programmers used to participate in that. Or maybe this was just the situation in my college — I don’t know. By and large, my class got by without writing much code, much less code of the type one might encounter in a real job. I and a few others who genuinely enjoyed programming ended up doing a variety of projects on our own and learning things that way.
The leetcodes and geeksforgeeks of the world filled a critical gap between textbooks and hands-on exercise. They provided a convenient place to see the kinds of questions asked in interviews and practice solving them. And then something went wrong. With growing access to these questions, interviewers started asking harder and harder questions in the coding rounds in college (and generally <5 years exp.) interviews. The expectation for these rounds is currently, IMO, meaningless. We left competency behind and are now well into fetish-land.
As a response, college students now pursue competitive programming obsessively to stay on top. In this weird arms race against prospective hires, companies keep asking harder and harder questions in a misguided attempt to raise the bar. The students respond by doing nothing else but solve every single available question on every single…