Hacker News new | comments | show | ask | jobs | submit login

Two possible reasons:

1) I think a lot of start-ups want to hire "smart" people. Because they expect the new person to eventually wear many hats. Objective-C, Java, Android, CSS, server side concurrency, monitoring. An we've all seen Hunter and Schmidt reference that tokenadult usually posts when talk about interviewing comes around and it does seem that a general mental ability test (like an IQ test) combined with a work samples seem to predict future performance of that employee. Well except that one can't just straight up give IQ test to job applicants (there is a court case about that). So we are left with a job sample (which many forget to give, as is the point of the author). But instead many focus on the GMA and create proxies for it -- cute little puzzles about blenders, round manhole covers, and other such silly things.

2) Those interviewing don't know the technical stuff and are afraid you'd out-bullshit them. "How does an Ajax request work" well if the interviewer themselves doesn't quite know the details the might not be able to evaluate it properly. They could have it written down but well, some technical questions have many different levels of depth that a candidate might descent to. So a quick written answer to the question might seem wrong but it is really because the candidate is more advanced. So puzzles seems to be a generic and "easier" to handle.

I think (1) is probably the primary reason, along with the fun factor I mentioned above.

But honestly, why can't we just start giving IQ tests? Or at least asking for SAT scores? We shouldn't have to run through training puzzles just to prove we're smart enough to build a site.

> But honestly, why can't we just start giving IQ tests?

It's illigal. Or at least very very legally questionable.[1] Theoretically good proxies could be attacked in the same way, but there's a difference between doing something that could conceivably be the basis of a lawsuit and doing something that the Supreme Court has specifically ruled on.

[1] See Griggs v. Duke Power Co. (1971)


I meant that mostly rhetorically in that I think that was a poor decision, or at least applied poorly. (Correct me if I'm wrong, but if you can show a high IQ is necessary for the job, isn't an IQ test acceptable?)

Still, asking for SAT scores is still legal and they correlate decently with intelligence.

Actually the primary correlate of SAT scores is not intelligence but wealth.

I suspect the actual correlation is not with wealth (i.e. giving money so somebody with low SAT scores would not actually improve their scores - unless he would have enough money to bribe whoever is overseeing the test of course ;) but with some things that correlate with wealth.

It sounds like you heard "causation" when parent said correlation. Correlation is observed in past samples; what you describe is a mechanism for trying to disprove causation, but it won't remove any correlation from the past samples, and it probably won't remove the correlation with historical wealth of the family etc.

Parent said "primary correlate". Primary implies some special-ness, that is not like the others.

I do not see any way "historical wealth" could directly - without intervening variables - influence one's SAT scores. Of course, having affluent parents may mean certain value given to quality education, certain amount of care and access to development tools and so on - but then those should be primary factors considered, not wealth per se.

Money buys access to tutors and training materials. It buys access to free time for practicing for your SAT. It also buys opportunity to repeatedly retake the SAT until you get a grade you like.

...but none of that makes much difference:

"Does test preparation help improve student performance on the SAT and ACT? For students that have taken the test before and would like to boost their scores, coaching seems to help, but by a rather small amount. After controlling for group differences, the average coaching boost on the math section of the SAT is 14 to 15 points. The boost is smaller on the verbal section of the test, just 6 to 8 points. The combined effect of coaching on the SAT for the NELS sample is about 20 points."


OR, those people are wealthy because they have a high IQ, and are likely to give birth to children with a high IQ.

I would bet that's far more likely.

Except that being poor taxes intelligence:


So in fact, it is more likely that people from wealthy backgrounds are able to better utilize their intelligence, and thus retain their wealth and status, whereas people from poor backgrounds are at a disadvantage when it comes to escaping their position in life.

Whereas the wealthy are more advantaged to "escape?" Where do they escape to?

Did you read more than half of one sentence that I wrote? The poor are at a disadvantage when it comes to escaping their position in life; if you need this spelled out for you, the poor are disadvantaged when it comes to making decisions about saving money that could help them improve their financial situation. Wealthy people are better able to make rational decisions about their money, which helps in retaining wealth.

Maybe you should actually read the article I linked to, if it would help you understand what I wrote.

If you are hiring for start up, you do not care why they are dumb. Potentially you can save money by hiring non traditional candidates and paying them less, but any advantage you get this way will be short lived. Unfortunately diamonds in a rough are rare and finding them cost more than their value.

