The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
Fog Creek Copilot

The Old Forum

Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

done gets things smart

A response to 'smart and gets things done' that i happened upon that I thought Id share.
Andrew Send private email
Tuesday, June 17, 2008
Very interesting read.  I agree with much of it, but maybe not all of it.
Tuesday, June 17, 2008
Having been in software development for the last 18 years and a manager for the past 4 years there is something that has always bothered me.  That is everyone is talking about hiring the "best" (how ever you want to define that).  The reality is that in every field there is a limited top 1% of the top 1%.

It is mathematically impossible that everyone at Google, Microsoft, Apple, Amazon, Intel, or {insert your favorite hot company name here} to be a top 1%er of the top 1%.  Believe me I worked at MSFT back when they were as hot as Google is today and very few people were profoundly bright and only a handful I interacted with were what I would consider in the upper quartile.

So I'm going to bring up the elephant in the room that no one wants to discuss.  That is "hiring the lesser of the evils to get stuff done".

Most of us have projects that need doing and waiting on the "best" just isn't good enough in the real world.  People can argue otherwise, but do the math.  There are not enough top 1% types to go around and their ranks are falling.  Fewer and fewer "smart" kids are going into CS and engineering.

It would be nice for someone to once recognize all of this "rock star" BS is just that, BS.  While I agree with Steve that Joel's philosophy is not real world enough for most of us, I also feel that Steve doesn't embrace the elephant in the room.
Tuesday, June 17, 2008

I hear you!  I have always read Joel with a big grain of salt.  I believe Joel sees many things in black or white not the shades of gray that most of us live in.  Steve may also, but I don't read him very often to know.

IMHO, it comes down to team building not individual hiring.  I have seen some outstanding engineers flounder with some teams and do well with others.

Success and getting things done starts with the team NOT the individual.
Tuesday, June 17, 2008
how about "smart [enough] and gets [the right] things done"?

It sucks working with people that are reasonably smart but are working on the wrong things due to poor leadership or bad habits, etc.  Even a moderately coordinated effort can produce much better results than a bunch of individuals doing whatever they feel like. Sort of like the military.  I am talking about a larger company here where inefficiences run rampant, not a smaller company like Fog Creek.

Good leadership can go a long way.  It doesn't always need to be this ideal that a college professor once told me: "hire smart people and leave them alone"
Tuesday, June 17, 2008
I agree with Milo. I would take "smart enough and gets the right things done" over "smart and gets things done" anyday!

If I have to hire for CRUD, there is really no point in getting the so called "rockstars" (if such a thing exists). I would get people who will feel like "rockstars" doing what they have to do.
I have a life
Tuesday, June 17, 2008
I wish instead of trying to get the best, companies would try to improve the rest. What passes for average is of pretty poor quality.

Tuesday, June 17, 2008
Yegge's prolix writing is a bit too tiring to read for me. And this rant seemed contrived around simply chopping up and rearranging a pretty good aphorism. Granted, sacred cows make the best hamburger, but if you're just going to make hamburger out of it, you lack ambition.
Tuesday, June 17, 2008
Steve Yegge is a bore and, well, just plain idiot.  I hate his writing and he just pulls BS from nowhere.  His comments go on and on with unsubstantiated and unnecessary, often out of whack, corralaries and way to many weak analogies.

Give me a break!
Tuesday, June 17, 2008
I've posted out here before about the goal of "not HAVING to hire the top programmers to be able to succeed". Instead, I believe that your product/business should be structured so that you CAN hire average developers and still succeed. I've seen so many poorly designed systems that require exceptional programmers just to keep from screwing everything up and that just seems wrong to me. I prefer to design software that the average programmer can be successful with. That doesn't mean that I wouldn't hire top developers. You need to have some (at least one) really good developer on staff at all times.

Of course I was chastised by the multitudes of Joel fan boys who listen to every word he says as if it were gospel. But that was to be expected.

And before another person trots out yet another comparison of my beliefs to those of McDonald's, please try not to be so darn binary. And before another person trots out the "you can't be Google with average developers" remember that there is only one Google. And you can still be extremely successful on a smaller scale without being Google.

Thanks for listening.
dood mcdoogle
Tuesday, June 17, 2008
+100 to dood mcdoogle.

Almost 10 years ago, when we grew from the two founders and started down the "We've gotta hire some employees" road, we took a left turn at "Hiring top 1% folks" and turned onto "Whatever we can get" street.

It would be nice to have top 1%ers -- but in the real world (particularly at that time: the hight of the dot-com era and the height of salaries) it simply can't be done and still be consistently profitable.

