Fog Creek Software
Discussion Board




Eric on Hazards of Hiring

New MSDN article, linked on Eric's homepage:
http://software.ericsink.com/index.html


Very interesting analysis of a seriously difficult job. I've done lots of hiring over the years (100+ jobs for various clients) and I wish I'd read this article a long time ago.

I've printed it out now, for the next batch of hiring. Thanks Eric.

Steve Jones (UK)
Monday, July 12, 2004

Nice to see he's still writing for MSDN. I was afraid he might not. :)

Green Pajamas
Monday, July 12, 2004

One wonders what might have happened behind the curtains for that to happen after what he wrote....

RP
Monday, July 12, 2004

"One of the popular interviewing questions is to ask the candidate to describe their biggest weaknesses. Even though this question is terribly "old school", I really like it....

When I ask candidates to tell me about their weaknesses, I am hoping for a wise, honest, and self-confident answer. When I hear a candidate rationally admit a weakness, I am impressed. When I hear a candidate duck the question with language straight out of a book, I start thinking about the next candidate."

So it's still a mind game, then.  *sigh*

Kyralessa
Monday, July 12, 2004

One point I would take issue with is
"a bsc from a good computer science dept."

Our hiring policy has always been Maths/Physics/Chemistry pref. Phd with some programming background.
Most CS courses don't teach software engineering and there isn't that much CS theory that a Maths PhD can't pick up fairly easily.

Martin Beckett
Monday, July 12, 2004

I have one question for all of you. Where does someon without a college degree stand in your view? Throw the cover letter and resume in the bin or possibly hear the candidate, without hoping for much?

Batman
Monday, July 12, 2004

>One point I would take issue with is
>"a bsc from a good computer science dept."
>Our hiring policy has always been Maths/Physics/Chemistry pref. Phd with some programming >background.

Oy.  If the type of programming you do involves advanced physics and chemistry, that's acceptable, though I'd argue that balancing your specialists who program with some developers who dabble in physics or chemistry would be better.  After all, those departments don't teach SWE either, and people who are deeply interested in SWE aren't likely to end up in them.

While a PhD will prove you're Smart, my experience here in the US is similar to Eric's - it almost (though not necessarily) proves you can't Get Things Done, especially in the software world.  An advanced CS degree, for anyone who has a previous lower level CS degree, is either the sign of an academic or a way to avoid the real world for a couple years longer.  Neither of those is very good at shipping commercial software.

Not only that, but your system can't be cheap - not ideal for a small software company.  Also, it sounds like it would fall apart if everyone used it, so it's not a good industry recommendation.

Mikayla
Monday, July 12, 2004

> Where does someon without a college degree stand in your view?

The first guy I hired (also the first person I interviewed) had no college degree. We needed someone who could hack assembler. He had written an incremental assembler, debugger, and IDE ... in assembler. So I thought he was well-qualified! And he was.

He didn't make the transition to C and C++ though ... became a QA lead instead.

Rumour had it that my idiosyncratic boss prefered to hire people who were "self-taught" over people with degrees who needed "spoon-feeding".

Christopher Wells
Monday, July 12, 2004

"I want to see a bachelor's degree from a highly regarded computer science department."

In other words, "nobody should ever change careers."

"Yes, yes, I have two obvious counterexamples right here among my co-workers. But hiring is about probabilities."

Anyone know how many people work for Eric?

Philo

Philo
Monday, July 12, 2004

>One of the popular interviewing questions is to ask the >candidate to describe their biggest weaknesses. Even >though this question is terribly "old school", I really like it.

My greatest weakness is I have no patience with interviewers who ask this kind of question. Makes me want to start looking around for some fava beans and a nice chianti....

Michael Ealem
Monday, July 12, 2004

Somewhere between 6 and 58,000. :p

Eric himself, two partners, these two guys and a women. So at least six. :)

Green Pajamas
Monday, July 12, 2004

> Granted, a lot of these coders are driven purely out of hatred for Microsoft.

I think that is a disgusting generalization based on nothing but stereotype.  You can ask practically any open source developers why they do what they do, they'll almost certainly answer that they love the art of coding and they love sharing their hobby for the world to use.  It is a very small and disturbed minority of open source developers that write code because of hate. 

What is even more disturbing is that as an open source developer, Eric certainly knows this.

sd
Monday, July 12, 2004

>> "Anyone know how many people work for Eric?"

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsoftware/html/software12292003.asp

"I run a small ISV (independent software vendor) called SourceGear. We sell developer tools to the Microsoft® Visual Studio® world. We're almost seven years old, we've currently got about 25 employees, and we are located in Illinois."