I was originally replying to a comment that claimed that people became wealthy because of their intelligence. My point does not have much to do with the issue of startup hiring (admittedly making the thread a bit off-topic for the article).

I understand the position very well, and I think most people with common sense do. Of course it's harder to become wealthy than it is to achieve other positions in life.

I just think it's a stupid use of "disadvantaged." It implies someone else has an advantage, in to quote you, "escaping their position in life." It's like saying a bad baseball player is at a disadvantage when trying to become a good baseball player. It almost doesn't make any sense.

Same goes with the idea that poor people are disadvantaged about making decisions wrt money. Of course they are, or they quite likely wouldn't be poor any longer. To use baseball again, or any skill really, the experts of course have advantages in deciding the best course of action, and typically have more ways to achieve it.

What I've gleaned here is that you consider poor people to be novices at the skill of acquiring wealth. I agree. For some reason people seem to think it's far different from rookies in other skills, because acquiring wealth is perceived by most to be a vital part of success, happiness, health, etc.

I think the number of dumb but rich people in American politics dis proves your thesis.

Maybe they aren't as dumb - at least in the area that made them rich - as it seems. I can imagine someone bing smart in the university hall and dumb on the street, or vice versa.

Depressingly many people confuse someone making decisions they disagree with or don't understand and someone being "dumb".

oh really if the US had a system like we have in the UK the house of commons would have eaten quite a few high profile US polticians (including some presdents) alive.

Id love to see Paxman interview sarah palin or Ted Cruz for example.

Aren't intelligence and wealth correlated with each other, and both are correlated with SAT and IQ tests? I thought the explanation for the mysterious "g-factor" in intelligence that IQ is supposed to measure isn't that it exists in and of itself, but that a number of measurable outcomes (income, wealth, test scores, GPA, job prestige, etc.) are all positively correlated, and then that correlation is called g.

We need to define some terms. Education != intelligence. The IQ tests are silly and heavily judged as nonsense. These tests are focused on math mostly, but math alone is hardly the only area that matters. However, in this context, math matters, because in many ways it is correlated to programming.

I'd guess that there exists a causal relationship between "intelligence" as measured by standardized tests and the sum of dollars poured into someones education.

The causal relationship is with "success", i.e. exam results and college acceptance rather than "intelligence" per se.

Standardized tests like SATs and school grades are a terrible way of ranking a potential employee and have significant biases such as income and age.

I didn't have very good grades and my SATs were ok but not great, both primarily because I didn't study or apply myself. I was completely uninterested in school. Get me to write code and you'll see what I'm capable of. I'm certainly not unique in this regard.

What kind of IQ tests? Math thinking? Language? Other? These tests are kinda old and don't prove anything besides the fact that the person has a certain level of intelligence but that doesn't mean they can code.

> What kind of IQ tests? Math thinking? Language? Other?

Both. They're not perfect, but I'm going to be picky and look for people who can generally reason well (both mathematically and verbally).

> but that doesn't mean they can code.

That's why you pair it with work samples.

The ideal hire would be an impressive GitHub + evidence of intellect. The GitHub shows they have coding chops, while an IQ test usually means they can react quickly and learn new skills.

Or as Steve Yegge likes to say, "Done and Gets Things Smart"


That is an extremely long post that says "hire the rock stars". Except, of course, we all cannot only hire the very best, transformative people (like Jeff Dean at Google). And, he has no way to actually identify them, except "ask around".

It's entirely unrealistic as a business strategy. It sure is nice if you luck into it.

Or as Steve Yegge likes to say, "Done and Gets Thinks Smart"


I agree with the principle of wanting to see code but keep in mind that expecting Github (or similar) is a bit ageist. I definitely went through a phase of my life where I coded like crazy and produced lots of interesting side projects, but that was long before Github or even Sourceforge existed. So I could point you towards some interesting stuff I passed around the BBS world in 1985, except that even I didn't bother to keep a copy after its usefulness faded.

I still have a bit to show on Github and mean to put up more when I have a chance but still, most developers find that when you've got a decade or more of experience, you start to want to take on new challenges and experiences (whether family or woodworking) in your free time rather than more programming.

