Competitive programming is useless

Competitive programming is useless

#Competitive #programming #useless

What do you think?

12 Points
Upvote Downvote


Leave a Reply
  1. Top competitive programming questions (on Codeforces etc) have nothing to do with the kind of questions you find in interviews. They’re usually highly mathematical, which is why many top competitive programmers do maths, not computer science.

    You’re conflating the two in the article. You don’t need a competitive programming background to pass the interview questions at, say, Google or Facebook. You just need a solid understanding of basic algorithms.

  2. I can’t remember the last time I passed a candidate with that at the top of their resume. Naturally they’ll do very well with the screening and Hacker Rank/Codility but as soon as we start on some basic system design questions everything falls apart spectacularly. I’m not sure where these people end up but last I checked FAANG also do system design interviews.

  3. Some background of the author and his work history would be nice addition to the article. Because it seems he has very narrow experience. I did quite a lot of interviewing myself and rarely saw candidates who landed job position by purely knowing how to solve ‘leetcode’ problems. Even google now have 2 rounds of system design sections. You simply won’t get non-junior position without some engineering knowledge.

    Also. What you refer as ‘competitive programming’ has nothing to do with what companies ask on coding sections. You may say that they use lower tier of competitive problems, which you probably won’t see in real competitions.

    Aslo also. Saying all that I still won’t go as far as ‘Competitive programming is useless’. When you are interviewing you basically gather some metrics. And be able to solve coding problems is one of the metrics. Which shows that you can actually be taught to solve complex problems, have dedication to understand how code work and some interest in the whole programming thing. Plus you can code. And it is already something, because on the other side of the scale you get someone, who on the question about how hash map works answers something like ‘this is common knowledge, I knew it and if I need it I can always google it’. Which is much worse candidate, even if he has tons of experience.

    So being able to solve basic coding problems is one of the metrics we usually use to evaluate candidates. And everyone in the field understands that you can just put a lot of time to leetcode and pass this part of interview without being able to solve real problems. Thats why we have another sections, about technologies and system designs. Which you can also trick through. And as the last defence is the probation period.

    Also also also. About that

    > If the question had instead been “can this person become a great engineer in our company”, perhaps the outcomes might have been different?

    how are you supposed to ask that question? We usually have separate section for ‘just to talk with candidate’. But it is very subjective and usually about overall compatibility of candidate with future teammates. We mishired more than once, when candidate was just too good with talking, but in the end couldn’t even code.

  4. One thing I found unclear is the mention of GSoC. Is the article equating it to competitive programming (it is not, not even close) or is it an example of something that would be actually useful?

  5. True true, no one ever told the applicants that they really don’t write new code everyday.

    I have seen leetcode gurus failing at first production issue or panic at why their so called super clever code not getting approved for over a month.

    Yeah, as a manager I don’t care what your credentials are, if you can write properly testable and clean code which is easy to understand you are all good. Else, it is gonna be next set of puzzles for you in your spare time.

    That said, I guess it does help you when you have no experience to sharpen your Algorithm skillset which is fine. Heck, I interviewed candidates who were throwing skip lists and ropes on some simple problems and I felt intimidated. Wow… What is happening with interviews these days.

  6. In a way I have to agree. As with most things, it is pretty good in moderation. Personally, it helped me to learn rust and I’m happy for every problem I managed to understand, and design a rust algorithm for.

  7. This is like SAT for college. It’s a very strong indicator for abilities, doesn’t mean it will for sure translate. It is hard to fake solving a problem on the spot.

    I would most likely give people with competitive programming abilities more chances if I am not trying to hire a specialist.

  8. Sure , but somebody who is a competitive Rust programmer has chops and confidence, I’m going to hire that over some stoned hasbeen writing web or C languages any day!!

Leave a Reply