Dave B.
Monday, July 12, 2004

"So it's still a mind game, then.  *sigh*"

Remember that Eric is just one of hundreds of thousands of people with hiring input/authority - he doesn't define the industry.

As an aside, I find all of the "hiring 101" articles fascinating, and just a little bit deluded - someone gets in a position of choosing hires, more often by luck or "being a big fish in a small pond", and they come to believe that their observations and opinions on what makes good or bad employees (in their particular environment, dealing with them. The writer is a massively disruptive variable in the equation) holds great value to others. More often than not it doesn't. This is similar to how people get into a management position (such as by founding a company) and they then believe that whatever they do is "good management" that others can learn from. I guess the point is that doing something doesn't mean that you're doing it well, and this is especially true in something as remarkably subjective (and difficult to meter) as hiring, especially given that the best programmer in the world can turn to rust in the wrong organization.

I'll give Eric credit, though, he specifically states that hiring the best doesn't literally mean the best, but rather it means the best for a particular position/team/company. These are two entirely different targets, and his version sounds far less conceited. Some firms/positions could use a stubborn individualist hero programmer, while other could use a conformist team player, and yet another could use a autistic chess player. This is a welcome change from the standard simplistic, contrasting definition between good and bad.

Dennis Forbes
Monday, July 12, 2004

So 25 people, he's hired two without degrees, and they're both superstars.

Methinks that unless Eric has gone through a few dozen without degrees that were miserable failures, he doesn't have the statistics to make a comment about the value of a degree. (and in fact he's got *zero* grounds to get as specific as "a BSCS graduate from a quality CS program")

My only problem is the absolutism - that he says he would NEVER hire anyone but a BSCS grad (despite 10% of his workforce not having degrees at all). Having a preference for them is fine. But to say people without a BSCS from a short list of schools should just forget about programming is somewhat narrow-minded.

Philo

Philo
Monday, July 12, 2004

My summary: "Us four and no more".  Eric says:

"Most of the writings on the subject of hiring programmers tend to sound the same. The usual advice is to "only hire the very best.

I'll confess that I'm not terribly fond of this advice. It is simply too vague.
...
But the usual advice still annoys me. The problem isn't so much with the advice itself, but with its tendency to be misunderstood. When applied with no additional precision, the primary effect of the usual advice is to create a sense of arrogance."

Good to hear this stated by someone who can clearly state his thoughts.

Another great statement:

"Watching TV is a waste of time. Coding is not."

hoser
Monday, July 12, 2004

> If the type of programming you do involves advanced >physics and chemistry, that's acceptable,
We do datamining tools,  our products involve solving complicated problems. We need people who are very smart and can understand problems and preferably model the solution with maths.

> After all, those departments don't teach SWE either
I meant there are only a few CS inventions that are relevant, most Maths guys can pick up the concept of a doubly linked list fairly quickly. And you still have to teach CS grads about coding for readability, testing, source code control and other SWE rather than CS topics.

Martin Beckett
Monday, July 12, 2004

According to Eric's logic he should not be hiring anyone much less running a company because he does not have a degree in management. 

I won't read anyone's blog on hiring practices unless they have an MBS (uhh MBA) degree with a concentration in HR from a top university.  We all know that book learning is much more important than actual experience, at least that is what all of my professors told me...

Misunderstood
Monday, July 12, 2004

Martin,

The caution is in the lack of knowledge and experience working with a wide variety of data structures.

For example, not too long ago, I had a problem where I needed fast insert and fast search, however delete wasn't important.  The problem was that the items did need to be deleted, and failure to delete the items would result in excessive memory consumption very quickly (4Gig+). 

I decieded on a solution where I implemented delete through the insert and search capabilites.  Thus flagging elements in my general tree that had been deleted so that future searches would skip those elements, and future inserts could replace those elements.  Search was further improved by maintaing a skip pointer to the maximum valid element in the tree, and when inserts and deletes occurred, when necessary this pointer was updated.

Anyhow, point being, I explained my implementation to our Math developer whose algorithm I was implementing and it was lost on him.  There is no way he could have ever implemented what I did.  He was a dev though, and his language of choice was Perl.  His algorithm locked up and never finished past 50 elements.  My biggest problem was running out of memory at 8000 elements (it was an exponential problem).

Just because one can code and is a math or physics whiz doesn't necessarily mean that they will make a good developer.  That's not to say that these people aren't important to software development (I don't contend that I could have ever thought up the algorithm that I implemented, yet our algorithm Math guy knows he couldn't have ever come up with my implementation), but because they are good at one end doesn't mean they are good at the other.