What if all your most relevant work is owned by previous employers? Restricting hires to people with decent personal projects and/ or extensive open source contributions isn't ideal either.

I'm fine with only hiring people who have done some work outside their workplace. If they're really great at programming, they have the drive to try new things outside work. Indeed, a couple good personal projects is probably the best predictor of skill you could find.

(Skill and interest tend to be highly correlated.)

I used to believe that as well. Now I'm not so sure, mainly through my own personal experience.

For 5.5 years (2004-2009), I was a core developer and maintainer over at Xfce. Over that span of time I wrote tens of thousands of lines of code, perhaps more. I did this in addition to my job, which morphed from engineering project management to programming tasks that I didn't find very challenging.

After I left that job, I joined a tiny, early startup. The programming work there I found very challenging, and the insane hours quickly ate up any spare time I might put toward Xfce. Eventually I realized that lacking a life outside of work made me sad, so I left. Fast forward a little bit, and now I'm at another startup, which (while demanding, challenging, and rewarding) gives me time for outside pursuits and a social life. But I don't feel the desire to work on personal coding projects anymore. The job fulfills my desire to write code, and outside of that I'd rather be, well... outside.

It's interesting, because all my Xfce contributions are on git.xfce.org, and not on GitHub. My GitHub account contains 2 personal projects: a semi-finished Android UI library (which was really only relevant and useful in the 2.x days), and a script for building a Gentoo image for a Raspberry Pi (which I've since abandoned as I mainly run Debian nowadays). Looking at my GH account would be fairly unimpressive, and might even be worse than not having a GH account at all.

So I'd easily fail the GitHub test. If a particular company was making that a no-go for getting through an interview pipeline, well... their loss, I guess.

