I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

Oct 18, 2009

The Interview With The Programmer

If the internet has perfected anything, it's the art of the crappy, phoned-in, half-assed email "interview". For all those who have bemoaned the often pathetic state of internet journalism, when it comes to interviews, you're largely correct. The purpose of most of these interviews is quick and dirty content filler with semi-famous folk spouting off whatever random thoughts they happen to have in their head at that exact moment. The Nixon Interviews, it ain't.

That's why I'm normally not a huge fan of interview books, because interviews take an enormous amount of time and an enormous amount of legitimate, skilled journalistic effort to get right. Almost nobody does.

Imagine my surprise when Coders at Work: Reflections on the Craft of Programming turns out to be that wonderfully rare intersection of uncommonly skilled interviewing and 15 of the most influential programmers to ever touch a keyboard.

coders-at-work.png

Yes, this is the same book Joel recently recommended in his controversial Duct Tape Programmer entry, which is why I was all the more skeptical. But he's dead on. I could (and probably will, knowing me) fill a year worth of blog posts just with the thought provoking quotes and two-paragraph insights revealed in these interviews. It's astonishingly good. If, after reading what these brilliant programmers have to say, you aren't motivated to research some programming topic mentioned inside, pack it in, because you aren't even trying any more.

I also realized Coders at Work can potentially serve as a job interview filter. If the next programmer you interview can't identify at least one of the programmers interviewed in Coders at Work and tell you roughly what they're famous for …

Frances AllenJoe ArmstrongJoshua Bloch
Bernie CosellDouglas CrockfordL. Peter Deutsch
Brendan EichBrad FitzpatrickDan Ingalls
Simon Peyton JonesDonald KnuthPeter Norvig
Guy SteeleKen ThompsonJamie Zawinski

… I'd say that's an immediate no-hire.

Incidentally, I saw the first Stack Overflow user reference on page 265, in the interview with Simon Peyton Jones, who mentions one Norman Ramsey. Hmm, I thought, that name sounds awfully familiar. And indeed it was!

I would be remiss if I did not mention that the author, Peter Seibel, was directly inspired by Susan Lammers' classic 1986 book Programmers at Work: Interviews With 19 Programmers Who Shaped the Computer Industry.

programmers-at-work.png

This is one of my absolute favorite musty old computer books for many of the same reasons. As sources of inspiration go, this one is particularly … er, inspired. Programmers at Work isn't just the archetypal programmer interview book -- it also holds up amazingly well for a book that is over twenty years old. It is a testament to the timelessness of not just code, but the art of coding, as exemplified by these 19 programmers. I believe Peter has legitimately crafted a modern remake that will be relevant for another twenty years. And I hope I don't have to tell you how extraordinarily rare that is among technical books.

(Some -- but not all from what I can tell -- key interviews from Programmers at Work were placed online last year by the author. So if you want to get a flavor of the book, check it out.)

Another notable recent collection of interviews is Masterminds of Programming: Conversations with the Creators of Major Programming Languages.

masterminds-of-programming.png

Although I definitely enjoyed this book, there's something about the focus on programming languages and interview style that didn't quite grab me as forcefully as Coders at Work did. Also, if we're going to do languages, I'd like to see a bit broader representation -- perhaps a Volume II with Smalltalk, Ada, Pascal and so on?

These books are a potent reminder that computers are mostly a reflection of the people using them. In the art of software development, studying code isn't enough: you have to study the people behind the software, too.

[advertisement] JIRA 4 - Simplify issue tracking for everyone involved. Get started from $10 for 10 users.

Posted by Jeff Atwood    View blog reactions
« The State of Solid State Hard Drives
Treating User Myopia »
Comments

It has been my experience that people who read books like this are an immediate no-hire. They're the one who have time to read books about programming in their free time, but never actually program in their free time. The worst programmers we've hired have the largest programming book collections.

Perhaps I'm in an odd part of the industry. I've also found that having a CS degree correlates strongly with no-hire as well. Our best hires have been those who've had to write a lot of software in the pursuit of some unrelated degree.

mpbk on October 19, 2009 2:02 AM

@Tarkin

The problem is - Jeff didn't even know to pronounce Knuth and now he is spouting some BS about kicking people to the curb. He continuously shows ignorance of classic CS topics and then has the audacity to suggest that you don't hire someone because the candidate can't recognize your name dropping?

Once again I was duped into reading this tripe and commenting on it. Jeff has won again.

tim on October 19, 2009 2:04 AM

Some people are trying to say the critics are being silly because they don't realize Atwood is trying to show that you should expect those you hire to have some intellectual curiousity but I argue that is hardly the case. The fact is, that is just an example of Atwood promoting a faux intellectual curiousity that only scratches the surface; it's more vanity than anything else.

Charles on October 19, 2009 2:05 AM

@Tarkin, you really think every "buck private" has heard of Napoleon, Montgomery, Rommel, and Leonidas? If so, then I have a bridge to sell you ...

Charles on October 19, 2009 2:09 AM

Come on guys, it isn't that hard. I can recognize 6 of them and I'm a shithead. Who doesn't know who the creator of the C programming language is? The creator of Java? the creator of Javascript?

You've never seen a copy of K&R? (do you know what K&R is?)