Elephant
Monday, July 12, 2004

The problem is that Eric correctly identifies the problem with saying "we hire only the best" and then proceeds to stomp all over it by making his own ridiculously stringent criteria.

This industry is like Lake Woebegone. Every company only hires the best.

M1EK
Monday, July 12, 2004

Michael,

Great comment. I plan on answering similarly if I am ever asked that question.

MilesArcher
Monday, July 12, 2004

> making his own ridiculously stringent criteria

I didn't read his criteria as being stringent at all.

His post ended with "here are 10 factors that ("probably") correlate with being a good developer: therefore, in general, consider these factors when hiring (but I won't insist on a candidate's having any particular number of them)".

I also read him as saying that every rule has exceptions: that he already has two developers without degrees ... and that he would even consider hiring a PhD if they had sufficiently good industry experience.

Christopher Wells
Monday, July 12, 2004

"I didn't read his criteria as being stringent at all"

?!?

"Developers with a BSCS from a recognized CS department" How many universities are there with a "recognized CS department"? Maybe 10-15, tops? And they graduate about 200/year? So 3,000 possible applicants out of how many job seekers?

Sounds pretty restrictive to me.

Philo

Philo
Monday, July 12, 2004

Remember that people like Joel and Eric are trying to pimp their respective companies as well, be it to potential suitors, VCs and investors, or even potential employees. As such they shamelessly boast that they hire only the best, yet I think it's fair to say that it's doubtful : It seems unlikely that the "best" wouldn't be working on CityDesk or SourceForge as a sharecropper, they'd be busy making their own apps and building thier own empires.

And then of course you get the standard narcissism that people catalog their own traits and declare that the best of the best.

Dennis Forbes
Monday, July 12, 2004

That was item #6 of his 10-item conclusion ("Does this candidate have a bachelor's degree from a good computer science department? ").

