3 ms·
I was recently contacted by a head hunter for a job I thought was worth investigating. I wanted to talk to the company directly, but the head hunter made it cl
by edw519 17y ago
I was recently contacted by a head hunter for a job I thought was worth investigating. I wanted to talk to the company directly, but the head hunter made it clear that Step 1 was always a web-based programming aptitude test, no matter who you were. 20 questions. 18 correct was considered passing. They would only talk to candidates who got 19 or 20 correct.
So I took the test and got 20 correct (as I imagine many people here would do as well). I thought it was very easy. The headhunter later told me that in 9 months, she had sent 52 people to the test, only 2 of us got 19, and I was the only one who got 20.
I'm not really sure what this means. That there are a lot of posers out there? That she wasn't very good at screening talent? That the companies seeking the best talent gladly pay $100 50 times to save their time?
I guess my biggest feeling is one of disappointment. It's just not that hard to become a good enough programmer to get 20 right every time. All it takes is study, passion, a lot of dedication, and a lot of hard work. I wish more people would do that. There aren't enough of us.
- mcantor 17y agoOut of curiosity, what sort of questions were on the test?
- edw519 17y agoThe entire test was about a fictitious language, I forget what they named it. Every question built upon the previous. The first question was something like, "These are the definitions of variables: A string is... An integer is... A date is..." Then the question would be something like, "What can '15232' be? a. an integer b. a string c. a date d. any of the above e. a and c". Another question might be "Here are the rules of precedence... What is (1 + 2) * (3 + 4) / 3 a. 4 b. 2 c. 7 d. 12 e. Can't tell for sure." It got more and more complex, all in their own pseudocode. They covered branching, iteration, arithmetic operations, Boolean algebra, etc. Things most people here have seen a million times. Kinda like SATs for programmers.
- msluyter 17y agoThat's sorta cool idea though; much better than questions like "do you know this obscure feature X of some programming language Y, or what does some class EJBServletContainerFoobar do?"
- wooby 17y agoThe US military has a standardized test called the DLAB (Defense Language Aptitude Battery) that tests not your ability to use a particular language, but to learn a new, fictitious language - much like this programming test.
- glymor 17y agosuccess in the first stage of an introductory programming course is predictable, by noting consistency in use of the mental models which students apply to a basic programming problem even before they have had any contact with programming notation http://www.eis.mdx.ac.uk/research/PhDArea/saeed/ http://www.eis.mdx.ac.uk/research/PhDArea/saeed/
- Sukotto 17y agoThat sounds cool. Is it public someplace so I can try it?
- yosho 17y agodefinitely better than having to relearn java or C++ every time they ask me to take one of these tests... which tests for your knowledge of a particular language rather than programming concepts in general. Way cool test.
- char 17y agoDoes anybody actually have links to tests or coding exercises like this? I would love to do some.
- silentbicycle 17y agoYou might like the "labs" (exercises) that come with J (http://jsoftware.com/ http://jsoftware.com/). It's a real language, albeit a very unconventional one - it's a descendant of APL.
- icey 17y agoI do a fair amount of tech interviewing, and yes there are a lot of posers out there.
- hga 17y agoIn 1996-7 I worked for a firm that had retained one of the two best headhunters in the D.C. area and our experience was that 1/2 of the people they referred to us couldn't program their way out of a paper bag. My boss mentioned some time after I was hired from an ad in the paper that I was the only one who passed his programming test. Which was sufficiently generic and easy that I couldn't rememer it in detail, e.g. it was something like reverse a doubly linked list and find errors in some C++ code on the white board, none of them hard. There are indeed a lot of posers out there.
- deleted 17y ago[deleted]
- ad93611 17y ago"It's just not that hard to become a good enough programmer to get 20 right every time. All it takes is study, passion, a lot of dedication, and a lot of hard work." As someone working for a big company with a lot of passion, the four items that you listed is hard. Dedication and hard work requires significant amount of time commitment. My work for 8 hours typically involves so much paper work, process and discussion that only 20% of that time is really spent in programming. Between family & kids and a 8 hour job, I try to spend 1 hour each day doing new stuff, but with that time, it takes a long time to be really good.
- TimothyFitz 17y agoWish I could find the source, but the math is simple. If you're great (at programming and marketing yourself), you pick where you want to work and apply once (or more likely, are convinced to leave one good job for another). If you're good, you pick a few places and apply a handful of times. If you're bad, you end up applying constantly. The average unscreened resume is the average person in the job pool, who is well below the average programmer.
- emmett 17y agoSource: http://www.inc.com/magazine/20070501/column-guest.html?partner=fogcreek http://www.inc.com/magazine/20070501/column-guest.html?partn...
- jseliger 17y agoIt's Joel Spolsky. See here: http://joelonsoftware.com/articles/fog0000000050.html http://joelonsoftware.com/articles/fog0000000050.html and http://joelonsoftware.com/articles/FindingGreatDevelopers.html http://joelonsoftware.com/articles/FindingGreatDevelopers.ht...
- arghnoname 17y agoI decided this seems like something one should be able to calculate with conditional probability. Let P(A) be the probability that someone is a pretty good programmer. (I said top ten percent, so .1). P(A') is 1-P(A) = .9 Let P(E) be the probability someone is employed. I guessed and put that at 1-P(E'), guessing programmer unemployment rate at 6%. P(E) = .94 P(E') = .06 Here is a more wild assumption. Let's say that given that someone is a top 10% programmer, there is a 98% probability that he or she is employed. P(E | A) = .98, and conversely, a .02 probability they aren not. With these assumptions in place, I ran the calculations. I was intending to type them up, but it would be difficult with just a text area. Here is the punch line (with those symbols, and assuming I did this correctly, which I did it on the bus on the way home, so probably not)... Given that someone is unemployed, there is a .033 probability that they are in the top 10% and a .96 probability that they are somewhere among the rest. (The 'rest' includes a lot of pretty decent programmers though!) In other words, 3.3% of applicants would be top 10% candidates, and that's assuming equal probability of them sending in an application in the first place. I might rework it with different assumptions. Anyway, you said the math was pretty simple. If someone wants to see how I screwed it up I can type it up into latex and upload it somewhere.
- acid_bath 17y ago> I wish more people would do that. There aren't enough of us. Ehh... I'm pretty glad we're in short supply. Makes it very easy to just walk into (or out of) a job even in a poor economy and raises my wages to levels I feel guilty for charging :-|