These aren't obscure people guys, you'd have to live in a shed and spend your whole life programming basic to have not heard of any of them.

Breton on October 19, 2009 2:14 AM

@Charles - Take a chill pill friend... lol. You've posted 3 times within 30 minutes. Why would you bother reading someone's writing if you don't believe in them? Take off your shoes, walk in the grass and stop trying to use your "superior intellect" to save us from from this blog.

I will never scroll down again. I swear to God. The infinitely small amount of real information that comes from these comments is not worth wading through the trolls.

Bonewolf on October 19, 2009 2:28 AM

Thank God I recognized Donald Knuth :)))))

Andrei Rinea on October 19, 2009 2:39 AM

"If the next programmer you interview can't identify at least one of the programmers interviewed in Coders at Work and tell you roughly what they're famous for …
… I'd say that's an immediate no-hire. "

That is probably the single stupidest thing I've heard you say. Granted, you're normally pretty much right about this stuff, but that is an elitist statement the likes of which I would expect from the main characters in High Fidelity (by Nick Hornby)

What if finding out about programmers doesn't interest me? What if I prefer to find out about computing history and could tell you all about Alan Turing and Bletchley Park?

You, Sir, have made me sad :-(

Mike on October 19, 2009 2:45 AM

Hey Now Jeff,

Thx, I sure have learned so much about other great coders from your blog & SO.

Coding Horror Fan,

Catoo

Catto on October 19, 2009 3:11 AM

Jeff,

I'd fail your test.

Then again, I've only been programming for over 10 years. So much for my bachelor’s degree. So much for those C, C++, C#, Java, and AI classes. So much for my experience in the IT Dev trenches at Intel, Wells Fargo, Nike, and IT focused start-up. What kind of developer do you want a historian who knows who’s who or someone that knows the ideas?

BTW: You just lost a lot of credibility and entered the "pompous ivory tower ass" category in my mind with that one comment. Sigh.

DigitalMoto on October 19, 2009 3:22 AM

I recognise most of the names, and could tell you a bit about five or six of them (I've even met a few), so I'm safe to apply for a role with Jeff ;-)

I think if you read Jeff's statement as *he* wouldn't hire anyone that didn't know at least one of the names it doesn't sound so silly. After all, when you hire someone there has to be some common ground in the way you think about things and approach problems.
If you have all these influences and you hire someone that knows none of them, and seems uninterested in them, that can be a source of friction - even if the person you are hiring is perfectly competent and would be fine in a different team.

Phil on October 19, 2009 3:29 AM

Sorry but this is just ridiculous. Do you need to know who invented the wheel to work in the automobile industry? Or who invented bottle openers to work in a restaurant?

I agree with a lot of stuff you say, but not this time.

Dante on October 19, 2009 3:45 AM

Jeff is hiring only programming groupies.

bawbags on October 19, 2009 3:48 AM

K&R = Brian Kernighan and Dennis Ritchie
- neither of whom are on the list of interviews...

Douglas on October 19, 2009 3:55 AM

I once worked with duct tape programmers, on project that had to be shipped on a regular basis, and I hated it. There was no design, no architecture, everything was just extended to cover new features, and we had to solve problems that wouldn't exist if we had it done right from the beginning.
Then I read how Jeff and Joel get excited about duct tape programmer Jamie Zawinski from Netscape.
How they just ship the code, and don't care about anything fancy like COM or CORBA or design patterns.
The problem is, their duct tape code eventually became a giant mudball which they decided to throw away and REWRITE EVERYTHING.
And it was the end of Netscape. The N6 (gecko) was huge and slow. N7 and later, less significant versions were a ripoff of Mozilla's Firesomething, with features that weren't used by anyone. Hello?

Bartek on October 19, 2009 4:00 AM

I don't know any of those guys :-(

That's it... I'm signing my resignation. There's no point in me working in this profession.

Augustin on October 19, 2009 4:03 AM

Mr Atwood engaging with his keyboard before thinking again. So sad.
I am reading this book at the moment. I'm on page 270, Simon Peyton Jones.

A fascinating read. Reminds of the book Dreaming in Code by Scott Rosenberg.

If I remember correctly the interviewees are asked what makes for a good programmer to be considered for a job with them; none have answered that an essential criterion is to name a supposedly well-known programmer/coder/software engineer/computer scientist et al.

More than one mentions that puzzle and coding tests are not useful to them in assessing a person's suitability for programming. That was a surprise.

Sam on October 19, 2009 4:05 AM

Hehe. I got the best one!

Anyone whining in a blog comment is an immediate no-hire!


O darn, I'm fired...

seth@mailinator.com on October 19, 2009 4:05 AM

I've just finished the second chapter and I am really impressed. There's some good stuff in this book. Thanks to both of you for exposing us to its existence.

Ron on October 19, 2009 4:16 AM

Lot of comments from people who feel insulted in their profession, it seems. Don't take it so seriously, guys, it's only Jeff Atwood's opinion we're talking about. :-)

Personally, I know Steele, Knuth, Thompson and Zawinski (well, not personally). And of these, I only know Knuth on a level beyond his works, and Zawinski only because of his personality (and the infamous regex quote). Steele and Thompson I only know as "the creators of". The other names mean nothing to me.

