Live data from Hacker News

Why we don't hire programmers based on puzzles and tricks

37signals.com

241–250 of 460 posts

Re: Why we don't hire programmers based on puzzles and tricks

#241

Earlier quoted context omitted.

>I don't know if this is a Silicon Valley thing or what, but the idea that someone would basically do a day's unpaid work on projects they know nothing about with three different people is just about the most foreign thing I can think of. Yep. That basically amounts to an application fee.

If you think it costs you something to be interviewed (thus your suggestion about an application fee) it certainly costs the company at least that much if not more. They are paying their staff to work with you on something that likely will not produce direct value for the company (usually a throwaway project or trivial task) Plus they will spend time before and after the interview discussing your qualifications, perf…

By this logic the candidate should pay half of travel and hotel too.

Re: Why we don't hire programmers based on puzzles and tricks

#242
That's what I was discussing with my friend a few days ago. He had an interview with Google last month and it took him a month or two to prepare for that. he did not pass the interview, but he got an interview with Amazon this month. He was busy with other things and he could not study for the interview. He mentioned that he cannot remember most of the things he prepared and read for the last interview. I am forgetful too, and I guess 90% of people forget details about algorithms and how to answer a puzzle very fast if they don't use it everyday.

So the question is what is the value of a skill or knowledge that fades away after a month or two? I know people who got hired by Google or other big companies that forgot all the information they acquired before the interview. Cause most of it is useless for the actual job. Many logic questions or puzzles are well known and people tend to know the answer before the interview.

If I had to interview someone; I would assign him a project from the company that is part the of the job he is going to do, leave him alone in a room with a computer for a time period I expect someone to finish that specific project. Finally, I come back to see the out come.

It is good for the applicant, as there is no pressure on him (except some time constraints maybe which is not a big deal), I do not put him on the spot and he does not have to deal with his boss while answering to a question. He does not have to dig unrelated information before the interview, and he can show off his programming skills if he has any.

It is good for the company, as I do not have to spend a day interviewing and prepare for that, I will know right away from the code if the guy is a good fit or not, I can see his programming skills, I know ahead of time how long in average it takes for an internal person to do the job, so I can measure his performance relatively. I do not even have to evaluate the code in front of him, I can invite multiple candidates at the same time, put them in separate rooms. Get the results, evaluate them and invite them for the second round if I liked their code.

Re: Why we don't hire programmers based on puzzles and tricks

#243
post #35

Earlier quoted context omitted.

> and a lot of the more academic questions It is on purpose. A recruiter confessed. He said they are specifically targeting recent grads. So plenty of questions are of that type. I guess they want to indoctrinate and take advantage of them while they are "fresh". > did like the question I was asked about how I'd design an elevator system and then asked how my solution would scale. That's not too far off from what I'd…

Actually, yes...they do. I work in a building with an elevator control system designed by an internal engineer. More importantly, the elevator control system uses mathematical expertise that is normally used solving variants of the multi-commodity flow problem, used extensively in the Supply Chain.

Heh, that's pretty cool. How does it compare to the average elevator?

Re: Why we don't hire programmers based on puzzles and tricks

#244
post #174

Earlier quoted context omitted.

It isn't that people are insecure about their programming skill and intelligence. It's that they are irritated by tests which don't measure what they're supposed to. If any insecurity is involved, it's about ability to ace unrepresentative tests ranging from trivial nonsense to outright hazing. You advise readers to "just get better at [the tests]". That's practical. But it goes right back to the problem, that many o…

> It's that they are irritated by tests which don't measure what they're supposed to I disagree that programming puzzles don't measure what they're supposed to. Programming puzzles are a microcosm of what programming entails day-to-day. They test the same exact mental faculties. Sure, no one needs to write strcmp using primitives anymore, but the task of doing so exercises the same mental processes that are involved…

Comparing strings and reversing linked lists do absolutely measure this capability.

This depends entirely on the quality if the test. I suspect for many of these ad-hoc tests thrown together for an interview, the quality will be low and the overlap with other tests high, meaning they can easily be passed by someone who googled 'top 100 programming interview questions' and read through them.

