Fog Creek Software
g
Discussion Board




Hiring the Best

The latest LOC thread discussed how there are several different types of programmers and amount of apparent physical effort is not necessarily the best indicator of employee value.

We have a very simple formula we have stumbled on that has enabled us to hire only those programmers who are ten times more productive than average. So, an average programmer will code something up in ten weeks that will take a great programmer five days to achive the same functionality. The great programmer's code inevitably has fewer LOC, fewer bugs, better documented and is far easier to maintain than the average.

We pay these superstars three times the average rate in this area  -- $220,000 instead of $66,000 for a developer. We also have a few part timers than make on average $110,000. It's a good deal since the developers are absolutely loyal and we get projects developed five times faster at a lower cost and with higher quality than our competitors.

So what is our secret that enables us to find these top developers? This is the secret that enables us to leave our competitors in the dust. We only hire the best and we never have any troubles finding them and we never make any mistakes in hiring.

Yes, what could it be... see if you can guess.

Dominic Bellvue
Thursday, May 6, 2004

Your fantasy?

Ron
Thursday, May 6, 2004

Oh, this is going to be fun!

Joel Spolsky
Fog Creek Software
Thursday, May 6, 2004

To get the answer, simply send a $500 check or money order to our offices.....

Bominic Dellvue
Thursday, May 6, 2004

The answer, of course, is onions. I'll take "Condiments" for $800.

If you don't "get" the above, watch some SNL Celebrity Jeopardy skits ;-)

The answer of course is simply to offer $220,000/yr for a lead developer position who can build sample project X in technology Y in 1 week a "paid" interview exam of sorts AFTER going through a round of group interviews...

...
Thursday, May 6, 2004

we pay $220,000 for the low-end guys, maybe we could use your superstars to operate our caffee machines


Thursday, May 6, 2004

I think there isn't a secret.  If you pay the best developers 220,000 a year, theres going to be a shitload of competition.  When you have people fighting to juts get their resume read, I'm guessing your not just hiring superstars, but turning them away.  Or, your dreaming.  ::shrug::

vince
Thursday, May 6, 2004

The "developers" actually don't know how to develop but rather savvy business persons who subcontract the actual coding to the REAL developers at $66k a year, pocketing the extra change.

Face it ... anyone smart enough to be a superstar coder has to be smart enough to see that one coming a mile away.

