Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How to hire the best people you've ever worked with (2007) (pmarchive.com)
137 points by wyclif on Dec 23, 2015 | hide | past | favorite | 48 comments


Specifically, I am unaware of any actual data that shows a correlation between raw intelligence, as measured by any of the standard metrics (educational achievement, intelligence tests, or skill at solving logic puzzles) and company success.

I don't mean to be nit-picky but I enjoy an internally consistent burden of proof in a blog post. In this post he seemed to move the goal posts. He dismisses intelligence as valuable because it doesn't meet an impossibly high burden of evidence. But then argues you should instead should use drive, curiosity, and ethics without substantiating his claims.

For example, test programmers on basic algorithms -- linked lists, binary searches.

Just in pseudocode -- it doesn't matter if they know the relevant Java library calls.

Programming and algorithms are two different sets of skills. Writing a stable, easy to use, useful java/ruby/python/javascript library is a very different skill set from solving algorithmic puzzles, which are both unrelated to recreating a linked list from scratch in 10 minutes on a whiteboard.


I'm guessing all his candidates have high IQ as the lower ones already have been filtered. He is not talking about the difference between 100 IQ and 140 IQ, but e.g. 130 and 140 IQ.

So I read it a bit differently: he doesn't think that intelligence doesn't matter, but at the high end of the scale, intelligence doesn't matter as much as drive. High intelligence can't make up for lack of drive: A person with 130 IQ with a lot of drive is better than 140 IQ with low drive, but no matter the amount of drive, an 80 IQ person is not usable as a programmer.

Similar to: if a jobs offers you $50,000 and another $100,000, most will take the second job without hesitation. But if you have to choose between $250,000 and $300,000 the difference in wage might not matter as much as other aspects of the job, e.g. location, what to work on and the colleagues.

aka The law of diminishing marginal utility.


Yes arguing from your own ignorance is not the most reliable way to convince someone of something.

In regards intelligence it is the only thing other than work tests that has been shown to have any major correlation with job performance.

Edit. This paper make for a great read on this topic.

1. https://www.researchgate.net/publication/227600464_Stubborn_...


Conscientiousness is also correlated with job performance, and is about on par with IQ for predicting lifetime earnings. Agreeableness (also a Big-Five trait) is also quite important in cooperative settings (though both have small effects relative to IQ for single shot task performance).

http://www.gwern.net/Conscientiousness%20and%20online%20educ... has a nice overview of the literature. https://en.wikipedia.org/wiki/Conscientiousness does a reasonable job describing the trait.

Edit: while we're listing large causal factors for work performance, I feel appalled I forgot to mention genetics... https://news.ycombinator.com/item?id=9739126


The problem is conscientiousness is heavily g loaded so what you are mostly measuring is the effect of g.


His thing about reading too much into references is pretty bad. Like "moody" = "clinically depressed." Pretty big jump there! Could you really say that about a stranger based on a tepid reference? Maybe their project was stupid, or they had a bad seating arrangement where they were stuck next to an annoyingly chatty person, or they just weren't naturally bubbly, or ... whatever, there's like a thousand possible reasons to consider before you jump to "clinically depressed" with regard to a stranger.

I also think the thing about drive is a bit naive. If you're dealing with a young unknown quantity than sure, drive can be a useful metric, but on the other hand if you're dealing with a proven reliable professional with domain expertise, who cares if they have drive? I've worked with plenty of really good people that don't want to touch a computer after they go home, and yet are incredibly capable at their jobs, and that's totally fine.


Similar to that, when he mentioned constantly interrupting = egomaniac. I've noticed that I'm fairly bad about interrupting people, but I don't think it's because I feel I'm way better than everyone else and my opinion is so important, but that's what my parents and some of my close friends do as well. When I do it with people besides them, I usually stop myself and maybe apologize, but by then it's too late.

I know I must be annoying, but surely that doesn't mean I'm a bad developer.


I just had to deal with someone like this for six months - he always interrupted people, always thought he knew everything, was a terrible coder but thought he was great. However, he stressed multiple times that he never regarded himself as better than everyone else. His actions said otherwise, and pissed off the team (especially me).

