Fog Creek Software
Discussion Board

Cretaceous Hiring

Returning to discussing one of Joel's topics of interest, here's how I'd like to be interviewed:

First, I hear about the company through a personal contact. My resume ends up in the hands of somebody with hiring authority and we talk about the company and my career over the telephone or coffee.

This manager explains that there's a process, and would I mind putting up with it. I agree.

I'm contacted by one of the programmers on the team who gives me a 15 minute phone interview. She asks me perhaps three questions. The prupose of these questions is to make sure that I am the person described in the resume. Elaborate answers are not required, just familiarity with the most basic stuff, e.g.

J2EE: what's the difference between a forward and a redirect?

C++: when should a destructor be declared virtual?

Lisp: what is a closure?

Smalltalk: name three magnitude classes.

I pass and I'm brought in for some Joeling. First, smart. I'm interviewed by two programmers in tandem who ask me at least one question, ask me to design something, and finally and ask me to write some code on the whiteboard or even better, on a computer.

They review the code and designs with me and ask intelligent questions, selling me on how smart they are and how much I want to work with them. They also probe for personality issues and test my ability to handle criticism.

They let me stew for fifteen minutes and I guess I pass, because I'm led into the original manager's office. She now gets into the meat of "gets things done," asking me about situations in my career. There's no preset list of questions, but I get stuff like:

Describe a situation where you had to choose between code quality and speed of completion. What did you do? Why? Did you discuss this with anyone? What happened?

Describe a situation where a colleague was underperforming. What did you do? Why? &tc.

What's the best piece of code you've ever written? Why is it the best? What would need to happen for you to write an even better piece of code here?

When I leave I'm exhausted but hopeful that things work out.

Tyrannosaurus Rant
Tuesday, June 15, 2004

Be prepared to never encounter your ideal interview/hiring process.

muppet is now from
Tuesday, June 15, 2004

Here is my ideal interview:

1. They send limo
2. Attractive single woman in limo with stimulating "conversation"
3. I arrive at job site
4. I sign offer letter
5. I recieve an advance on my first 10 checks along with a new laptop and $10k loan to be used for personal items and hygiene.
6. I have press conference announcing my retirement

I mean let's give at least a little attention to reality. Was that all really just to show your skills?

Tuesday, June 15, 2004


Of course that isn't all to show my skills. Perhaps I flunk the process.  Perhaps you have too much champagne in the limo and fail to stimulate your companion.

I guess I was trolling for opinions on how many companies take a Joel-like approach to hiring. Anecdotal evidence suggests that companies are taking less care to hire good people these days. That seems counter-intuitive: if you have a glut of supply, it seems to me you can afford to be very picky who you hire.

Nevertheless... I have my dream... And isn't it a Good Thing that your dream and mine are different?

p.s. The retire bit at the end of your drem: do you really hate your job so much you want out?

Tyrannosaurus Rant
Tuesday, June 15, 2004

Well my anectodal experiences (two employers with smart people asking smart questions, and two with idiots asking idiot, or no technical questions) I actually found the idiot companies paid more (they wanted people smarter than themselves), and as a big fish in an intellectually small pond I pretty much had my choice of work, and didn't have to do much to still seem like a genius and get regular raises.

At the smart companies the projects were more exciting (startups), but the egos and primadonnas were numerous, they tended to keep (more like throw temper-tantrums to get) the fun stuff for themselves, and I was just another guy in the row of cubes.

Tuesday, June 15, 2004

Rob, that's one of the most insightful things I've heard in a while.

I've observed similar behaviour, however the "idiot" companies are no picnic either, mostly requiring some deft political skills to do well.

Tuesday, June 15, 2004

My thoughts, having been on both sides of the process:

You'll only get brought in for an interview if your education and resume indicate you're a definite hire (otherwise, why bother?).

The first 30 seconds of an interview are pleasantries (Do you talk? Do you whine about everything?), the next couple of minutes try to verify whether your resume is BS. After that it's either (you're in) sell you on working there, or (no hire) pass the rest of the time by asking standard questions and pretending to listen to the answers.

Anony Coward
Tuesday, June 15, 2004

I have to say I have had complete opposite experience from Rob.  I had 6 interviews - 3 with people asking dumb hr type questions, and three with people asking technical questions.  Two of the interviews made me write code and develop algorithms (followed of course by the question "what is the runtime, and how would you improve that?"). 

Of my six interviews, both my offers came from the two companies that made me write code.

In fact, I accepted the offer to the place I am now partly because of the pay (50% more than IBM offered), and partly because of the interview process - after the first round, they had me over to the office, where they sat me down for the afternoon, and cycled their engineers in.  Four hours and six interviews later, I was about to collapse from mental exhaustion, but they had indeed given me the impression that it was a place where smart people get things done.  Which has been my experience during my first month here.

So not all interviews / hirings suck.

Tuesday, June 15, 2004

"That seems counter-intuitive: if you have a glut of supply, it seems to me you can afford to be very picky who you hire."

They are very picky.  The method of picking is the problem. (10 years of Java, 6 years of Windows 2000...)

Tuesday, June 15, 2004

If you really want to have the perfect interview, start your own company and then run the perfect interview to hire *other people*.  Dreaming about going on the perfect interview strikes me as putting too much analysis and effort into something that is not that important.

Really, a job is just a mass market item.  Companies create thousands of them and, for each one, they take a couple of weeks to try to find somebody who will do reasonably well in it.  They don't comb the earth, looking for the exact right person.  It simply isn't that important.

Putting a lot of analysis and philosophy into critiquing interviewing style is like putting a lot of analysis and philosophy into critiquing a McDonald's hamburger.  People who really care about getting good burgers cook their *own*; they don't expect something great out of a mass market item.

Daniel Howard
Tuesday, June 15, 2004

I've never been a fan of asking obscure technical questions in an interview.  Talking about concepts to make sure a candidate understands them is fine, but keep it reasonable.

I much prefer to give a candidate a programming task - it gives me an opportunity to see how they attack and solve a problem.  Being able to summon rarely-used terminology does little for anyone.  But being able to *do* things, even if you can't nail the exact terminology every time, is valuable stuff.

It's all about being effective, baby.  ;)
Wednesday, June 16, 2004

> 2. Attractive single woman in limo with stimulating "conversation"
> 5. I recieve an advance on my first 10 checks

I read that as "advance on my first 10 chicks".

Wednesday, June 16, 2004

> they had indeed given me the impression that it was a place where smart people get things done

Mind you, they'd disrupted the productivity of several people.

Wednesday, June 16, 2004

*  Recent Topics

*  Fog Creek Home