Couple of conclusions J. and I came to today after reading Joel Spolsky's "Guide to Guerilla Interviewing".

1. We've got way too many of the "Get things done"/"Not smart" people. These are folks who treat code like disposable parts, hacking around without thinking. "Anything to make it work" is the mantra for these people. Compentent programmers spend most of their time fixing the sublte (and not too sublte) errors that come from these people.

2. We have a few of the "Smart"/"Can't get things done" people, and they're magificent in their intellectual spendor, but infuriating to deal with on a project. I'm naturally this way, so I hold a soft spot for this type, but they *are* maddening to deal with on a constant basis.

3. We don't have any entry-level people coming up who can replace us, with one rather shining exception. The company isn't hiring the type of smart-yet-inexperienced folks you need to have for continuity and true brilliance. Think of it like a baseball team with no minor-league farm teams--the players at the top may be great right now, but where are you in 5 years? 10 years?

4. We have no way of dealing with problems #1 and #2. We want only the sharpest, ablest people working with us so that they're not a drain, and they're effective, but yet neither of us wants to march into our Manager's office and say "I want ____ fired"

I think this is a problem for all companies, really, and one reason why outsourcing is so attractive: The outsourced company deals with this issue and they can be as ruthless as necessary. Or, if they're too soft-hearted, they don't meet their deadlines, and you fire the whole company and hire another outsourcing firm.

This is yet another area where Google seems to have an advantage: They hire only the brightest, grow them into some beneficial role, and repeat as necessary.


Popular posts from this blog

Weird Software Engineering Proverbs

Things I Really Wish I Knew about LOVE

"Past it"? On (Maybe) Losing a Step