I'm responsible for a fair bit of hiring at my current company, and I rarely ask about personal projects anymore, unless a candidate has one listed on their resume. While I'm not always happy with the coding problems I usually give (they tend to be data-structure/algo problems that I'd probably have trouble solving in an interview setting), they do at least clearly show whether or not the candidate can write code, and I also get a rough idea of how cleanly they code, not to mention insights in how they approach and solve problems. And not being able to completely solve the problem isn't an auto-fail in my book either, as long as they tried to work on it and their approach (and whatever code they did write) was sound.

I do very strongly believe in the aptitude test + work sample formula as the best way to evaluate candidates, but the problem is more that it's not always so easy to apply those tests in a traditional interview setting. Maybe that just means we need to come up with a different way of interviewing, though.

I have a bunch of personal projects, but few of them are on github, and the ones on github are not done under my real name, because I find the concept of me having to work on nights and weekends to impress future employers offensive.

My personal projects also include things like my very playing around with a new language (so it is freaking ugly and so I would never want it used as a job indicator) and old abandoned projects that I've salvaged and updated as a favor to friends, which means the entire architecture is alien and "I Don't Care If It's Ugly Just Make It Work Because Right Now It Does Not Work At All" is exactly what the 'client' wants.

I also reverse-engineer game protocols and find vulnerabilities in them. There is no social good to me releasing that stuff. (No, I really don't feel like being a soldier in your Full Disclosure army.)

I do lots of coding stuff in my spare time. I don't do it to get a job, I do it because it's fun.

>> For 5.5 years (2004-2009), I was a core developer and maintainer over at Xfce.

>> But I don't feel the desire to work on personal coding projects anymore. The job fulfills my desire to write code, and outside of that I'd rather be, well... outside.

Another thing to remember is that you're 5-10 years older then you were at that point. Life priorities have changed. You might not be a caffeine-fueled 19 year old anymore, instead you're 28 with 2 kids and a mortgage. Or 34 and just have other things that interest you than tweaking Linux or exploring video drivers.

It's interesting, because all my Xfce contributions are on git.xfce.org, and not on GitHub

In this case, just mention it. It's not about github literally.

Sure. The intent of that statement was kinda muddled. I was more referring to the fact that my "main body" of open source code, to which my contributions stopped 4 years ago is all on a non-GH site, so it's interesting to look at what is on GH, which represents what I've done out in the open since then, which is... not much.

My assumption (which maybe is wrong) is that 5 years of OSS contributions that ended 4 years ago may not be all that impressive. Why did I abandon it? etc.

Minor nit-pick.

> So I'd easily fail the GitHub test.

The github test isn't about your what you have on github. It's about what code you can show, out in the public. Github just happens to be the common way to do that now.

If a company requires Github specifically, than it's just a stupid company you wouldn't want to work for anyways, so it saves you the trouble.

You'll probably never get anyone who used to work at Google/Facebook/Apple/Twitter then.

The problem is that IP agreements in the state of California say that the employer is not entitled to work done "on the employee's own time, without using the resources of their employer, and unrelated to the lines of business of their employer". Google claims to be in basically every tech-related business there is. Do something as simple as a mobile app or casual game and you can potentially get in trouble for it because it may compete with a division you've never heard of.

There's a procedure to get around this, but it's fairly slow and bureaucratic, and so many Googlers find it more efficient to do their "for fun" coding as 20% projects. Facebook has a similar system with their hackathons. Apple just works its devs so hard they don't have time for independent coding products.

I think that GitHub profiles are a good way to identify good devs who don't work for the leading tech companies, but once you're in one of them you a.) don't have time for personal programming projects anymore and b.) find that the stuff that your coworkers are doing is more interesting than pretty much anything you could work on as a solo dev.

This is crazy stupid and naive.

I like spending time with my friends and family, some of which I have to travel far to see, for one.

I spend 40+ hours a week in front of a computer, when I get a chance to go out in the world, I want to GO OUT.

None of these things don't mean I don't love software (I do) or I'm not interested in it (I am). I just have varied interests.

Disregarding that, I used to work for a Big Nameless Faceless Corporation, and the legalize in employment agreement said basically that because I was a software engineer for them, they owned all the software I wrote while employed, even if I wrote it on my own time and with my own computer.

I've heard one too many times that I have to react now and voice my confusion. When you have students and you want then to have had some work done outside of coursework, I'm perfectly ok with that as I understand the merits but I wonder is it true for people 10+ years into their career. I see great people having great jobs who, if they have free time, code something that can help their current job but that code also ends up being own by the employer and is very rarely released as open source.

And what about when all your work is internal only, so you can't show it off on GitHub?

GitHub is a false profit. Almost every excellent programmer I know has almost nothing in their public GitHub. I've been doing this for a great many years however going off my GitHub I'm barely a programmer if that's the metric you're tracking.

I'm curious to know how many employees you currently have.

Exactly. I would feel much more comfortable testing the job's requisite domain-specific knowledge directly.

But it means that they can learn quickly.

Management consulting firms and Wall Street banks have employed somewhat strict GPA and SAT/GMAT cutoffs for quite some time, but even they can't resist the allure of brainteasers during the interview process.

Google, on the other hand, appears to have done away with them, and now prefers to evaluate potential hires without giving too much weight to GPA or test scores: http://qz.com/96206/google-admits-those-infamous-brainteaser...

GPA and SAT correlate well to IQ. With those two pieces of information you could estimate IQ pretty accurately.

Because SAT scores are a very very terrible indicator of if you have 1) the ability and 2) the work ethic to build a site.

And how old are you? SAT scores? I'm only in my 30s and I don't remember my what my SAT scores were or remember if they were "good" or "bad" I only know that they changed the SATs after I took them because my youngest sibling took a different one than I did, with some crazy scoring. I wouldn't be able to find my SAT scores even if I wanted to.

In what way will an IQ or SAT test give you an indication if the applicant even knows what a compiler is? Your comment is cute but I'm not sure how useful it is ... :(

1) I think a lot of start-ups want to hire "smart" people.

What does it really mean to be smart? Lately I cannot stop thinking about it. I have always been considered a 'smart person'. I am a self-taught freelance developer now - it used to be my hobby and somehow (mostly because I needed location-independent work quickly) it became my profession. I get by because everybody thinks I am smart but I feel like an impostor because the more I think about myself the more I realize that intelligence is not some general ability to solve problems - it's more just a set of very different skills that corelate to much lesser extent than people usually think and you can be really good at something that people use to judge your abilities and at the same time really bad at something else that is actually required to get the job done.

I studied sociology and I shortly worked as a data analyst. It seems to me that this kind of work requires... ehm... a different intelligence than programming. You need to be good at connecting the dots, noticing things, seeing patterns. This is my kind of thinking and I have always been good at this - doubting everything, seeing pure assumptions where other people saw 'truths', permanently creating hypotheses and alternative theories, trying to spot logical fallacies in prevailing theories... basically trying to spot things.