You've gotta structure your business such that it can survive, nay, *thrive* with just average ordinary folks. If you become dependent on the "elite" guys, you're screwed -- 'cause they're few and far between, they cost too darned much, and they often-times get bored and leave if you're not working on the bleeding edge ... and let's face it: the bulk of day-to-day work for most of us out there is still boring old line-of-business CRUD apps. Hardly a challenge for the top 1%.


That being said, we've modified our hiring procedures over the last decade and I feel comfortable in saying we've got all top-notch guys -- but we're all in the 15% to 20% notch. I don't believe a darned one of us (and I include myself in that category) would even make the top 10% and you're high if you think your entire staff can be in the 1% category.
Tuesday, June 17, 2008
1. Top 1% people do exist.
2. Top 1% people really are an order of magnitude more productive than average and ALSO hit the high notes that are what creates success. Example: Designer Jonathan Ive at Apple.
3. 99% of the people posting here and on the internet about how this is a myth or such can believe that and will never know otherwise because the chance that most of you have of working with a top 1% person, or attracting such to the lousy company you work at is zero percent.
Tuesday, June 17, 2008
Some years ago when I was a manager and we were hiring, we also took the 'whatever we find' road. We took care if the guy/gal would fit in the group.

HR took care of the smart part though, once they refused to hire someone whose intelligence was normal.
Jorge Diaz Tambley Send private email
Tuesday, June 17, 2008
Then that explains the reason Apple makes everyone else look bad. Jobs scares the crap out of anyone who isn't totally devoted to the "program" and they leave. Dedication and tenacity count a lot more for getting things done than that ambiguous description of smart.

In reality there are few savants, and even fewer of them end up in the perfect spot for their genius.
Eric Send private email
Tuesday, June 17, 2008
I think he had a point for the first half of the article, where he talks about how it's hard to recognize people who are smarter than you in the confines of an interview.

However, in the second part, where he's talking about all these "Done, and gets things Smart" people who are awesome, I fail to see the difference between these people and the ones Joel is after. These people seem to be the 1% everyone is talking about.
Tuesday, June 17, 2008
A good observation from Dood.

While I've always got things done and fixed pretty much any problem that's ever been thrown in my direction, I wouldn't ever class myself in the top 1% of developers - in fact I'd say I do better knowing there is plenty of stuff out there that I _don't_ know and recognising that that's the case. As long as I'm improving and the people around me are getting better all the time, that's the important thing.

For instance, the amount of small businesses or organisations out there who want affortable web design and consultancy is huge, and while you have to be a good solid developer to handle it properly, none of it requires anything remotely near the skill of this so called "1%". Anyway, it doesn't seem to be doing Brice Richard's career any harm either.

If I remember correctly from an earlier posting, Steve Yegge said pretty much the same thing when he was discussing whether candidates really really wanted to work at Amazon or Google or whether they were better off in a smaller organisation, without trying to sound condescending. You can still make plenty of moolah, you know.
Ritchie Swann Send private email
Tuesday, June 17, 2008
I tend to agree with Dood and Sausage as well but I throw out the whole idea of who is top %1, 10%, etc...

I simply hire people who can do the work I need them to do.  If they have the aptitude to grow beyond that, great, because I have a company that can do lots of things.

We, like the post above, don't go looking for or putting all our eggs into one basket either and by not doing so I think, at least for us, allows us to not worry if we have top 1%ers or not.
Tuesday, June 17, 2008
I think the point of the DGTS people is that they're the ones you need to seed the organization.  Not everyone in your organization needs to be the top 1%, but you want the ones at the top to be that way.  They're the ones that will mix and match the rest of the pieces. 

This is akin to the CEO that defines the culture of the company.  How many times have you seen a company, and you can tell what the CEO is like just from the culture and people that work there?  If you've got a mean CEO, you'll get an organization that is harsh and mean.  OTOH, if you've got a true leader, the organization will show a lot of those traits as well.

I like the Mythical Man Month analogy of the surgeon in the OR.  You only need 1 surgeon, but you need a host of support people (nurses, anesthesiologist, etc) to have a good SW team.  It's ok to have people who are only in the top 50%, but you need a good leader that can make them all work together.

For me, I like to grow an organization from the bottom up.  This is how you find your 1%.  You hire a bunch of guys with aptitude and potential, let them work for a year, and promote the ones that show promise.  The original blog is right; you need a bit of luck, or people who can recognize that talent.  But if you hire enough people and grow them in your organization, you'll eventually find one or two...
SPaik Send private email
Tuesday, June 17, 2008
DGTS and SGTD are not mutually exclusive in an enterprise (nor in a person).

It's clear to me that this is exactly why my department was so successful.  I brought the "done", "always be shipping" + exceptionally future-proof and righteous architectures mentality my mentor and I developed at another gig and we hired great people who could get on the train (and recognize it as a pretty nice train, even if they couldn't build one from scratch).  Some of those might have had the potential for being DGTS, but they were not the seeds, and were definitely SGTD.