I think whether or not you know programmers by name can be pretty random. For example, turns out Brendan Eich created Javascript. When I read this it triggers an "oh yeah, I've seen his name once" response for me, but I certainly wouldn't know Brendan Eich from Adam if I met him, nor do I have any idea what his views on programming are, even though I'm quite familiar with Javascript. This is simply because my work may involve Javascript, but it will not involve knowing the mind of the guy who created it, nor do I feel this is particularly important. It has no more than curiosity value, when you're wondering "gee, I wonder why feature X turned out the way it did".

Pascal, Leibniz, Babbage, Turing: if these names mean nothing to people it means they don't care about computing history, which in itself says nothing about their qualities as programmers. Being a history buff may demonstrate interest, but not being one doesn't demonstrate that you're a worthless code monkey.

It may well be that you need to study the creators "in the art of software development". For the *craft* of software development, though, studying their output seems to suffice if you're not striving to become an artist yourself.

Jeroen Mostert on October 19, 2009 4:21 AM

If like me you thought that Jeff's "no-hire" quote was arrogant nonsense but are curious to know just who most of these people are anyway, rather than looking them up on Wikipedia the best thing to do is just go to the book's web page here: http://www.codersatwork.com/. There is a brief one page summary of each of the people mentioned there.

To take just the first name in the list as an example, I have a book on optimizing compilers. I looked up Fran Allen in it and yes she's there in the history section on page 3 along with a host of other names. No disrespect but even for geeks she's hardly a household name.

The next one, Joe Armstrong, is "famous" for creating a language 99.9% of us have never used (and probably never will). Etc.

Dave Griffiths on October 19, 2009 4:27 AM

Pfft.

I wouldn't hire anyone who didn't know who any of these people are:

Matthew Smith
Paul Woakes
Geoff Crammond
David Braben
Ian Bell

Andy Krouwel on October 19, 2009 4:32 AM

Joe Armstrong ? The one from Green Day?

Besides, Jeff probably said 'at least one' cause he knew who Knuth is ;)

I see your 'at least one' Jeff, and raise to 'at least two'!

bawbags on October 19, 2009 4:32 AM

At my IT software company, we ask our interviewees for the exact number of transistors in a 8086 processor. Failing to answer is an immediate no-hire.

glog on October 19, 2009 4:38 AM

I guess you aren't gonna be hiring many young people who look up to a younger generation programmers as mentors...

TM on October 19, 2009 4:45 AM

@Bartek
I suggest reading this reply to 'duct tape programmers': http://jwz.livejournal.com/1096593.html

Nothing you said about the situation was correct.