Programing is very different (at least it seems to me - so different tat it's even difficult do describe it). I guess it's about creating stuff, not just observing stuff. You need to build very complex and abstract mental models, keep them in your head and be able to operate with them - and this is the part of intelligence that I seem to be lacking. It just does not feel natural. I try to solve some problem and I am thinking... if this condition and that condition but at the same time not that condition... and bang!, suddenly I am lost and I don't even remember what I am doing. I cannot keep it in my head. I totally get what OP was saying about passing anonymous functions in JavaScript - I had the same experience. The first time I encountered something so simple as JavaScript closures it took me two hours to get it. And the day after that I had to repeat the whole mental process to get there again because I somehow lost it over night. This is simply not how my brain works and I think I am really bad at this. Yet people pay me for this... which is just depressing (and you understand why I write this under throwaway).

I remember our 'statistical analysis 101' professor always telling us 'remember, you are not really testing hypotheses, you are only testing indicators!' - if HR department picks wrong indicators for the skills that they actually need both company and employee are going to be unhappy - and I think this is very common because our understanding of the indicators for different kinds of 'being smart' is still poor.

The first time I encountered something so simple as JavaScript closures it took me two hours to get it.

Closures are not simple. They are a powerful concept, one which introduces a whole new way of thinking about programming compared to what most people start out doing. It's normal for it to take a long time, over many sessions, for the concept to sink in and become a part of your programming vocabulary.

Freshmen year of undergrad, it took me well over a week to wrap my head around this "public" and "private" concept of classes. I had only written C++ that was mostly C with structs and C++ input/output. I had never had to reason in an object-oriented way before, and it was different. It was completely alien to me that I would intentionally "hide" some parts of my code from myself. Now, it's completely natural to me.

What the author did not see was those same developers learn about closures for the first time. When she sat down with them, they had already reasoned with the concept many times. Don't confuse initial difficulty with some inherent deficiency in your mental ability.

I've been thinking about the same problem for a while, and I'm also a self-taught developer that looks way towards sociology. I have a little different spin on the main hurdles of doing programming. With proper tools and the right mindset, the entire goal of the organization process is that you DON'T have to think and hold 100 things in memory at once. It works okay for some problems, but any problem with a sufficient complexity (like, say a full rich website with lots and lots of features) will be nearly impossible to work with if everything was intertwined.

I find the hardest park of programming is getting over hurdles as they come up, over and over and over again. It takes a while to get over fear of small failure. Also, if you're constantly reanalyzing and have a perfectionism streak you can be paralyzed quite frequently. Have you run into the same problems?

Exactly! I would say that complexity is the biggest problem form me. It makes it impossible to keep the whole mental model in my memory and I need to reanalyze and rebuild it constantly depending on the part of the problem that I am trying to solve right at the moment.

> * I get by because everybody thinks I am smart but I feel like an impostor*

That's a real thing. Almost all of the wildly talented people in my life feel Impostor Syndrome[0] at some level. Three Panel Soul even did a spot-on comic about it [1]

[0] http://en.wikipedia.org/wiki/Impostor_syndrome

[1] http://threepanelsoul.com/2013/10/14/on-impostor-syndrome/

edited for sane line breaks

You're conflating intelligence and knowledge. Intelligence is a matter of capacity and capability; knowledge is one of the things intelligent people have a great capacity for attaining and retaining. The main thing, in fact.

Knowledge, unlike intelligence, is in practice infinite. And now you can understand the inverse Dunning-Kruger effect: intelligent people have the capacity to recognize how little knowledge they have, and can ever have, about any given topic.

You're conflating intelligence and knowledge.

I don't think I am. I guess that you are probably referring to that stuff about JavaScript because that is the only part of my post where I mention something knowledge-related. But I am not talking about the lack of knowledge of JavaScript closures or functions passed as arguments - I was talking about the fact that it was surprisingly difficult for me to grasp that concept while trying to acquire that knowledge. Let me use your own words - it was 'a matter of capacity and capability'.

If you think I am wrong please explain how I am conflating intelligence and knowledge.


Oh I agree, I am just saying they miss both the part about how GMA is best when paired with a work sample and that those puzzles are not necessarily good equivalents to an IQ test.

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