You might be an egomaniac, or you might not. It's impossible to tell from one comment, because you've only mentioned a subset of the behaviours, and egomaniacs don't always have the self-awareness to judge their own behaviour.

If you listen and engage with your peers about programming, and not just dismiss everyone else's opinion outright, then you're probably not an egomaniac.


Interrupters are people who don't listen to what others are saying. Playing nice with others is usually is required to be a good developer (depending on what you're working on, software is rarely a solo effort).

Not only that, you can learn something from other people as you don't know everything all the time. Constantly learning is required to be a good developer. You can't learn when you interrupt.

I worked with an interrupter, he was one of the most incompetent programmers I've ever seen but wasn't capable of understanding his own incompetence because he was too busy interrupting others.


> Interrupters are people who don't listen to what others are saying

In contrast; I listen to people intently, and love learning new ideas and opinions. However, most people take sooo long to get to the point that I often know how their sentences will end before they do. So I interrupt them.

Some people get offended, and insist on finishing their sentences. In about 99% of the cases, I correctly predicted their point.


I feel the same way. And I would like to imagine that I wouldn't be too bothered if someone cut me off and quickly expressed how we were 'on the same page'.


Theres a difference between finishing someone's sentence in a back-and-fourth conversation and interrupting.


It's a culture thing. The trick is to keep from disrupting the conversation flow. - Some natural languages outside of English are meant to interrupt the speaker. A community with a mind is less worried about finishing a thought vs an individual who wants to be heard by the community. - Who ever convinced you you are annoying is just pushing their ideology onto you and you're allowing it to affect you.


Do you have any pointers to where I could read more about natural languages being meant to interrupt the speaker? That sounds fascinating.


To be fair, even if you were an egomaniac or thought you were better than anyone else, that doesn't mean you're a bad developer. There are obviously cases where egomaniacs are great developers. Linus Torvalds being exhibit #1. Not defending the practice of thinking you're better than others. Just saying that it's not simply binary.


I interpreted that passage as that he had once gotten a review of someone as "moody" and it turned out they were actually clinically depressed, and similarly with the other reviews.

Not much better to extrapolate from one data point than from zero, though!


Yeah, I share your concern on drive. People who are incredibly driven are surely going in some direction, but it's not clear to me that it's always the right one, and I've often seen them drive in a direction that is different than where the team is going or what the company needs.


The (admittedly unstated) context here is that you're not just hiring someone competent for a job, you're hiring an early employee for a startup. The employee will have a massive influence on the company's future. They will not only be doing the job, they will be defining the job.

(Edit: The table of contents lists this under "other startup essentials.")


Yeah, I prefer vision and ability to deliver over some person's belief in your perceived drive. Its a very simple con to make someone think you are determined, its much harder to con results.


> Now, you might say, Marc, that's great for a young kid who has a lot of spare time to stay current, but what about the guy who has a family and only has time for a day job and can't spend nights and weekends reading blogs and staying that current?

> Well, when you run into a person like that who isn't current in their field, the other implication is that their day job isn't keeping them current.

> If they've been in that job for a while, then ask yourself, is the kind of person you're looking for really going to have tolerated staying in a day job where their skills and knowledge get stale, for very long?

If they've got a family to feed, the answer is "yes," right? Or "That's why they're looking for a job with your company."

Alternatively, if they've got an H-1B...


> REST vs SOAP, the new Facebook API, whether Ruby on Rails is scalable, what do you think of Sun's new Java-based scripting language, Google's widgets API, Amazon S3, etc.

Really? Why would anyone learn any of that unless they actually need it to make their work done?


Because learning that kind of thing increases the possibility space of what you can do. Insights usually come from a diversity of knowledge, if you only learn what you need to know you'll be exceptionally average.


I agree in theory, but the problem is that everybody has their own personal "10 most interesting things right this moment" list, and they often don't match up even (or especially) among excellent programmers.

So the fact that somebody isn't spending time with your favorite new toy doesn't mean they're not constantly learning, especially when the top 10 list is as ridiculously subjective as the one in the article.


That's not his point. He doesn't care that your list is different than his; he cares that you have one.