Of course, this could all be the Dunning Kruger whatchamacallit...

I'm still not sure how you hire a DGTS person unless you've already worked with them before or you find a nascent one.

Now, please excuse me while I ship some more software...
Cade Roux Send private email
Tuesday, June 17, 2008
>>Top 1% people really are an order of magnitude more productive than average and ALSO hit the high notes that are what creates success. Example: Designer Jonathan Ive at Apple.<<

Call me crazy, but I think there's a difference between programmers and industrial designers.

And second, why do people keep bringing up Apple, and specifically this guy?  Regardless of product quality, it blows my mind that they're held up as the gold standard in design.  The iPod looks like an old-style hearing aid.  And why is white plastic so in vogue right now?

When I think of paragons of design, I think of IKEA, modern architecture, and Frank Lloyd Wright.  Apple?  Sorry, but I don't buy it.
Justice Walker
Tuesday, June 17, 2008
+1 Walker.

And as the old saying goes if you only hire the top 1% of people who apply to your company you still didn't hire the top1% of the professionals out there you just turned down all the same stinkers everyone else did.

@sgt "Whatever we can get" street"
 If you look through his history he has an article about "going ugly early"  sure it is about programming languages but that just reminded me of it.

Anyway were in either concept of SGTD DSTG does it say you must only hire the top 1%.  After all it is smart and gets things done not smartest and gets things donest.  All Steve is pointing out is the fact that SGTD hasn't changed something that is fundamentally broken.  A non SGTD HR person making first cut hiring decisions and the hour long job interview, where SGTD is almost impossible to measure.  So people fall into the trap of hiring based on self similar ness as an approximation of SGTD therefore you end up with bob clones not SGTD.
Tuesday, June 17, 2008
Hey, another Rock Star Programmer thread!

You won't believe that Rock Star Programmers actually exist until you hire one.  Then you won't believe how lucky you are.  When you ask the new guy to take a look at a problem that a team of people has been working on for six weeks, and he catches you in the hallway 3 days later to say "That was jsut the wrong approach.  I've solved the problem.  How do I set up a meeting with QA to go over what they need to do?", you'll realize you've stumbled into the top 1%.

If you're smart, you'll treat that guy appropriately for being 10x as productive as anyone else: assign people to do all of the slow drudge-work that everyone's equally slow at, and maximize his time in the "10x as productive" zone.  You'll thereby make him happy in ways that pay alone cannot, and maybe have a chance of retaining him for a few years.
Tuesday, June 17, 2008
"if you only hire the top 1% of people who apply to your company"

You take out an ad and wait for random people to apply? No wonder you are bogged down with lamers.

Here's a secret for you: recruitment.

If you need real talent at your company (very few established companies need this), then you will not find it by setting up a sign that says "Help Wanted Inquire Within". Do you really think that you find talent by advertising for it?

Tony Chang
Tuesday, June 17, 2008
"So I'm going to bring up the elephant in the room that no one wants to discuss.  That is 'hiring the lesser of the evils to get stuff done'."


I can't thank you enough for bringing this up.  More than once in my career as a manager (with 12 years of engineering prior) self anointed "genius" middle managers or founders without common sense have gotten in my way of hiring people to "get the job done" on schedule.  And it has always had a negative impact on the project at hand.

And yes Seal "Success and getting things done starts with the team NOT the individual."

I keep wondering if other fields are as full of pop-psycho-bull-self-aggrandizing garbage as high tech?
Tuesday, June 17, 2008
I think you have some of the same stupidity in law and in general MBAs that don't have a science or engineering background.

I say that as an engineer that went through a top 20 MBA program with a lot of these types of people :-)
Business is a Team Sport
Tuesday, June 17, 2008
I think the article is a long, boring rant made out of a couple half truths.

Of course it's hard to spot people smarter than you but there are methods that will let you do so. You can measure IQ of people with a higher IQ than yours. You can run a football team and buy the best players without being a good player yourself. You can be a chess fan and spot and analyze the games of the top chess players. In the same way, you can design a method to hire the best software engineers without being one of them yourself.
Daniel_DL Send private email
Wednesday, June 18, 2008
"you can design a method to hire the best software engineers without being one of them yourself"

...and the name of that method is...
Wednesday, June 18, 2008
And of course, of course:

- Not every software position is interesting and well paid enough for top 1% people.
- At the other positions, you can't aspire to have top 1% people, but you shouldn't try, either. Just hire good people, period.
- And what Skorj said. Select the most interesting and critical work for the smartest people, so that they find it interesting and you get the most value out of them. Also, don't be scared to pay, say, 5x to someone who is adding value at 10x.
Daniel_DL Send private email
Wednesday, June 18, 2008
> Select the most interesting and critical work for the
> smartest people, so that they find it interesting and
> you get the most value out of them. Also, don't be
> scared to pay, say, 5x to someone who is adding value at
> 10x.