He qualifies that in his last two paragraphs ("It's not necessary to answer "yes" to all ten of these questions ... etc)."

I personally don't have a BSCS at all: yet the way he phrased it wouldn't discourage me from applying to SourceGear (because he might want to hire me even without a BSCS, if I can demontrate that I meet items 1, 2, 3, 4, 5, not 6, not 7, 8, 9, and 10).

Christopher Wells
Monday, July 12, 2004

Well you'd never get a chance to show that you overcome his bias, as Mr. Sink states - "Nonetheless, I still sort résumés by educational level."

Dennis Forbes
Monday, July 12, 2004

I have a BA (Maths) from Cambridge UK, from 20 years ago; if he'd prefer to hire specifically a BSCS graduate, he's welcome to.

It is "stringent", *overall*: applying the list of 10 criteria successfully winnows the number of applications.

It's just that the way he phrased didn't make it seem as if any *one* criteria was stringently required: contrast that with places that say things like "candidates must have 6+ years of MS SQL experience to be considered".

Christopher Wells
Monday, July 12, 2004

Philo writes:

"that he says he would NEVER hire anyone but a BSCS grad (despite 10% of his workforce not having degrees at all). Having a preference for them is fine. But to say people without a BSCS from a short list of schools should just forget about programming is somewhat narrow-minded."

Philo, perhaps you should read the piece again.  I didn't say the things you think I said.  I certainly did not say that I would never hire anyone but a BSCS grad.  I certainly did not say that people without that degree should "just forget about programming". 

In fact, I believe what I said is that I have a preference for people with good CS degrees, which you acknowledge is "fine".

Eric Sink
Monday, July 12, 2004

Eric,

I a Business major, and I didn't even complete the degree - yet programming career has been fruitful.  I'd even go so far as to say that having business training has in some ways made me a better developer than I might have been, given a CS education.

Anyway...like Philo, I sensed a bit of absolutism from your article.  It's good to hear that that not the case.  I should have known your too common-sensical a guy to think that way.  ;)

www.ChristopherHawkins.com
Monday, July 12, 2004

Holy cow. I read all the comments on the article. I thought ... "boy am I going to have fun bashing this". I just read his article. I gotta agree. I have no degree but I too would put my bets on the person with a degree (I'm trying to make up for that without getting the degree by reading fundamentals, funny that lots of recent books are textbooks). He gives 10 guidelines. And he included reading the code. What a novelty. This guy Eric is good. Hiring is not an easy, absolute issue. He wrote one of the best articles on the subject that I've read.

me
Monday, July 12, 2004

HA ha HA ha HA ha

"I a Business major"

I should put that line on a T-shirt.  I appear to be a lousy typist as well!  :P

www.ChristopherHawkins.com
Monday, July 12, 2004

I just printed out the article to read in bed (I know, very sad). However I felt I had to reply before reading it in response to all these people who are saying 'hire the best' and the importance of degrees.

1.  How do you define 'the best'?
2.  Who says all potentially excellent developers get to go to University?

I'm a novice hirer (and need all the help I can get) but I'm getting to know a good developer when I talk to one. I think you need
-  a brain
-  discipline
-  imagination
-  fast eyes and fingers
-  a real, heartfelt passion for the subject.

If anyone has devised a test for all these I'd love to hear about it!

Miranda (UK)
Monday, July 12, 2004

"1.  How do you define 'the best'?"

Me.

End of discussion.

Mr. Fancypants
Monday, July 12, 2004

What exactly is the problem with the "what is your greatest weakness" question?  Sure there are criticisms of it being a "mind game" question, but in reality it's not about what the interviewee says, but how they say it, and that can tell a lot about a person.

I find it interesting that many people seem to think that interview questions for a prospective programmer should be entirely about programming.  Personality-related questions are important too, especially if the programmers have to spend a lot of time working together.

Programmers aren't cogs in a machine.  They're people, and not all people are interchangeable.  To find the people that you're really looking for, sometimes you have to ask questions that are less about the job, and more about the person.

BadgerBadgerBadger
Monday, July 12, 2004

I thought Eric's article was right on the money. He even accurately predicted what kind of flames he would get ("the issue of education is quite controversial...")

If I had to make a hiring decision based on only one question, it would be "what have you shipped lately?".  That's where the rubber hits the road.  Doesn't matter how smart or pretty you are if you can't ship.  And Eric did indirectly include this in his question #8.

free(malloc(-1))
Monday, July 12, 2004

>What exactly is the problem with the "what is your greatest weakness" question?  Sure there are criticisms of it being a "mind game" question, but in reality it's not about what the interviewee says, but how they say it, and that can tell a lot about a person.<

Yes, I want some HR drone who fancies himself an amateur psychoanalyst making decisions about my financial future based on how I answer some vague warm-and-fuzzy question. Are we running a business or a group therapy session? I repeat, it makes me want to access my inner Dr. Lector.

There are only three relevant questions:
1. Can you do the job?
2. Can you do it the way the employer wants it done?
3. Can you do it profitably?

Now show me some proof: code, whiteboard test, pair program with someone, whatever....

Michael Ealem
Monday, July 12, 2004

> It seems unlikely that the "best" wouldn't be working ... as a sharecropper, they'd be busy making their own apps and building thier own empires.

This is self-evident, but "We only hire the second best" doesn't have the same ring to it. Then again, it worked for Avis!

Dennis Atkins
Monday, July 12, 2004

> what have you shipped lately?

Nothing. However, I was on a team that nailed its alpha release date only to have management decide that the market for our product didn't really exist. Before that I was on a team at a different company that had a beta release ready to install at a customer's site for testing, only to discover that the contract existed only in the salesman's imagination. Before that I was brought in to join a team at another company on a project that was a year late and $1 M over budget, just in time for the customer to pull the plug and sue the company. Before that...you get the picture.

I have to go back 6 years to find something that I worked on that actually went into production, and another 4 years before that to find a shrinkwrap product that shipped (and which led our primary competitor to throw in the towel and ask us to support *their* customers).

So the "what have you shipped lately" question doesn't work very well for me, either.

Michael Ealem
Monday, July 12, 2004

Sorry for the above rant. Being out of work for two years (and out of money) has made me a tad sensitive to interview/hiring questions. No excuse to take it out on folks here, though. Mea maxima culpa.

Michael Ealem
Monday, July 12, 2004

"Yes, I want some HR drone who fancies himself an amateur psychoanalyst making decisions about my financial future based on how I answer some vague warm-and-fuzzy question."

My comment was in the context of another programmer being the interviewer and asking the question, not an HR drone.  If a programmer asks that question of another programmer, and the former doesn't like the response from the latter, then "amateur psychoanalysis" is not a fair remark because getting along with your teammates is a job requirement.

BadgerBadgerBadger
Monday, July 12, 2004

Michael,

My condolences but you make a very good point. Developers have to be very discriminating in who they accept work with. If you don't really look at the sanity of a company before going to work for them, you can end up like Michael with a string of product failures and wasted years that do not reflect on your own abilities. Unfortunately, the failures of the companies will be considered your own personal failings by potential employers and your entire career can be siderailed, stigmatized by those you fell in with.

Dennis Atkins
Tuesday, July 13, 2004

Thanks, Dennis. Perhaps we should do a thread on "Due Diligence" as applied to the job search. I am grateful to Joel for the "Joel Test" - I plan on using it if and when I go interview again.

Michael Ealem
Tuesday, July 13, 2004

I'm reading the article & haven't read all the posts here yet, but my god, his Oracle reference was to The Matrix & not ancient Greece.

www.MarkTAW.com
Tuesday, July 13, 2004

The educational level thing is controversial, and not more than 3 days ago we had the same argument here (I believe started by Dennis Atkins).

So the question to ask - and remember, no matter what the "crime" there's always a reason - is why didn't you go to college, or, if you did but studied something else, why did you get started in programming & how do you think being self taught aids or hinders you relative to someone who did study it at a school. IMHO, completing schooling is a diluted version of "how many lines of code have you written?" and "what shrinkwrapped products have you shipped?" and one you can ask a resume before you even get to the interview.

Completing schooling, especially in one's chosen field, is indicitive of having the kind of personality that follows through & completes what he/she sets out to do. It's not conclusive evidence, but it is a fairly strong indicator. Those who are serious about their careers may even attend school just to have the degree so more employers will take them seriously.

The "What is your greatest weakness" question sucks because it's so well known and so commonly used that it's impossible not to game it or think of your answer ahead of time.

Furthermore,  you can't know what answer they expect to this question. Probably the best approach to this question is to have to or three prepared answers - since anyone who has been on more than one interview knows that this question will be asked and therefore answers it mentally ahead of time anyway, perhaps in the lobby waiting for the interview to start. 1. Honest, 2. HR oriented, and 3. flippant - for those times when this question is the last straw and you want to tell the interview just how you feel about him. Perhaps even in different flavors - tech oriented, personality oriented, and so forth.

While The Very Best may start their own software companies (though being a good programmer & being an entrepeneur are two different skillsets), it's a given that you can't hire someone who isn't in the job market. So obviously when someone says they hire the very best, they mean of those who are available to be hired.

"According to Eric's logic he should not be hiring anyone much less running a company because he does not have a degree in management."

Good come back, though perhaps he's part of that 10% who didn't go to HR school, but got to be good at hiring. Instead of "How many lines of code have you written" the questions we should ask Eric Sink are "how many people have you interviewed, and how many people have you hired?"

If Michael has been out of work for 2 years, then perhaps due dilligence on his next employer shouldn't be his #1 priority. Perhaps working on open source projects (or creating his own) would be a good idea. Maybe YET ANOTHER content management system, or bug tracking system. ;-)

www.MarkTAW.com
Tuesday, July 13, 2004

> his Oracle reference was to
> The Matrix & not ancient Greece.

And just what is so wrong with that?  :-)

Eric Sink
Tuesday, July 13, 2004

Think of his Oracle reference to the Matrix as a "pointer" to the the Greek original.  There is nothing new under the sun...

Misunderstood
Tuesday, July 13, 2004

A degree is irrelevant two or less years after getting it.

If I needed to hire someone to do a specific job their educational achievements would rank fairly low on the list.  I'd rank actual achievement much higher.

But mostly, as always, I'd have made my mind up within 30 seconds of meeting them.

Simon Lucy
Tuesday, July 13, 2004

> And just what is so wrong with that?  :-)

