Live data from Hacker News

Programming competitions correlate negatively with being good on the job

catonmat.net

41–50 of 112 posts

Re: Programming competitions correlate negatively with being good on the job

#41
post #29

This just smacks of defensive justification for lack of participation. "I don't do this and I don't want to do this, so I'm going to bash it and the people who do it so I can pretend I'm making a choice instead of just being lazy". It's a little bit like the folks who say, "I'm saving myself for marriage" when in reality they've never been on a date in their lives. Pretending like people can't think in more than one…

> Someone would have to explain to me in much more detail how this "negative correlation" is established I think it's just a statistical correlation they found in the hiring data.

I'd need to know more about the hiring data, the actual correlation method, how they collected the data, what was the sample size...

Basically, like I wrote, I would need to know more.

Re: Programming competitions correlate negatively with being good on the job

#42
Not to be gratuitously negative, but...

All of these claims from Google that say competition performance hurts or that GPA doesn't matter are missing one huge thing: selection bias.

Google only sees the performance of the employees that it hires, not the performance of the employees that it doesn't hire. Because of this, the data they analyze is statistically biased: all data is conditioned on being employed by Google. So when Google says things like "GPA is not correlated with job performance" what you should hear is "Given that you were hired by Google, GPA is not correlated with job performance."

In general, when you have some thresholding selection, it will cause artificial negative correlations to show up. Here's a very simple example that I hope illustrates the point: Imagine a world where high school students take only two classes, English and Math, and they receive one of two grades, A or B. Now imagine a college that admits students with at least one A (AB, BA, or AA) and that rejects everyone without an A (BB). Now imagine that there is absolutely zero correlation between Math and English - performance on one is totally independent of the other. However, when the college looks at their data, they will nonetheless see a stark anticorrelation between Math and English grades (because everyone who has a B in one subject always has an A in the other subject, simply because all the BBs are missing from their dataset).

The bottom line is that whenever you have some score that is some positive combination of input variables and then you threshold your observed data on a minimum total score (as is the case in hiring at Google or in college admissions), then you will see much stronger negative correlations between your inputs than exists in real life.

And really, whenever you run some selection algorithm, you should hope that (on the margin) there are no correlations between your selection decision and your inputs. If there still is a correlation post-selection, that means your algorithm has left money on the table. So when Google says that programming competitions are negatively correlated with performance and GPA is uncorrelated with performance, what that likely means is that Google's hiring overvalues programming competitions and fairly values GPA.

In fact, if we did a randomized controlled study (the gold standard of proving causation), I think we'd see the expected results. Just imagine - if you grabbed two random programmers from the entire population, one who had won a competition and one who had not, do you really think the competition winner would be the inferior programmer?

Edit: Many other posts here are coming up with plausible sounding narratives to fit the data. "Competition winners are one-trick ponies or loners or write awful code." I encourage everyone to think critically about the data analysis itself.

Edit2: From Gwern's comment, this phenomenon is apparently called Berkson's paradox: http://en.wikipedia.org/wiki/Berkson%27s_paradox

Re: Programming competitions correlate negatively with being good on the job

#43
post #8

I don't see how it would be negative correlation or even zero. Winning a competition shows a certain amount of raw talent. For someone who only programmed for competitions and never worked on a serious project I could see it being a negative, but with some experience the competition winner should (on average) do better than average.

Well imagine comparing person A who worked on a serious project and won 10 programming competitions vs person B who worked on 11 serious projects.

Re: Programming competitions correlate negatively with being good on the job

#44
post #12

People participating in competition and winning (or not) are in my opinion self driven individuals that are more suited to build their own company as opposed to be a good employee.

Driven by what? If it is driven by title then you have something like this http://www.nextbigwhat.com/indian-developers-accused-of-chea...

Re: Programming competitions correlate negatively with being good on the job

#46
post #31

Earlier quoted context omitted.

I have refused to do a couple of time pressure hacker rank challenges as part of a job interviews recently, as it is not how I work on a day to day basis. I was good at these sort of things fresh out of university 15 years ago. I have never had to implement any algorithm under time pressure in my professional career.

Why must it be "how you work on a day to day basis"? Why must interviews only be about exactly what you're being hired to do?

I would like to think it is at least somewhat related to what I am doing, rather than a lucky dip of a question that I might get or might not. I am a way better software engineer than 15 years ago, yet I am worse at these sort of "challenges".

Re: Programming competitions correlate negatively with being good on the job

#47
I'm someone who would probably suck at programming competitions. I also suck at office politics.

Yet my code is decent, maintainable, performs well, and is said by those who review it to be high quality (including well respected and competent team leads who are also hands-on coders and architects of large systems).

And I have made, just my own contribution though it's in a context where other people also contribute, probably hundreds of millions of dollars for companies I have worked for. By creating creative, effective solutions to real-world problems.

In some cases my not being hung up on algorithms like some colleagues has led to me see solutions that they were blind to. Not better algorithms, but completely out of the box solutions. And these solutions have worked well, and made it into products used daily by hundreds of millions of people, with price markups attributable directly to the solution.

All this is to say that from the admittedly biased perspective of a non-competition winner, my experience tends to validate the implied corollary of this headline.

Re: Programming competitions correlate negatively with being good on the job

#48
What none of these tests, contest or not, can filter for is long term work ethic, dedication and creativity. Of course, these may not be important for all jobs. It is easy for some personality tyles to get excited and focused in the context of an event. It is a very different story to dedicate yourself intensely to a project or a codebase for years. I know people who suck at tests who blow away just about anyone due to the intense dedication to the job they can deliver on a consistent basis.

Re: Programming competitions correlate negatively with being good on the job

#50

Considering that playing office politics is a key part of being "good on the job", I believe the sensationalized title. The top programming contest folk I knew were as socially awkward as they were brilliant. Based on my (admitted small) social circle, this means they excel at algo trading firms. A lot of trading teams I know of are headed by former Putnam/ICPC/IOI/IMO/etc. top rankers. The politics there are simple:…

A different angle - from someone averse to competitions and trading of most kinds: both have simple cost functions, unlike most of the rest of life. Yeah, it will tend to simplify politics which I think is a good thing. But in other areas a large part of one's effort goes into figuring out what to do - what the cost function actually is, into expanding the understanding of what it is.

Incidentally, much of human intelligence and talent in many areas manifests in understanding what to do; it's what machine intelligence is worst at right now; and it's the thing without which machines often beat people (board games are a simple example.)

So there are downsides to "simple politics" or rather simple cost functions; I for one don't care about such problems very much.

Post reply on HN