No, don't do that. You don't want to deny the oppertunity for growth to all the others by assigning all cool and interesting projects to your "superstar". And definitely not pay him 5x to 10x, even if he's worth it, because it can only accomplish two things: (a) the superstar gets an overinflated sense of self worth, which will make him a pain to work with and (b) all the other employees will resent him when they find out (and they will).

Paying a mediocre engineer $60.000 and the one sitting next to him $460.000... that's going to result in some hurt feelings and lost productivity. How you can think this is a good idea is beyond me. I question your business sense.
Sniffing Glue
Wednesday, June 18, 2008
"...and the name of that method is..."

If I was working at SomeCompany and it was my job to design that process, I'd probably name it "SomeCompany's Hiring Process", or something similar.
Daniel_DL Send private email
Wednesday, June 18, 2008
Okay, you said 5x. Not 5x to 10x. But even a 5x time difference is going to upset people.
Sniffing Glue
Wednesday, June 18, 2008
"No, don't do that. You don't want to deny the oppertunity for growth to all the others by assigning all cool and interesting projects to your "superstar"."

Incidentally, if you hire a "superstar" in this context, it only makes sense if his or her job is to coach others. In general it wouldn't make sense to hire just one superstar and sit him on a desk with a "hard project" to do. In this environment, the most critical job is actually getting other people to work better. You can do that, if everybody's willing to learn. Otherwise, you're already doomed anyway.
Daniel_DL Send private email
Wednesday, June 18, 2008
Great programmer: somebody who can fix gcc segfaults during lunch hour. Not somebody who is great at patiently explaining what the difference between the stack and the heap is. Somebody who can fix impossible race conditions at the last minute, so your schedule doesn't slip and the customer won't walk out - that's the kind of person who can be worth his weight in gold.

Coaching others is useful, but the only thing you need for that is a more experienced programmer than the others. No way that warrants a 5x pay difference.
Sniffing Glue
Wednesday, June 18, 2008
God almighty, was the post linked to at the start of this thread meant to be an example of how you write when you've drunk enough vodka to kill a horse?

I'm not sure why the "long hiring process" of a few months contract or "probation" at the start of a job seems so revolutionary to some people. It's been standard operating procedure in the UK (and most of Europe IIRC) for as long as I can remember.
Rob Moir Send private email
Wednesday, June 18, 2008
In the end you've got to pay people for the value they give to your company.

Nobody needs to get upset at that. By the way, I've never known any coworker's salary.

I only need to compare my salary to what I see in other offers I might apply to.
Daniel_DL Send private email
Wednesday, June 18, 2008
You don't need to pay top 1% programmers even 5x, BTW.  Many studies have been done on this.  Once an engineer feels "well paid", additional salary has little retention benefit compared to interesting work, being listened to within the organization, and the freedom to "do things the right way".  2x a normal engineer with the same years of experience is fine.  (Often these guys already have enough money to retire.)

You can look to fellowship programs in larger, older engineering companies as a guide.  Typically, about 1% (coincidentally enough) of the engineers at a company like Boeing will be Technical Fellows, and paid about what VPs are paid (these fellows usually have 20-40 years experience).

And don't worry about resentment too much.  If someone really is 10x as productive, and you make 5 people 20% less productive by favoring him, you're still way ahead, plus other *good* eningeers will see how productive your rock star is, and not be too resentful.
Wednesday, June 18, 2008
Let's kill everyone except, the smartest, oh no, kill the smartest too, leave the brilliant and emulate Hitler! That would make companies like google and other so so much profitable.

That's what my thoughts were after reading that article. The pitfall of being smart/brilliant, that you lose the appreciation of being normal/average. The average person lives with the thougtht that he/she cannot become a smart person. It's all about the state of mind, except for a few genius.

In my opinion, it's just a matter of opportunity, responsibility and desire, and you can whip the crap out of all smarts.
Mr. Smith Send private email
Wednesday, June 18, 2008
One last thing, all this smart crap is all about money and goes back to paying the lowest salary possible.

Wednesday, June 18, 2008
"You don't need to pay top 1% programmers even 5x, BTW.  Many studies have been done on this.  Once an engineer feels "well paid", additional salary has little retention benefit compared to interesting work, being listened to within the organization, and the freedom to "do things the right way"."

Until an equally (or more) interesting company comes and pays him double. Then the person goes. But since he was contributing 5x, you're still losing money.
Daniel_DL Send private email
Thursday, June 19, 2008

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
Powered by FogBugz