I read it as they should be interested in something, not they should be interested in what you're interested in.


Messing around with an API in your off time is important because it means you can change contexts and get up to speed more quickly without having to learn everything from scratch on the job, and of course context is everything. I'm probably not going to be super into a social network's API but for things that are server-related? Damn right I want to know how build 30 servers with just a POST request, a for loop, and some json data. You can then apply that knowledge to something a bit more boring you might get hired for if needed, like a startup that needs someone who can answer questions about how to properly use their API to make a number of POST requests to send hundreds of orders of glitter to various companies who have not sent a response to said persons job application... in theory of course.


No it doesn't. It means you have a lot of free time and can be used as cannon fodder for the startup. You will work 80-100 hour weeks producing exceptional work for compensation that is below the area average.

Let's get real, employers /want/ young naive fresh out of college kids who've never been burned and don't know any better than to give their early to mid twenties to a VC/startup for peanuts. Messing around with a rest API is just a sign that you are potential prey, a fresh kill for the hamburger machine.


Or it means that among the hobbies you have that consume your free time, there is 'tech' as a line item. There's nothing wrong about doing research in tech in one's free time if that what they enjoy doing.

It's really annoying to read replies like yours that systematically suggest all people who spend time researching and side-projecting stuff about tech are doing so because they have lot of free time or are cannon fodder. If you prefer to spend your free time gardening or brewing beer, that's fine. It's equally fine if I enjoy spending my own time learning about more tech stuff.


I didn't mean to suggest that people who research and side-project tech stuff are universally cannon fodder or have otherwise negative loser-y properties. I certainly don't believe that as I do it myself...

What I meant to suggest is that there is a certain cynical undertone in an organization where 'work is also my hobby' is a disproportionately desirable line item in an interview. I was attempting to project that attitude rhetorically. Given your offense, I think the point was made, but maybe too subtly... It is an offensive attitude. To me it implies something negative about how I (and my time) will be valued.

This isn't to say anything about the (what I think is) natural 'starting a new job' period, where one puts in extra hours to get up to speed on the technologies being used and the existing code-base. That's part of hitting the ground running and being a good and productive hire.


These are not necessarily contradictory positions.

Even if you work only 40 hours a week directly developing software for the startup, the independent time you spend self-educating and researching can often enable faster development.


> You will work 80-100 hour weeks producing exceptional work for compensation that is below the area average.

This is what glassdoor reviews are for, and is entirely dependent on the company. Besides that it's a two way street, you bolster up the resume and if it turns out it's not what you expected than you now have the skills to find an environment that is what you're looking for. Alternatively you could of course spend your early-mid 20s being homeless and join the gutter punks in trying to sell weed to those VCs around The Haight instead, but that's not as fulfilling or lucrative IMHO.


You said it yourself, these candidates produce exceptional work. The fact that they may be underpaid is a problem with their (group) ability to negotiate pay, not a failure in hiring manager's talent recognition.


To be fair this was 2007, they were interesting things at the time that you might plausibly muck around with for a side project.


Keep in mind this was written in 2007. I don't think all of that stuff is irrelevant by any means, though. Nine years later, the list might look somewhat different, but his point is that it's an indicator of intellectual curiosity, not things that are directly practical for the job the employer is offering.


Because they're curious about it? The same as they might be curious about the geology of Mars and the history of the world since the Renaissance. Maybe just for the kick of it, or because they have a side project in mind.


My top hiring metric is grit. Wikipedia says it's an individual's passion for a particular long-term goal or end state, coupled with a powerful motivation to achieve their objective.

This perseverance of effort promotes the overcoming of obstacles and challenges... and serves as a driving force in achievement realization.


I'm no expert in this area, but when I look for potential co-founders I always think the best metric is how self driven they are. It's so easy to find people who went to school, got the grades and graduated. Its harder to find people who go and do things outside of the standard.


I take it you don't care much for employees that do things besides programming? Like I dunno.. hobbies, and family, and stuff?

Call me lazy if you wish but I almost never want to program during the weekend. That time is better spent with family, or playing games, or washing the car. Or something. Anything really. If I come into work having burned my brain out over the weekend programming something, then I don't produce results that satisfy me. Hehe.