Nothing. Just that it's an indicator that you think "real world" experiences - like those gained in a movie theater - are more important than formal education.

;-)

Simon, and what if you haven't met them & are just looking at their resume's?

www.MarkTAW.com
Tuesday, July 13, 2004

What about certifications with real world experience but no degree?

Certified looking for the right J.O.B.
Tuesday, July 13, 2004

Certified,

Ask yourself, would you hire you? Are you a sure thing, or a gamble? Can you prove that you're a sure thing? If so, how? Can you prove it on your resume? In an interview?

www.MarkTAW.com
Tuesday, July 13, 2004

> Just that it's an indicator that you think
> "real world" experiences - like those
> gained in a movie theater - are more
> important than formal education.

I suppose I could be guilty of that. 

Or maybe I just really, really liked
"The Matrix".

;-)

Eric Sink
Tuesday, July 13, 2004

The Matrix was a great movie.

Remind me to show up to any job interviews I have with you decked out like this:

http://www.wbshop.com/catalog/category.xml?category_id=3939;pcid1=3708

And to speak in riddles. "Now, I can't tell you who to hire. You're going to have to make a choice, between your job and someone else's. Now, would you like a cookie?"

www.MarkTAW.com
Tuesday, July 13, 2004

*  Recent Topics

*  Fog Creek Home