I used to do it this way until I read this article a while back -- the hot start method gives me much easier-to-peel eggs than the cold start used to. I start with my eggs from the fridge and usually toward the end of their lifecycle though.
Interviews are hard because programming is an incredibly complex task with few qualified candidates.
Any programming challenge other than the most basic questions is going to have a long-tail distribution in the time it takes a person to answer them. It's easy to get hung up on something stupid, especially in a high-pressure situation like an interview. We've all had moments where we missed something "obvious" for weeks on the job.
In college they solved the time-pressure problem in tough classes by making the homework really hard and the tests really easy (like the take-home project OP suggested), but that relies on an honor code and the fact that getting a good grade on your homework is not nearly as important as landing a job. Also a lot of great programmers don't want to deal with your bullshit project because they're getting recruited by a million other companies.
If some new metrics end up in widespread use, most of the people that pass the test are going to be ones that gamed the system (e.g., added a bunch of GitHub projects), just like the majority of people that get really hard coding puzzles have seen the trick to solving them before.
No matter what you'll end up with low true positive/negative rates for any test you do. I think the right way to deal with this is to come up with a bunch of orthogonal tests and then choose candidates that pass a bunch of them. Have them debug a program, have them do web programming, have them talk about a project they did, give them a project to do if you can, etc.
The main thing I learned after doing hundreds of interviews is that I have a limited view on how to judge a programmer, and that view translates only so well to the question of "how much value will this person add to our company right now."
So yeah, TLDR, I don't think the status quo is great but I don't think any of the solutions proposed over the years are better.
Most people I know who went down the academic route have left the world or are seriously thinking about leaving. I know a couple people with positions at top universities, and around the age of 30 their careers are just starting, with tenure being potentially a coin flip.
And it always traps the most brilliant people. That's the worst part.
Here's a contrary point of view: by his own admission in that article, Higgs has published "fewer than 10" papers in the last 50 years! What has he been doing since 1964?
Raw metrics like papers and citations are easily gamed, and not great ways to evaluate productivity, but surely there are limits...
(And before you say, "but he gave us the Higgs!", several other researchers did closely related work at the same time [1], so humanity would still know about a mass-producing scalar boson.)
Nobody knows how to identify "talent" other than in retrospect. We say people are talented when they produce results, and then we select little anecdotes about their story to allude that it was destiny.
We can't settle this debate because we just don't know enough about how the mind works and how genetics play a role.
My question is, what's the actionable piece of advice? If you try programming and don't get it, you'll never be a good programmer? At what point do you give up and say that you just aren't talented enough?
It seems to me that the only people asking the nature vs. nurture questions are the ones that want an excuse to give up.
The best food in the world isn't freely available to everyone. The amount you pay for software may not correlate with quality (expensive government contracts vs. a few smart guys making a website) whereas top-priced meals are consistently good. The only cost in software is labor whereas food involves perishable inventory, fluctuations in demand, etc. that works into the cost.
I'm just sayin they're totally different. But yeah they are both hard.
agreed. i think this convenience is confusing. also would make it hard to explain that a two-dimensional complex vector contains two complex numbers, not one.
You missed the point, which is that people are likely to pull out their phones at totally inappropriate times these days. Go to any restaurant or bar and see how many dates/couples/groups are just staring blankly into their phones. That doesn't really happen with books.
I think the benefit would be that people will ask more in-depth subject questions rather than "getting-to-know-you" type questions (to which we would get answers too short to satisfy).
I think HN has become increasingly focused on people rather than ideas and this would exacerbate the problem. IMO this should be news FOR hackers, not news ABOUT hackers.
AMAs would also largely be posted by people with a self-promotional interest (for the benefit of either themselves or their company) and upvoted by their voterings. Reddit AMAs seem like much more of a favor to the audience in comparison.