I do some hobby programming for fun, but I don't expect everyone I work with to do that. I do it for fun and wouldn't otherwise. When I interview developers, I ask them about their hobbies in general. Sure, I throw in some technical questions depending on the position (usually language/platform agnostic), but those aren't the focus or the best way to hire to me. I want to know if they have an interest/curiosity into how things work (problem solving/debugging skills), can communicate effectively (can work as a team) and are passionate about something in their life (tells me they can focus on something when needed).

I follow up with questions about how they solved some difficult problem in their life (could be programming or could be just learning how to change their oil). I ask them how they came up with a solution and what they learned about it. I want to see if they learned enough from it to be able to explain it to me or anyone else in the interview.

Doing that gives me an idea of how their communication skills are. I want to gauge their problem solving and debugging skills during the interview, because I think almost anyone can be taught to be a better programmer, but it's much harder to learn to be an exceptional troubleshooter/problem solver and that tends to be a majority of what software developers do.


When Google was a smallish startup, they only hired people who did something exceptional outside of their job. They accepted hobbies, but only impressive ones, like being an airplane pilot.


> Google, on the other hand, uses the metric of educational achievement.

> Have a PhD? Front of the line. Masters? Next. Bachelor's? Go to the end.

That's... That's not really true at all. While I interned there (during my bachelors) I met a lot of people without their masters. One guy had only his high school diploma.


Although a degree seems to be a poor predictor of performance in a software engineering role (http://blog.alinelerner.com/how-different-is-a-b-s-in-comput...), I am sure the percentage of people with degrees at Google is higher compared to "normal" companies.

I have some insights in Google-Zürich and the percentage of Masters and PhDs is above average compared to other companies. (Disclaimer: I live in Zurich and I used to code for a living. Now, I hire engineers for different companies in Switzerland. If you look for a tech-job in Zurich, check out my story "8 reasons why I moved to Switzerland to work in IT" on https://medium.com/@iwaninzurich/eight-reasons-why-i-moved-t... or ping me at the mail-address in my HN-profile.)


The blog post says, "Specifically, I am unaware of any actual data that shows a correlation between raw intelligence, as measured by any of the standard metrics (educational achievement, intelligence tests, or skill at solving logic puzzles) and company success."

That's just an argument from ignorance. According to Hacker News comment karma scores, one of my most popular comments ever was a comment that included a FAQ about what the research shows about company hiring procedures.[1] What the research says is that for hiring workers for any kind of job, a work-sample test and a test of general intelligence are about tied for effectiveness in identifying good job candidates. ALL hiring procedures sometimes miss good workers, and all hiring procedures sometimes result in hiring lousy workers, but if you want to optimize, the way to optimize is to hire workers who are good at doing the specific tasks you are hiring for (that's what a work-sample test shows you) and how have good general cognitive ability, which shows as well as any indicator that they can learn to do new tasks in the future. References to the research literature are available in my previous comment, linked in the footnote. Anything else you do in hiring, for whatever reason, has less benefit to your company than checking whether job candidates can do the job tasks and checking whether the job candidates are smart or dull.

[1] https://news.ycombinator.com/item?id=4613543


It seems most people have missed what he actually said, which was that he's not aware of research linking employee intelligence to "company success". Employee intelligence may well be linked in research to employee success, but he didn't suggest otherwise.

Employee success and company success are two different outcomes of interest.


I know it's Marc Andreessen and I know it's a nit-pick, but did he never learn how to use a paragraph? Short, standalone sentences can be powerful to make a point, but they can be tiring when used every single paragraph.


> Most people softball deficiencies in people they've worked with when they do reference calls.

Everything these days is so PC that I wish people would even softball the deficiencies. We are in the age of recommendation inflation. Everybody is "great". There is no "but...".


TLDR: There are thresholds for intelligence and pre-existing ability, but focus on three things: Drive, Curiosity, and Ethics.

I have also heard "Hire for intelligence and attitude", which I also agree with. A good attitude will take you far.


just in case people miss that: this was written by Marc Andreessen




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: