Live data from Hacker News

Competitive programming is useless

kislayverma.com

141–150 of 157 posts

Re: Competitive programming is useless

#141
post #130

Earlier quoted context omitted.

Ok. I'll take your anecdote at face value and shift my views slightly in that direction. I'll also note that even if some competitors do memorize algorithms & train how to write them fast without mistakes, this memorization perhaps gives them a slight edge, but it's not the core skill that separates winners from losers. A small edge, perhaps.

Necessary edge. There was tons of preparation specifically for competitions. Not sure why would that be surprising. Same thing happen in chess, scrabble, anything competitive. Once there is enough competition, you can't go in with hope and talent alone. You have to train specifically for competition format. Chess players don't base their play on pure problem solving either. They memorize and train specific plays.

> Not sure why would that be surprising.

It's surprising because I also do competitive programming, and I know many people who do it, and I haven't encountered anyone in those circles memorizing algorithms. In fact, many competitions explicitly allow you to use a pre-written library. Some IRL competitions even allow you to bring in written materials. (Not all competitions allow this, I know.)

Re: Competitive programming is useless

#143
I never get offended by any news. But this one is on the limit. On my case I wish I would have started before with competitive programming. I learnt skills that almost no one has and I think is one of the skills that makes me unique.

Re: Competitive programming is useless

#144
post #59

I'm been following competitive programming for years and know multiple extremely successful "grads" of IOI and ACM ICPC. I have an ICPC bronze medal myself. The HN crowd will know Adam D'Angelo (IOI Gold) - cofounder of Quora and Nikolay Durov (IOI ICPC Gold) - cofounder of Telegram. My personal examples are Singlestore (billion dollar company) which I cofounded and Near Protocol - 5Bln market cap crypto company cofo…

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 com…

> 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.

Re: Competitive programming is useless

#145

This post really is a rant as the author forewarns, with barely any cohesion and no evidence to back up anything. I fear it has gotten upvotes simply because it's a popular opinion. I don't think it's worth a detailed response so I'll just respond to the reductio ad absurdum in their tl;dr, that competitive programming has been taken to extremes (implicitly by employers). This is plain untrue. Sure a lot of interview…

yeah, for some reason it is a trend to call some basic coding interview problems as something from 'competitive programming'. While in reality it is just on of the metrics of interview - make sure you can code. While some companies sometimes go too far with complexity of problems, even they rarely make decision purely on how fast you can solve the problem.

Re: Competitive programming is useless

#146
post #27

Earlier quoted context omitted.

“ but I would like to hire someone who are good at solving problems (of any kind) and can detect the edge cases very well and without deep math or competitive programming knowledge, it's not possible at all these days.” You shouldn’t be so opinionated before you’ve entered the work place. If you find, after a few years of experience, that this is true then fine.

My point is competitive programming or math competitions isn't a field specific skill. It teaches you various ways to solve various (life) problems in general. Brute forcing, divide and conquer, backtracking, recursion/Induction can be applied to anything. I'm not opinionated. If there is any other way of proving that someone is good at these tactics, I'd love to work with them.

> deep math or competitive programming knowledge

I think I read too much into deep. Certainly I'd expect any non-junior dev I work with to understand those concepts! But I wouldn't assume someone who published several papers on knot theory is any better at development that someone who hacked together a couple startup side-businesses, except in very very specific domains.

Re: Competitive programming is useless

#147
post #145

This post really is a rant as the author forewarns, with barely any cohesion and no evidence to back up anything. I fear it has gotten upvotes simply because it's a popular opinion. I don't think it's worth a detailed response so I'll just respond to the reductio ad absurdum in their tl;dr, that competitive programming has been taken to extremes (implicitly by employers). This is plain untrue. Sure a lot of interview…

yeah, for some reason it is a trend to call some basic coding interview problems as something from 'competitive programming'. While in reality it is just on of the metrics of interview - make sure you can code. While some companies sometimes go too far with complexity of problems, even they rarely make decision purely on how fast you can solve the problem.

Makes sense as a trend. If you fail a "competitive programming question", then it's the employer that's absurd. If you fail a "basic coding problem", then it's you who is unqualified.

Re: Competitive programming is useless

#148

Earlier quoted context omitted.

To me competitive programming doesn't make you a good software engineer. It will teach you bad practices, like abusing of dangerous programming constructs or data structures to optimized the code or just save some typing while writing the code (like one letter variable names, macros, etc), global variables and state in the program, not using common design patterns, not using OOP, not documenting the code and in gener…

Not using design patterns seems like pure upside. I don't think it's reasonable to use a library for most things one implements in competitive programming, because the work of getting your problem instance in and out of the library is probably greater than the work of writing the solution yourself, in code length and in runtime. As an example, the only time I ever needed to use A* was on a state space that was larger…

> I don't expect that I can download a library that does A* on abstract state spaces not fully present in RAM for me

I'm sure this does exist! A functional library where you pass in, not a pointer to the set of all nodes, but some functions to get the node with the current lowest distance and to update the distance of a node.

Not saying it was the right thing for your use case, but don't rule it out. Even in languages that aren't strongly FP - eg it happens a lot in Go due to the lack of generics, and if you squint, the C++ STL is kind of like this.

Re: Competitive programming is useless

#150
post #10
post #6

From my point of view, the correlation is definitely not 1, but while competitive code is not good code, and therefore the skills and discipline differ, there is a strong correlation between good competitive programmer and good programmers. Just like sprinters and marathonians, sure best sprinters are not necessarily the best runners for long distance, but they are definitely better than me.

According to Peter Norvig, the correlation is actually negative! https://www.youtube.com/watch?v=DdmyUZCl75s

nicklaf, I somehow came across your comment from 9months ago about TOS and PoTs. I have been struggling with some issue for the last 4 months and doctors aren’t telling me a thing.

Would you please get in touch with me via Instagram @jesse.brill or Snapchat jessebrill55 or Facebook (search for Jesse Brill in Atlanta, GA) or via email Jesse.brill@gmail.com

I would appreciate talking to you and maybe you can help me.

Post reply on HN