`Josh on October 19, 2009 4:48 AM

that would eliminate the guys I work for (architect and lead programmer)... couldn't name a single one.

John Hornby on October 19, 2009 5:04 AM

And dont forget boys and girls.

If your candidate does not know who Jeff Atwood is,
he's probably reading some really good blogs, definate hire.

What the hell is with the anoying as hell capatcha?

TrXtR on October 19, 2009 5:22 AM

I'm a bit dissappointed at the tone from such respected programmer bloggers lately.

I like these guys and read their posts, but really, what's up this week? Can't Joel and Jeff sell us on a book without being so condescending about it?

I'm getting a little tired of hearing from my mentors that either I agree with their new revelations or I'm simply not cut out to be a good programmer any more.

Coders at Work may very well be a good book but these guys are really turning me off of it.

Sean on October 19, 2009 5:36 AM

Look! Jeff Atwood just jumped the shark!

POTS-y on October 19, 2009 5:49 AM

As stated many times above your claims are ludicrous. Not to mention elitist and completely wrong. Even mentioning the fact that not knowing those programmers so that people will read up on them is crazy. Its actually these types of statements that have kept me from trying to find a job programming, when in fact I am a pretty decent programmer compared to those that work in the same company as I do. I typically read your blog and I am typically right with you Mr. Atwood, but on this one I am going to have to say you're an idiot. Sadly I will read many posts to follow with great skepticism...guess thats the risk you take when you make stupid claims.

Good day!

Paul on October 19, 2009 6:08 AM

I love how every time you post something highly flammable there are 536253 posts of people saying that they hate you and will never ever ever read your posts again... Every time!! This is better than watching soccer game fights.

The list was great, it makes me want to quit my job to do something more meaningful with my life.

THana on October 19, 2009 6:11 AM

Josh,
Thanks for the link. So it looks like Joel cared not to point out the little significant fact that jwz wasn't responsible about the Netscape Navigator 4 disaster, while he did all the good work _before_ the event. Who'd think that? All he said was "this dude worked at that browser and he refused to use helpful stuff like C++ templates".

On the other hand I'm going to defend the part I wrote about NN6 being responsible for the vanishing of Netscape. I remember Gecko and I remember hating it. So not everything I wrote was wrong, even if I'm a jerk and don't check my facts.

Bartek on October 19, 2009 6:18 AM

Thanks, thanks and triple-thanks for the link with the '86 Programmers at Work interviews.

Really interesting stuff.

Dan Dumitru on October 19, 2009 6:36 AM

Summation of the majority of the above:

Group A: People that didn't know someone in the list rant with "THIS IS RIDDIKULUS"

Group B: People that did know at least someone in the list, take it as the joke it's meant to be, or at least somewhat partially agree with Mr. Atwood.

I think Jeff is just saying he expects people with a worthy degree and are passionate about what they do must have heard of one of the people in the list - and I agree.

If you find yourself in "Group A" that just tells me that you didn't get a worthy education (or you didn't pay attention while you were suppposed to be getting it) or you don't really give a crap about your profession.

Ken Thompson for the Unix fans
Joshua Bloch for the java crowd
Knuth - for everyone

Unfortunately we missed an interview with Edsger W. Dijkstra, now *that* would have got me to buy the book (actually nothing would, I already have 3 in the queue and they never seem to get opened).

Russ on October 19, 2009 6:56 AM

If somebody doesn't know MY name, then it's an immediate no-hire. Also, if they don't know what Bill Buckner signifies, then they're outta here too :-o

fishstick_kitty on October 19, 2009 7:07 AM

"If the next programmer you interview can't identify at least one of the programmers interviewed in Coders at Work and tell you roughly what they're famous for …

… I'd say that's an immediate no-hire."

huh?

I don't know if you do it intentionally Jeff but lately you've been writing blog posts that are overall good but you are including in them one little sentence or paragraph that makes me go "WTF?!".

I'm not sure if you do it to get people to write more comments but it's certainly working.

Cristian on October 19, 2009 7:10 AM

Given the background to this site, why isn't Steve McConnell on the list?

Rob Miles on October 19, 2009 7:11 AM

I now realize I wouldn't want to work for you. Laying such minefields is not only a lame approach to interviewing but it will put a very bad taste in the mouths of potential employees. What, are you going to make sure my socks are color-coordinated? The weight you seem to place on your personal opinions is a reflection of how your ego has gotten the best of you. And stop patting yourself on the back with your website. We all know by now - good for you. Get back to writing intriguing, thought-provoking entries. My 2.5 cents.

Kenneth on October 19, 2009 7:19 AM

"Do you need to know who invented the wheel to work in the automobile industry? Or who invented bottle openers to work in a restaurant?"

Of course not. But if you work in the automobile industry, you should know big names like Ford, Honda, etc. Or if you work in the restaurant industry, you should probably know the names when it comes to large distributors, vendors, etc.

It's not a question of how you should take a language you use and know the entire history of it. But you'd hopefully be immersed enough in the language/technology/whatever that you're at least familiar with the names of people who contribute a lot to it.

It always is entertaining to see the knee-jerk reaction folks have to the stuff posted on here.

Kevin Fairchild on October 19, 2009 7:34 AM

Hero worship is not a requirement to work for me. Who cares who these guys are? Programming is about getting shit done, not citing authorities.

Noah Yetter on October 19, 2009 7:36 AM

Wow, a lot of people on this blog who will not be hired by Jeff. Makes his job easier I guess.

I think the real issue Jeff was trying to get at was whether you have any intellectual curiosity about the field, not a test of plain knowledge. If you don't know any of those names, but were curious and looked them up on Wikipedia, then I'd say you have intellectual curiosity and an interest in learning. I have a feeling (from past blog posts) that Jeff would see that as a good sign.

Fool on October 19, 2009 7:44 AM

"If the next programmer you interview can't identify at least one of the programmers interviewed in Coders at Work and tell you roughly what they're famous for …
… I'd say that's an immediate no-hire. "

I don't know any of thoses programmer. They don't show you those in school. I still am a good programmer. I don't see why you wouldn't hire someone if they don't know about some programmers, even if they have done some great things in their life!
It doesn't mean they are not good programmers.
It just means that this person haven't heard of that person. And maybe I know about other programmers that you don't know about. I'm from Quebec, so what if I learned about other programmers that did important things but over here in Quebec.

Danielle on October 19, 2009 7:51 AM

@Andy Krouwel, Matthew Smith wrote Manic Miner and Jet Set Willy.

Andrew on October 19, 2009 7:52 AM

The only one I know in that list is Knuth, but I wouldn't be able to say what he's famous for, only that he's really famous.

I wouldn't consider myself a bad programmer either, I stay up-to-date with the technology and I'm pretty sure my bosses are quite happy with my work and knowledge of programming.

To be fair, I'm not sure programming is my true calling (I enjoy designing applications much more) and I have zero-interest in the low-level stuff, I hate working on mathematics algorithms.

Mike on October 19, 2009 7:53 AM

I used to know who some of those people were, but I've forgotten because I realized that really, there wasn't any practical reason for me to.

Mal on October 19, 2009 8:08 AM

cool story, bro!

Anonymous on October 19, 2009 8:11 AM

I really can't think of a situation when the knowledge of Brian Kernighan or Donald Knuth would help me in any way in a project. It's nice to know the history of the craft, but what matters is the skill in it - that's universally applicable, no matter what*.

*Note: History as in "this approach to problem A has been tried and it failed" does count into skill and knowledge rather than history.

daqq on October 19, 2009 8:18 AM

I know a buttload of programmers who can quote all sorts of lines from books or conferences. Knowing who did what really doesn't make a person a better programmer. I don't understand what knowing a name has anything to do with how you code.

Serene on October 19, 2009 8:20 AM

Programmers who show up for interviews without (running) samples of their work (on the web or on a laptop) are an immediate no-hire.

How's that?

securityhorror on October 19, 2009 8:24 AM

Jeff

I'm sure you didn't mean that in strictly words. Of course a good understanding of what's going on today is reviewing a bit of history.

A lot of people don't know Linux was created based on Minix inspired the creation of Linux (see Wikipedia). I studied Minix before I went into the Operating System classes and it made me more comfortable with all system calls within its kernel, it made sense to me.

@Noah Yetter - "Programming is about getting shit done" - last time I heard this from an architect I worked with he really released shit, monstrously shit system. But I understood this message too. :)

Tiago on October 19, 2009 8:34 AM

A whole article and everyone is hung up on a single throw-away sentence...

Of course, if all these great names know why *you* are, then you're a definite hire!

Kramii on October 19, 2009 8:53 AM

If I recall Jeff had to be corrected about pronouncing Dijkstra's and Knuth's names correctly, yet he's telling us we need to know one of these or we should never be hired?

Personally, I'd take someone who knows what NP Complete means over someone who pretends to know or who just knows a few names from reading a book about "coders"...

If you went to college for CS you should know who Knuth and Dijkstra are. But that is not something I ask during interviews. Trivia is not a valuable "skill" in our profession.

But that's just me.

tim on October 19, 2009 8:56 AM

"Who are 15 people who have never been in my kitchen", Alex?

tim on October 19, 2009 9:02 AM

http://www.maplestory4mesos.com is a Specialized MapleStory Mesos store,we sell Maple Story Mesos,you can buy Safe Maple Story Mesos,Cheap Maple Story Mesos from us."

maplestory mesos on October 19, 2009 9:19 AM

I like this blog, but sometimes it goes off a few bytes.

If you, for instance, take into consideration people from other parts of the world (me), other continents and other countries. On one hand, some of them would have known of one or two people from the list, but most of them wouldn't know a single name on that list.

I would've passed the test, but thats only because I read allot and frequently review and rewrite code from some of those great programmers whose names have passed my memory buffer registers over the years.

People that I know and whom I have worked with would have certainly failed this test, because they refrain from code, computer or any other kind of history. They thrive on their programming skills and their mathematical and logical sense of seeing things. Who's to say that they also don't belong on that list.

I would present you with my own list of people, carefully selected, chosen if you will, who's code I glanced upon and who's programs I ran night after night, but who would care?

SaourOfRoo on October 19, 2009 9:27 AM

The creators of C and Java are not in that list, as someone previously stated.

sam on October 19, 2009 9:42 AM

Chill out folks. I worked with someone that would ask you to tell a joke in the middle of the interview to see how you did under pressure and to guage how well you got back on track after. Stop taking everything so literally people, it's not like he said he's not hire someone in the past because they couldn't indentfy Brandon Eich.

DanQ on October 19, 2009 9:47 AM

Thanks for the book references !

My captcha read 'flower-power' & the next one read 'poisoned of' !

Power Puff Girls ! on October 19, 2009 10:08 AM

This is similar to people who get upset with pro athletes for not knowing the big names in the history of their sport.

Andy on October 19, 2009 10:09 AM

I recognized Donald Knuth's name, but then I looked him up on Wikipedia and apparently didn't know a damn thing about him. Oh well. I probably just saw his name on this site at some point, likely from one of the book reviews.

Mike on October 19, 2009 10:21 AM

Jeff takes out stick and whacks the hornets nest again, way to go!

If you don't like it, quit subscribing, quit reading, quit being so pompous and commenting on how superior you are.

For me, I doubt that these people would ever come up in an interview, but if someone were discussing the correct way to write Java, and they did not know of Bloch, I would have to wonder. Where did this person learn these things?

scott on October 19, 2009 10:26 AM

LOL, love your musings Jeff but I think someone is just filling 'dead air' here.

I only vaguely recognised Knuth and I've programmed for 20 years. Reading their papers and books may make me a better programmer but remembering their names won't, it's just trivia.

If an interviewer struck me off his list of potential candidates for this I'd think 'good luck' (and probably thank my lucky stars).

Paul on October 19, 2009 10:29 AM

I'd say that this is an immediate retarded statement:

"I also realized Coders at Work can potentially serve as a job interview filter. If the next programmer you interview can't identify at least one of the programmers interviewed in Coders at Work and tell you roughly what they're famous for …

Frances Allen Joe Armstrong Joshua Bloch
Bernie Cosell Douglas Crockford L. Peter Deutsch
Brendan Eich Brad Fitzpatrick Dan Ingalls
Simon Peyton Jones Donald Knuth Peter Norvig
Guy Steele Ken Thompson Jamie Zawinski

… I'd say that's an immediate no-hire. "

What in the world would that have to do with hiring a young kid out of college who can not only code but can provide conceptual solutions, learn the business, and work hard? Geeez.

Steve on October 19, 2009 10:33 AM

"If the next programmer you interview can't identify at least one of the programmers interviewed in Coders at Work and tell you roughly what they're famous for …"

That is a pretty arbitrary thing to disqualify someone for -- but I guess to each their own.

The only requirement that I make when I hire someone is that they can solve a Rubik's cube in under 60 seconds while naming the previous U.S. presidents in alphabetical order.

Timothy Lee Russell on October 19, 2009 10:36 AM


I started reading the books few days ago after reading "Founders at Work", another good book. I usually skip the "How did you start programming" to save time. I have read too many TRS80/Apple II stories.

Being a developer using Microsoft tools for long, I noticed there are tons of tools being used out there. At Google, for instance, they use stuff I never heard of.

There are so many good programmers out there, this book could be in volumes.

Abdu on October 19, 2009 10:37 AM

+1 for Ian Bell. Likewise Paul Collingwood, Owais Shah and Ravi Bopara

Emperor Nasi Goreng on October 19, 2009 10:42 AM

I see where Jeff is coming from. If you don't care about your craft, you are never going to be a master. Competent, certainly. Master, never.

That's the inescapable truth. As long as you are doing rout work, just going with the flow of whatever framework is the latest fad, you can be perfectly competent, but you are just not pushing the limits.

If you are pushing the limits, then you'll get to talk to people, to learn what was tried, what worked, what didn't. You'll build upon he work of others.

If you aren't interested enough in computer science to know at least some of the important people in the field, you aren't, and never will be, a master.

And if you think that list is too limited, you may be partially right. But I'm pretty sure Jeff would hire you if you answered you don't know any of them, but you know X, Y and Z because of this and that. It shows you CARE about the profession, instead of it being just a day-job.

So, complain away as much as you want. I wouldn't hire you either.

Daniel Sobral on October 19, 2009 10:44 AM

Its funny, because if someone asked me that question in an interview, I wouldn't take the job. :-)

Joel (Not That One) on October 19, 2009 10:44 AM

Of course it's only a joke, but it is interesting to compare this with Jeff's other interview joke:

"What's the worst code you've seen recently?

If their answer isn't immediately and without any hesitation these two words:

My own.

Then you should end the interview immediately."

It seems for Jeff it's not what you know, it's who you know.

Phenwoods on October 19, 2009 11:12 AM

Do the blokes of the list all know each other or would they "no-hire" themselves?

Lee K-T on October 19, 2009 11:12 AM

Good stuff. But it makes me wonder...

With all the statements Jeff has made about who he would not hire, would he would even pass his own tests? :p

Kuerwen on October 19, 2009 11:20 AM

ahh jeff u never learn do u..?

Anonymous on October 19, 2009 11:24 AM

Oh god. Why is everyone who writes a comment here so massively insecure?

Rob on October 19, 2009 11:28 AM

Breton says, "Just.. what exactly have you been doing all those 10-20 years?"

That is exactly the point, though. You can't tell me what someone has been doing for 10-20 years based on whether they can cite specific people or works.

Like many people here, I could only tell you I've heard of Knuth's name, but I couldn't tell you what he's known for. Of course, now I know he authored The Art of Computer Programming and creted TeX ... but it seems odd that such trivia, gathered in mere seconds through Wikipedia, should really make all the difference in calcuating my business value.

Breton continues, "Never bothered to read a book, or a blog about programming?"

Not to speak for DigitalMoto, but of course that is nonsense.

Personally, if someone was to ask me about influential works I would rhyme off names like Hunt, Thomas, Myers, Dikstra, Liskov, Fowler, McConnell, Sutter, Stroustrup, Abrash, etc, etc, etc ... I'd even throw a prop out to Joel and Jeff, despite them having an affinity for controversy lately.

Jeff almost makes a great point in this post: That it is important to guage how much potential programmer candidates care about their craft, and if they are passionate enough to set aside some precious time for independent study.

... but he can of blew it with that narrow list.

Sean on October 19, 2009 11:36 AM

Two thoughts: with the state of software development today, all the work that needs doing and not enough people to do it, shouldn't your interviews be geared more to why anyone would want to work for your company? Sure, there's the paycheck, but unless you sell your company to someone, then all they're in it for is the paycheck, as far as you know.

Secondly, so what if someone's just exchanging their time for money? Does absolutely everyone have to be a hobbyist too? Do riveters have to obsess about riveting all the time?

Demanding that someone invest their personal time into their "craft" (i.e. your job) is presumptuous and erodes the 40-hour workweek the same as an on-call phone or forced overtime. Have some respect for the grey-collar working man. Let him spend the time that you expect him to learn this stuff with his family instead. Pay him fairly for his work and let him go home to enjoy his life, not study to impress you.

Chris McCall on October 19, 2009 11:40 AM

"I also realized Coders at Work can potentially serve as a job interview filter. If the next programmer you interview can't identify at least one of the programmers interviewed in Coders at Work and tell you roughly what they're famous for … [snip] … I'd say that's an immediate no-hire."

Uh, as so many have pointed out already, that's quite the non sequitur indeed. It's like asking a potential porn film actress if she can identify at least one famous porn star, else, I'd say that's an immediate no-hire. She's a hotty, knows all the positions, and is willing to do... anything, but oh, doesn't know who jenna jameson is, well, that's it, show her the door.

However, if you were looking to hire dweeb tech fanboys who quiver, spasm, and emit "nerd laughs" at the sight of computers or Bill Gates, I guess this would be an excellent interview filter.

Elliot on October 19, 2009 11:46 AM

Funny...I'm a scripter, not an exceptional programmer, and I recognized and could talk about two of the list (one of whom I had spoken to in the distant past). I would expect that anyone serious about programmer or at least googling a programming solution would have encountered JWZ.

JustKickstart on October 19, 2009 11:59 AM

@Chritian - You are either brilliant or incredibly paranoid. Time will tell, my friend.

I think the criticisms here are a valid, but the stones (from the safety of anonymity) being thrown are unnecessary. If you read Jeff regularly, then you know he's an enthusiastic guy. If I jumped down my friends throats this hard every time they said something stupid, I'd have no friends. By all means, call him out. But cut him the same amount of slack you would for a person sitting in the same room as you. On a personal level, I'd just like to believe that the people that I share my interests with aren't so da*n bitter. And not so willing to argue about the 1% of ridiculousness in the 99% of a good article.

Bonewolf on October 19, 2009 12:00 PM

Would you trust a "physics scientist" who had no idea who Newton was?
In all fields there are people who have done great advances, their genius is such that it's hard to learn about this things without knowing who they are.

I'd doubt that someone who had no idea who Alan Turing was (or at least that he was a person) has a deep understanding of Turing-Church machines or know about their implications.

Because it's hard to learn about optimal algorithms (and proving such mathematically) without ever, ever hearing a reference to Knuth's work has ever really learned a lot about efficiency, different techniques, and different algorithms. Moreover I'd doubt he'd know where to look for an optimal solution for a very strange problem (or realizing there is no such optimal solution).

I wouldn't trust a "Linux Kernel Hacker" who doesn't know who Linus is, or an open source "guru" that only returned a blank stare when he heard the name Stallman.

In every field there are great people, if you are into painting I'd expect you'd recognize a few know artists, Picasso, Magritte, Monet. If you were into music I'd expect that you know The Pixies, or maybe The Beatles, or maybe Mozart, or any combination, but I'd hope that you have heard other music and know it's good.

Maybe we can't recognize all the names, or all the things. But get a list of enough important people in a field, and you will find one that you not only heard of, but either admired, or detested, their actions and philosophy enough to remember them and recognize them.

Now it's true, Atwood is stretching it a bit too far with such a limited list, maybe a better use of words, such as "I'd hope that any person who I'd hire would know at least one person in this list" but then again, is it surprising that he just went and said the first thing that came to his mind? Flame-wars are the publicity stunts of the 'net. So chillax people, if you don't know people on the list, instead of arguing why you still should be a valid candidate for work, read about them, learn, become a valid candidate and then gain the pleasure of being the one who would return a rejection letter, in the end you can only become better programmers because of it.

Charlie Lobo on October 19, 2009 12:15 PM

@Daniel Sobral

Well, at least I know I'm not alone. Feels good. :)

I will never, never, NEVER, understands this prevalent attitude shown programmers getting their panties in a bunch when it is suggested that they should better themselves.

Would they prefer to hire a 9-to-5 surgeon or one that reads medical journals and goes to seminars and conferences (and, thus, could recognize the *name* the author of that article or the person giving the seminar)?

W on October 19, 2009 12:21 PM

"...I'd say that's an immediate no-hire."

That's a bunch of bull IMHO...

Broham on October 19, 2009 12:34 PM

I suck at remembering names and other pieces of useless information. It's tough to get a full appreciation of these people when you've never worked with them or saw their code (Maybe a book of their code samples would be better?). It's like saying Micheal Jordan was great because I saw him on a box of Wheaties.

Jeff on October 19, 2009 12:39 PM

Interesting idea, but I think your bar is a little too high. Perhaps, if you had said anyone who can't name another programmer who has inspired them to be better without limiting it to just that list, I would agree. As it is, a lot of the people who have influenced me most don't appear on that list: Bob Martin, Alistair Cockburn, Kent Beck, Martin Fowler, ...

FWIW, I am hireable, but just barely.

53c byte

tvanfosson on October 19, 2009 12:50 PM

Three more books to add to my reading list... only just after i've managed to knock two off!

But I don't quite see why not knowing any of those names would be a handicap - while sometimes a person is identified with a technology (Gates/Windows, Stroustrup/C++, Berners-Lee/HTML) - I don't really see why that should be for all cases... I use the technology I use because that technology is useful to the task, not because it has a person's name attached to it.

Still, I agree that it is interesting (and inspiring and motiviating and insightful) to read about the motivations for decisions made by the people behind the technology, which is I now want to read these titles (but again, I would tend to remember the motivations and discussions rather than the names involved).

horuskol on October 19, 2009 1:04 PM

"If the next programmer you interview can't identify at least one of the programmers interviewed in Coders at Work and tell you roughly what they're famous for …
… I'd say that's an immediate no-hire. "

WHAT THE F***?

Sembi on October 19, 2009 1:15 PM

One? Your threshold is one?

Dennis on October 19, 2009 1:29 PM

'They book-readers think they're so smart!!!', let us sit here and code instead as we always has done. Okay, it's a little bit tedious to write hundreds of if-statements per day and have everything in a single file and all variables are global. What you gonna do? Ain't gonna be one of those book-readers - they think they are so smart!!!!

blabla on October 19, 2009 1:30 PM

Please delete this comment, just testing captcha ("balks" and "59 1/2" where 1/2 is a single character???)

Anonymous on October 19, 2009 1:33 PM

I see a lot of sore folks here. Perhaps Jeff's suggestion has come off a little harsh but, one thing Jeff has consistently expressed throughout the life of his blog is a passion for for the industry. He has never once hid the fact that his passion borders on obsessiveness with what others may consider minutiae. I get the impression that he thoroughly loves computers and computing and all things tangential and in-between, down to the devices that go in his pocket, wallet or knapsack on his way to work (in that industry). It is that passion that lies behind a statement which on it's face seems elitist; but is in fact probably no less than the "love of the game". Surely one would expect even a batboy to at least have heard of Barry Bonds, Derek Jeter, Babe Ruth, Ty Cobb, or Jackie Robinson, should that batboy expect to walk on to Wrigely Field or Comerica Park. What buck private hasn't heard of Napolean Bonaparte or Field Marshall Montgomery, Field Marshall Rommel, or Leonidas? Is it too much to ask that someone is a least a tiny bit familiar with some of the luminaries in the field of their chosen profession? Perhaps not, if one merely punches a clock and warms the watercooler with their forearm. But I believe that Mr. Atwood pours a good deal of effort in what he does, and would like to be surrounded by others who do the same.

Tarkin on October 19, 2009 1:35 PM

I think that's a bit much about not hiring someone based on not knowing peopel from those lists. If you haven't read "AI a Modern Approach," "The Art of Computer Programming," "Structure and Interpretation of Computer Programs, programmed in Erlang and followed the community, follow the Javascript community extensively, or keep up with the very newest Turing Award winners, then you very well might know those people unless you are kind of a programming groupie as someone else said. But you still might be a great programmer that works well with others and all that jibber jabber.

Given the kinds of anti-intellectualism I see on this blog a lot I doubt Jeff as done any of the things previously mentioned, other than follow the Javascript community. It's one thing to know "roughly" what Knuth is famous for and quite another to be able to speak intelligently about "The Art." Honestly, I don't find it that impressive to be able to spout a non-technical eight word sentence about a handful of the names of computer science pioneers.

Many of my very competent colleagues would only know Knuth or vaguely recall Thompson from that list (well, besides Frances Allen) and they win awards in this field themselves.

Charles on October 19, 2009 1:49 PM

You're an idiot. Consider yourself dropped from required reading.

any mouse on October 19, 2009 1:53 PM

@Sembi - I second that. What a moronic statement. What about if they don't know C/C++ like you Jeff? Because you don't need to know it? do you need to know about a bunch of programmers that were famous 20 years ago? I bet you don't need that either.

Matt on October 19, 2009 1:54 PM

I can't identify at least one of the programmers and I am coding for over 20 years by now.

Holli on October 19, 2009 1:54 PM

I agree with the others. A bit silly Jeff that you'd no-hire someone because they don't know who someone is. Surely, what they've actually done is more important?

Martin on October 19, 2009 1:56 PM

Personally I admire Douglas Crockford a lot because I think he has a lot of good thoughts and insights. And he has made me respect Yahoo more as a company than before.

blabla on October 19, 2009 1:58 PM

"If the next programmer you interview can't identify at least one of the programmers interviewed in Coders at Work and tell you roughly what they're famous for …

Frances Allen Joe Armstrong Joshua Bloch
Bernie Cosell Douglas Crockford L. Peter Deutsch
Brendan Eich Brad Fitzpatrick Dan Ingalls
Simon Peyton Jones Donald Knuth Peter Norvig
Guy Steele Ken Thompson Jamie Zawinski

… I'd say that's an immediate no-hire. "

So, you only want old guys...

PRMan on October 19, 2009 1:58 PM

Sean wrote:
>>Personally, if someone was to ask me about influential works I >>would rhyme off names like Hunt, Thomas, Myers, Dikstra, Liskov, >>Fowler, McConnell, Sutter, Stroustrup, Abrash, etc, etc, etc ... >>I'd even throw a prop out to Joel and Jeff, despite them having an >>affinity for controversy lately.

You didn't spell Dijkstra correctly. I would not hire you. You clearly have no passion for the craft.

MC on October 20, 2009 2:08 AM

That list is also quite US centric - there are a lot of developers in other countries around the world, and I qould hazard a guess that at least some of them might be pretty darn good.

Just for a funny example, one of the best developers I've ever worked with didn't know who were Bob Dylan, steven Spielberg and Ronald Reagan. Not everything American is automatically known in other countries.

El Dorko on October 20, 2009 2:35 AM

Well I'm a non American and I can't imagine not knowing who are Bob Dylan, steven Spielberg and Ronald Reagan. This guy was probably "non earthling" more than "non American". Lol

Burpy on October 20, 2009 2:56 AM

More comments»

Verify your Comment

Previewing your Comment

This is only a preview. Your comment has not yet been posted.

Working...
Your comment could not be posted. Error type:
Your comment has been posted. Post another comment

The letters and numbers you entered did not match the image. Please try again.

As a final step before posting your comment, enter the letters and numbers you see in the image below. This prevents automated programs from posting comments.

Having trouble reading this image? View an alternate.

Working...

Post a comment

Content (c) 2009 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.