Alyosha`
Thursday, May 6, 2004

You steal programmers away from Fog Creek.

Derek
Thursday, May 6, 2004

Remind us again why Fog Creek programmers are supposed to be superstars? They made some app to track bugs?

Everyone Outside This Forum
Thursday, May 6, 2004

so true, why superstars need a huge system to track bugs?


Thursday, May 6, 2004

"so true, why superstars need a huge system to track bugs? "

What makes you a superstar isn't that you never introduce a bug into the program, it's that you are able to FIND and FIX the bugs before the product gets released.

As an old employer said: internal mistakes (that we correct before the client sees it) are free.  But if a mistake makes it the client there'll be hell to pay.

Mr. Analogy
Thursday, May 6, 2004

Maybe Dominic has an idea for a new reality TV show called 'The Programmer"?

I doubt Fox would even go for that...

Bill Rushmore
Thursday, May 6, 2004


Bominic:

Funny - I thought I should give a seminar too!

...:

Nope, we don't take advantage of anyone. All contributors are paid fairly.

Vince:

A good point, but how do you separate the wheat from the chaff? Sure, maybe the good people apply but even more so, the bad people will apply. You might have 1000 resumes for every 1 person you are looking for. The odds of finding a needle in that haystack are not good - another approach is necessary.
 
Aloysha:

No, the developers code themselves. They don't contract it out externally.

Derek:

No, we don't steal from Fog Creek, though Fog Creek also is successful at finding good people and bases their strategy on an ability to find and recruit these people as well. Not all companies can use this approach since the 10 times developers are only 1-5% at most of developers. So an effective approach to find them is definitely necessary as blind luck won't work. Also, if you are not a well known company with a reputation as a great place for developers to work, you won't but on extremely rare occasions see those top people responding to any ads you might be running and even so, how do you tell which ones are the stars?

Hm, perhaps some hints are needed.

If you think very carefully about the problem, the solution becomes obvious. Even though it is not widely known, many companies do use this strategy, including some big ones you've heard of that have a reputation as being great development firms.

Realize that:

- the people you are looking for are only about 2% of developers
- you won't find them by advertising
- recruiters can not provide you with these people, though they are ok at finding average people
- you can't use money to attract them because the money will appeal to the incompetant people much more so than the competant and you will simply be making it that much harder to find the right people

More hints are available if necessary, but see if you can figure it out based on this.

Dominic Bellvue
Thursday, May 6, 2004

Networking.

Dave B.
Thursday, May 6, 2004

Dave B.,

Getting warmer...

Dominic Bellvue
Thursday, May 6, 2004

IRC?

Prakash S
Thursday, May 6, 2004

blogs? Is Igno going to be working for you?:-)

Prakash S
Thursday, May 6, 2004

Via Open Source projects?
We have used this strategy with much success.

Rhys Keepence
Thursday, May 6, 2004

- Presumably the guessing is an integral part of this? Setting up questions to be gatekeepers?
- Using unusual but sound tools?
- Visiting meetings, college departments, etc; or targetting experts by keeping tabs on the community?

Tayssir John Gabbour
Thursday, May 6, 2004

- Hiring an expert(s) and having her help you pick out and convince the people she(they) want to most work with?

Tayssir John Gabbour
Thursday, May 6, 2004

Have each programmer on staff name every programmer he knows who is *better* than he is, then try to recruit from that list? And if anyone on the team disagrees during the screening, automatic no hire.

(Now I'm wondering how many programmers could admit that any other programmer is better/smarter/more productive than they are. ;-)

John C.
Thursday, May 6, 2004

Prakash and Gabbour are getting hot. The key is that you have to go to the developers, not wait for the right ones to stumble into you. This is self evident when you realize that there are just a very small number of the top people and most of them, the overwhelming majority, are pertfectly happy with what they are doing and have no desire to move regardless of salary incentives and there is no chance you can get them no matter what you do, so you have to find those who would consider working for you and then convince them to do so. By this time, the possibilities are finite and manageable, you can probably now think of things that will work other than what we are doing but that work just as well.

Additional points that will nail down what we are doing:

- We do not require any technically skilled people to find the recruits to bring in on an all-expenses-paid interview -- using any old HR drone works fine and is quite effective because our test for finding the best people is so simple and easy
- We don't test candidiates skills at all during interviews - it's unnecessary and a waste of time for both of us. The interview is to get a feel for personality and passion, whether there is a fit that is beneficial to both sides.

Good guess on the open source thing and I don't doubt it works, but we don't currently recruit from open source projects since the method we use we like to think works better, but who knows.

One additional hint -- we find that the top developers are not just good at development productivity, but are overall very well rounded candidates with many skills they bring to the table other than development proper.

Dominic Bellvue
Thursday, May 6, 2004

Vulture strategy?

Tayssir John Gabbour
Thursday, May 6, 2004

God damn it, I've gotta go back to what I was doing, but there's a number of strategies out there that fits within your constraints I've seen. I've been offered an interview in a bookstore because some guy noticed me picking out the right books. (I don't recommend it though..) Watching if a competitor has low morale, which many do. Reading fuckedcompany.com and decide hwo to proceed.

Tayssir John Gabbour
Thursday, May 6, 2004

You look for published works and hire the authors?

Dennis Forbes
Thursday, May 6, 2004

Horoscope matching?

Alex
Friday, May 7, 2004

Poaching presenters at conferences?

Or, possibly, annoying the living shit out of candidates by making them play guessing games?  (Guess I'm not getting a job there.  Which is good, 'cause I like where I am.  ;> )

Sam Livingston-Gray
Friday, May 7, 2004

What's wrong with employing a recruiter to find the people you need? Isn't this what recruiters are for?

Egor
Friday, May 7, 2004

Recruiters couldn't spot talent if it was on their desk naked. If they did, they wouldn't tell you because their margin would be too low and they prefer "team players" ( guys who are too dumb to ask questions.)


Friday, May 7, 2004

I've been offered work because of my various postings on forums and newsgroups. One of my collegues also got a contract job after several postings on an Oracle newsgroup.

Aside: I'm still waiting for the job offer from Joel, after my helpful "g-descender" post ;-)

Steve Jones (UK)
Friday, May 7, 2004

I agree with the Open Source thing, except that you probably fund one or more OS projects and employ the best people from them.


Friday, May 7, 2004

Look for people who are already doing things i guess, and doing them visibly well. As a random aside, I started a job temporarily doing programming when I was 18 before uni. I didn't really know all I needed to, as no-one really did. It was quite a new field. So I used the company server to set up a mailing list. Within a week it had 800 developers on it, half of whom worked for companies that were beyond my wildest dreams at the time, and I was looked on as some sort of leader in the field. The fact that I didn't KNOW as much as some people didn't seem to be obvious... I got asked to write magazine articles, and two weeks later I got offered a job for twice my then salary (and more than i'm earning now, annoyingly...) I turned it down, which was stupid in some ways.
Anyway... That may or may not be relevant, but it may also go to show how little you could really trust the public image of someone whom people assume to be a "leader" in a field...

Andrew Cherry
Friday, May 7, 2004

Simply, judge who found the answers to the question on this forum and contact  the winner thru email. Oops, sometime there isn't any email.

R Chevallier
Friday, May 7, 2004

Minor clarification. Re-reading what I've written it seems as if it was about 1950ish when programming was new. Actually I simply meant that the small field I was programming in was quite new. Just in case people start thinking of how I managed to run a mail server at Bletchley Park...

Andrew Cherry
Friday, May 7, 2004

Require your HR people to play Dungeons and Dragons on the weekend and haul in any new players over the age of thirty who still live with their parents and won't shut up about some software projects they are doing in their spare time?

name withheld out of cowardice
Friday, May 7, 2004

"Look for people who are already doing things i guess, and doing them visibly well."

Ba-da-ding!! Andrew Cherry has got it!! Congratulations, Andrew.

This is the key to finding the top developers.

It turns out there are several databases of this information, most of which even include democratic ranking by the general public as to the skills of the indivdiual developer.

Those databases include download.com and tucows.com.

We have HR surf for really well done shareware, demoware and others. Programs in which a single person conceived of a product useful enough that many people are willing to pay money for it (weeds out the people with lots of bad or useless ideas), developed that product from scratch (shows initiative and start-to-finish ability), successfully marketed the product (shows the person has a great understanding and insight as to business issues) and provided customer support and bug fixes to improve the product (guarantees they are diligent and have great people skills, will work well with other similarly motivated individuals.)

These people are universally superstars. Your average developer has no chance whatsoever of bringing a product to market singlehandedly and making it an economically successful endeavor.

They'd be worth paying ten times the going rate due to the communication dampening effects (3 people can sometimes do a project faster than 30 people), but we find that three times the rate keeps everyone very happy with what they are doing.

Thanks to all - many good ideas here as well, such as finding people at the bookstore - a guy actually tried to bring me in on an interview only last week because I was looking at the right books. (I declined of course.)

Dominic Bellvue
Friday, May 7, 2004

But don't those people also prove that they are entrepreneurs, so will probably leave your company as soon as they think of another idea (if not already doing it on the side), or will leave to make your products, but better?

Ron
Friday, May 7, 2004

Alright, so you've told us your "killer" method of *finding* the superstars, but how do you *convice* them to come work on your clap-trap???

Anon-y-mous Cow-ard
Friday, May 7, 2004

Ah! The Swordfish strategy... except that you don't do a skills test the same way... or at all, from what you've said

BlackEye
Friday, May 7, 2004

Ron,

We encourage them to continue what they were doing before if they wish - many of the part timers do it this way. If they choose go off to do something else that's fine with us too, but so far attrition is low.

Anon,

Most don't want to even interview. Offering a free vacation of sorts (all expenses paid interview and we have developers show them the sights and go out to some nice restaurants) does help and is enjoyable for all whether or not it works out with them. Of those we interview to whom we make offers, some work with us right away. Some say no thanks and later ask if we have openings. Some decide not to and keep doing their own thing.

Blackeye,

What's Swordfish?

Dominic Bellvue
Friday, May 7, 2004

The movie 'Swordfish'... John Travolta tests uber-hacker Hugh Jackman's skills by having him crack some government code while a gun's pointed at his big-head and a blonde's at work on his little-head

Okay, it's just as well you didn't catch the reference...

Cheers

BlackEye
Friday, May 7, 2004

swordfish: http://www.imdb.com/title/tt0244244/

A multi-zillion-dollar, so-horrible-it's-funny action movie.  Don Cheatle's good, as always, and Halle Berry is ... lovely.  Everything else is really terrible. 

eaw
Friday, May 7, 2004

In some way the technique seems almost obvious, but it is interesting that someone did it and it actually works.  Here are a few followup questions:
- How do you keep attrition down?  Is the money enough by itself?  Do you try to make the work environment Peopleware compliant? Do your people like working with other high productivity people?
- Do you try to have a productive work environment (enough space, good equipment, quiet) or does it not seem to matter for the people you hire?
- Besides the fact that these people have produced some software that is publicly available, do you look for any particular characteristics during interviews?
- What is the size of your company?  I have wondering what would happen if other companies adopted the technique, but it's not likely a company of any significant size would do it.

mackinac
Friday, May 7, 2004

Nobody ever asked me to apply for a job while I was browsing the local book store.  Unfortunately, the closest technical book store, Maryland Book Exchange, remodeled their store a few years ago.  They put in some big overhead lights that produce a loud hum.  It is like fluorescent lights with noisy ballast transformers but REALLY LOUD.  I can't stand to spend more than a few minutes there.  This is only in the technical book section.  The rest of the store is ok.  Anyhow, I don't go there to browse anymore.

mackinac
Friday, May 7, 2004

actually, I found the movie rather entertaining.  Lots of cool explosions, and very cool monitor setup...(although not very useful....)

vince
Friday, May 7, 2004

Dominic Bellvue, how much would you pay Nick Bradbury?
( http://nick.typepad.com/ )

Ribeiro
Friday, May 7, 2004

Hurray! What do I win? A job? Oh bugger, i've already got one... Well, anyway, although you seem to think i've got the right answer, the small anecdote with which I accompanied it was supposed to illustrate the opposite.

If you look for people who have produced and marketed/sold successful products (usually shareware i'm guessing, as very few lone developers have the resources to sell full-on shrink-wrap products), I would personally say that you would not be able to be confident that they have the abilities I would look for in a competent developer for a serious company.

How do you know they work well with others? How do you know they have good time management skills? I don't WANT coders spending 16 hours a day on a project because they love it, as they might have been on their own project. I'll just have to replace them in 6 months when they have a nervous breakdown.

It seems to me that all you can reasonably gather from this measure is that they given an undefined timeframe they can produce a piece of reasonable quality software, and that they have a rough idea of how to market it, (along with some capital, I believe things like Tucows are no longer totally free?)

So, i'd be interested (genuinely) to hear how the method you describe differentiates between "d&d code-athon anti-social cellar dwellers" and pragmatic programmers with sense, skills, and social aptitude?

Andrew Cherry
Friday, May 7, 2004

Another related problem is a shareware developer has had the power to create everything HIS way... so how enthusiastic is he to work on somebody ELSE's ball of mud?

And isn't "too many chefs in the kitchen" also a significant problem?

Ron
Friday, May 7, 2004

I would like to know also about what would it take to hire Nick Bradbury, this guy is just an amazing one-man company.

.NET Developer
Friday, May 7, 2004

mackinac,

1. Yes, we have a enlightened work environment in a pleasant college town that's not too expensive and has good weather, within reasonable driving distance of both beaches and mountains. The money is not to keep people from leaving but to fairly and reasonably compensate them for their contributions.

2. Yes, smart productive creative people *love* being in an environment with lots of other smart productive creative people to learn from, bounce ideas of of, and have fun with.

3. The purpose of the interview is to make sure they fit personality wise into the company, but its main purpose is to sell *them* on the idea of coming to work here - that we are a fun and productive place to get work done, that contributions are appreciated, and that they have a long term future here. We have almost no interest in evaluating their skills during the interview because we are already confident that they can get the job done. It does not even matter to us if they have experience in the languages or fields they might be working on since with brilliant people they can pick up specifics very easily and we have no reluctance sending people for intensive training seminars to get up to speed in new technologies. Training smart people is always a great investment of capital.

4. The company is under 500 people. There are about 150 working directly in development.

Andrew,

The things you mention have not been a problem. Although we allow a lot of latitude, one thing that is forbidden is for people to work 16 hr days - 8 is strongly preferred and encouraged and if someone is working at development more than 12 hrs and a manager notices, she sends the developer home. We are able to meet deadlines without problems because we have realistic expectations and are competant at scheduling, so there is never a *need* for people to work such unrealistic schedules that result in exhaustion. We also have a social director and concierge service that assist employees in making arrangements for getting away from work and getting recharged as necessary. There are also various social events at the company that are available to those who wish to participate when they want a break from developing.

various,

If you like the developer you mention, why not approach him and see if he'd be interested in working for you? That's what we do. I've already laid out our general compensation plan so the real purpose of your posts is not clear.

Dominic Bellvue
Friday, May 7, 2004

Hire Nick Bradbury to work for me???

I would *pay* the guy if he let me bring him coffee while he's coding just so I could peek over his shoulder ...


(Not really. (well, perhaps if.. (oh, nevermind.. ) ) )

.NET Developer
Friday, May 7, 2004

Dominic, I think you're telling fibs.

The capabilities for developing and supporting successful shareware 1-man programs are quite different from the capabilities that most software development/research firms require.


Friday, May 7, 2004

Yes,  uh, 150 developers at $100-220K a year? No business model and no product supports that.

But it's a nice fantasy... if only you could convince enough entrepreneurs to give up their dreams and go to work making money for somebody else!

Ron
Friday, May 7, 2004

Blank,

I am curious - what do you see as being the most critical differences between someone who finds a niche and develops successful and profitable products for it, as opposed to the category of applications you are thinking of for whcih such skills would not be helpful.

Herman H.
Friday, May 7, 2004

Ron, do you believe it would be better to have 1500 developers at 66k each, the sum total of which is less productive?

Wondering
Friday, May 7, 2004

Wondering, 150 developers who are extremely productive as a 1-man show simply do not scale to even 5-man teams. And there are very few companies that sell 30 different apps... which means Dominic's "company," if it exists, has much larger team sizes than five, and in no way could afford $200K+ salaries.

Ron
Friday, May 7, 2004

Herman H, I'm not condemning shareware developers, or corporate staffers either. Just pointing out there are differences and that Dominic is telling lies if he says that's how he staffs big profitable projects.

Successful individual developers will want a lot more responsibility than they get in a corporate setting. They will tell the marketing department what to do, the MD what to do and probably want to fix the company's web site too. And they will probably do a good job at this.

But that's not how corporates work. The corporate staffer will spend four weeks on 1 percent of the problem, fill out forms, be nice to the secretaries and accept his parking spot. And so on.


Friday, May 7, 2004

Actually, Paul Graham makes a similar point in his new book (see the thread way above this.)

He says big companies damp oscillations to avoid disasters, and this makes them vulnerable to talented small competitors, who, if they're talented, go for the highs.


Friday, May 7, 2004

Dominic, do you manage a team for someone like Oracle, or Google or IBM ?

Or do you work in one of the big Verticals: finance, healthcare, etc ?

Not Microsoft surely ?

Steve Jones (UK)
Saturday, May 8, 2004

As an aside, maybe there's hope for Billy after all:

http://discuss.fogcreek.com/newyork/default.asp?cmd=show&ixPost=6109&ixReplies=23

Why not give him a job, he's proved that he can do it.

Steve Jones (UK)
Saturday, May 8, 2004

Can't be MS - they certainly don't pay three times the average salary from what I hear! But I would love to know which company this is, because i'd like to see just how good their products are. If this company does exist of course, i'm still slightly struggling to agree with some of the apparent hiring mentality!

Andrew Cherry
Saturday, May 8, 2004

Another suggestion for you Dominic: How about Joel ?

He seems to qualify, in that he's written applications and had them showcased on download.com as well as his main fog creak site.

I suspect you would have to pay him more than a measly $220k pa though ;-)

Steve Jones (UK)
Saturday, May 8, 2004

This is a troll, right ?

How does your HR department know what a 'well written peice of shareware' looks like ?

Humbug !

WoodenTongue
Monday, May 10, 2004

Looks like it was a troll.

Good old Dominic gave away his "secret" after lots of "clues", then went very quiet when everyone said "Huh?".

Steve Jones (UK)
Thursday, May 13, 2004

*  Recent Topics

*  Fog Creek Home