Top Tech Companies: You filter on raw IQ, here is how to do it more effectively
nadamhu.wordpress.com
nadamhu.wordpress.com
1) Basic coding questions are a nice filter. If you can't remove an element from a doubly-linked list in C on a whiteboard immediately after graduating, what were you doing the last four/five years? It's like the height signs before an amusement park ride: "you must be at least this competent." These are not intended to be hard problems. You should not be crippled if you "think differently" or "form important theories." Further, dropping one on the floor is not a deal-killer; you just have to get most of them.
2) Do you really understand how a computer works? If I give you some inputs (or you come up with them), can you walk through your program and describe the execution and memory state in some detail? You'd be shocked how many 4.0 GPA CS students from Stanford/etc. cannot. I am willing to teach new graduates how to work at scale. At a top firm, I am not willing to send them back to school to take Operating Systems and Architecture again.
3) Can we have a discussion about your code and the problem without you breaking down completely? More edge cases, expand it to a broader domain, increase perf (MSFT), scale it to web size (Google), etc.
None of these are raw IQ measures. If you want to see such measures, look to the finance industry where, for example, my wife had to take the Wonderlic Test during one interview, which is definitely more a measure of "raw sprinting smarts."
I remember what a doubly linked list is but I wouldn't remember C well enough to pass the test. Does that make me a bad programmer?
> point 2)
Depending on the position, this might or might not matter. If you are modeling high level concepts in functional languages for example, does it really matter if you don't know what a logic gate is or how processes are scheduled?
> point 3)
Agreed.
I would say whatever questions you chose, it will only filter out for a certain type of programmer. Your questions are most likely targeted at C/C++ systems programmers.
Unless the position was for a C role, Most people would accept psuedo code, or help you along with enough syntax to get you through.
According to Gwern[1]: It is worth noting that studies of human genius frequently say that raw IQ and talent are not helpful past unexceptional levels like 130 IQ; what makes the difference is motivation and the "drive to mastery"
Start with 7 billion humans, then reduce to the set of those with at least the target IQ. Are there enough people in the world to make this work? How about after subtracting people who don't do that kind of work or don't speak the right languages? Or they're in the wrong country and won't move. Or they're at some other employer. Keep subtracting from the pool and see who's left.
If your company is bigger than the number you get after this filtering, then you aren't really filtering that way. You just think you are.
Humans can also get better a solving problems like he presents. It's not about memorizing test cases, it is about developing heuristics and noticing patterns - something humans are actually very good at. If you practice you will get better.
In any large culture people will constantly tell you you are going about something the wrong way, it is simply in the nature of large cultures. It is the job of any professional engineer to compile notes, listen and react appropriately to this. Sometimes the other people don't have the whole story, or are simply just wrong...other times they know something you don't and you have to be willing to scrap what you were doing and go back to the drawing board - with a new contact and fresh information.
By the way, the simpler explanation for asking question about CS theory and algorithms is that they want people that have really studied them thoroughly. I know, it's a crazy idea, ... but it just might be the answer. :)
https://news.ycombinator.com/item?id=5227923
and the tl;dr of the FAQ is "If you are hiring for any kind of job in the United States, prefer a work-sample test as your hiring procedure. If you are hiring in most other parts of the world, use a work-sample test in combination with a general mental ability test."
Readers of HN have asked me to put that FAQ somewhere on the Web with a permanent link, and I am revising it for posting to my personal website. If you have suggestions for how to make the FAQ better, I'd be glad to hear them, as I have already been doing further research on company hiring procedures.
I don’t know where to find the data used in that case, but my understanding is that intelligence tests have been shown to be broadly predictive of job performance, more so than any tests written to test only “job-related” skills; intuitively, it’s often better to hire someone who can more easily learn new things than to hire someone who already has some amount of experience but has difficulty learning new skills, drawing inferences, and dealing with unexpected situations. So if you’re hiring someone, and you have two otherwise equal applicants, and one scores better on an intelligence test, it makes sense that you’d be better off hiring the one who scored higher, but this is prohibited by the Supreme Court’s interpretation of the Equal Rights Act.
Banning employers from using an effective method to choose who to hire necessarily causes economic efficiency. It’s fascinating to think about how much; a large part of why companies like to hire from top universities is that that’s where the smart students are. A large part of why so many companies are requiring college degrees for jobs that didn‘t previously require them is that it’s an effective form of cognitive selection; as more and more students go to college, fewer high-IQ students don’t go to college, and the IQ gap between those who do and those who don’t grows. I think eventually someone’s going to realize it’s possible to hire students straight out of high school on the basis of test scores and provide them with all the necessary training, skipping the whole process of making them spend $250,000 and four years of their lives experimenting with drugs and getting shwasted.
Actually, no, you're misunderstanding the key to Griggs. It doesn't matter if the test is fair if the outcome is discriminatory.
The DoJ and activists are only interested in suing companies where a) it's difficult to rate individual performance and b) judges think that "anyone can do that job"
But I'm not a gun advocate.
Remember that writing maintainable code is also about communicating an idea -- knowing how to pick the right word to describe a variable or function -- knowing how to document your code succinctly, are critical and have a significant effect on a company's bottom line in the long-run.
Furthermore, you want to hire someone who will not negatively affect the productivity of his coworkers with his attitude. He must be able to work productively in a team setting.
And yet, skilled players are substantially better than unskilled players. They also tend to be formidably intelligent people, but any game may be gamed.