Comparing strings or reversing linked lists are not actually things that most programmers would/should ever do themselves or even nowadays bother to learn or remember outside of a CS course, because the code has already been written in every standard library, but they are things that programmers might still be required to learn in order to pass interview tests, and you would thus be testing at many your candidates on whether they had memorised a few of the problems likely to come up, not on if they could work them out on the spot.

Re: Why we don't hire programmers based on puzzles and tricks

#245

Earlier quoted context omitted.

Is this your experience? I've seen good programmers, people I know who are good programers, get stammered by FizzBuzz for lack of "clean" solutions.

Yes. I think you are seriously underestimating the intellectual capacity of those people. Telling them "it doesn't matter how nice it is, or clean it is, or generic, or reusable, or maintainable, it is just to see if you can do basic introductory level code" solves the problem. Anyone who still stands there like a moron writing nothing is useless as a developer, regardless of the reason they stand there.

Fair point then.

> I think you are seriously underestimating the intellectual capacity of those people

overestimating?

Re: Why we don't hire programmers based on puzzles and tricks

#246
I was interviewing with Microsoft last semester for a SE internship. At the end of the interview with a senior engineer, we were just chatting about various topics. This is one topic that we talked about. His response was something along these lines:

"Of course we do not write code on whiteboard everyday. Of course we do not write code to detect if a graph is acyclic (my interview question) on a daily basis. Of course we do not put our engineers on the spot with these types of questions. However, when the time comes, may it be only once in 10 years, we know that we have hired the right people because these questions show your thinking abilities - not if you know the answer or not."

Btw, I didn't get an offer, but I'm going to Amazon where I had very similar interview process as Microsoft.

Re: Why we don't hire programmers based on puzzles and tricks

#247
Programming is about problem solving. What you want in a programmer is someone who knows how to approach solving a problem in a structured repeatable manner.

What getting someone to solve small problems like FizzBuzz in the interview gives you an idea of how then approach the problem. Can they decompose the problem into smaller chunks ? Can they then refine their solution into a better solution ? Do they know when to stop refining before the solution becomes difficult to understand ? These are the skills you want to asses from a potential programmer.

Programming languages, platforms, frameworks come and go but if you don't know how to approach solving a problem then that knowledge is ultimately worthless.

Re: Why we don't hire programmers based on puzzles and tricks

#248
post #233
post #44

Sigh. This is the issue that will just never die. Let's just summarize the points: - Not everyone can produce real-world code. Most of what we do for a living belongs to our employer. Side projects, particularly in the US, can be an issue for IP reasons (California is somewhat of an exception here); - Side projects, even open source projects, can be of questionable "real world" value; - I've personally encountered ma…

> Not everyone can produce real-world code. Most of what we do for a living belongs to our employer. Side projects, particularly in the US, can be an issue for IP reasons (California is somewhat of an exception here) Says who? My side project that I do on my own time doesn't use the same language as my day job nor does it tackle the same problem domain. How can this be construed as an intellectual property issue?

Says the courts in many US states who have upheld ridiculous contract clauses where an employer claims ownership of everything a worker makes, even on his own time.

It's entirely possible that your contract has no such clause, but they are disturbingly common.

Re: Why we don't hire programmers based on puzzles and tricks

#249
Ok, this is true story and has nothing to do with my credibility. Few days ago glenwood systems, a core product developing company conducted a recruitement drive in my college. There was me, a coding geek with all my passion for one thing, and there was him, who is a puzzle freak. They selected him past the first two rounds full of puzzles and math, finally rejected him knowing his programming incompetence. And they missed someone who really could help. me. There are a ton of books out there teaching you how to crack interview puzzles and programming riddles. There's no book telling you to get your hands dirty with projects and code. The author is right. Hire the one who did things, not the one who learnt to crack puzzles.

Re: Why we don't hire programmers based on puzzles and tricks

#250

I've been interviewing pretty much non-stop since last April. I feel like I've become somewhat of an expert when it comes to interviewing processes. First off, as I've become a better programmer, I feel this fact is best shown in my opinions. When I first started out, if you had asked me my opinion of PHP vs Python, I would not have been able to say anything coherent. Now that I've worked with both technologies, my o…

You mean ' '.join(the_string.split()[::-1]). Which is a totally reasonable thing to do, but doesn't exercise the same kind of thinking as doing it letter by letter. Can you solve it letter by letter, even now that you're not in an interview?
Post reply on HN