Wednesday, April 12, 2006

Reclusive, Hungry, Lazy, and Cheap Software Engineers Wanted

Hiring great engineers flies in the face of conventional wisdom. Many great engineers are available simply because they interview poorly by standards set by HR. HR and sororities have a lot in common. Both of them fit poorly with Engineers. I've been watching good and bad Engineers for a while and here are a few tips to find some gems.

Software Engineers should have the trade skills to do the job, but when it comes to the soft stuff, this is what matters.

1. Don't look for team work skills. If they can simply pass the airplane test, that's good enough. Meaning they won't annoy the crap out of you and everyone else. The key here is to find engineers with No Friends and that don't like people. The fewer friends is a good sign they spend more time at work.

2. Money and Engineers. Great Engineers save money and are frugal. The money they spend on extra stuff isn't on clothes unless it's a Bluetooth watch with GPS, but they don't buy the latest computers. They salvage, upgrade, and have a large war case of random computer parts. Give a strike to anyone that shows up in a designer suit for an interview, and a smile to anyone with mismatched socks. A key interview question for a developer is to ask them about their saving habits. Engineers that save are good and Engineers that know about the latest processors, but own a five year old PC at home are good as well.

3. Look for laziness. From my experience, the lazier the engineer the better. They do things like automate the build process and instrument it with tests that validate it. They don't like to spend effort on broken things or waste time. They build systems to import test data and automate the build out of development machines. They automate the stuff that has to be done more than one time. They frown on extra effort.

4. Have a passion for food. It doesn't matter if they show up at 11 AM and then eat at 11:30 AM. They eat at non traditional times because they are lazy (don't like waiting in lines) and don't like people (crowds bother them). The lunch hour will be their key hour of meeting for the day. They will congregate as a small group and talk just enough to figure out what they should be doing or if there is another dependency. *Side tip: Good managers know who eats together and places them on the same projects.


Anonymous said...

Sounds like me. Want a lazy, cheap and hungry programmer?;)

Anonymous said...

Good engineers know how to count to five.

Anonymous said...

He was obviously doing a play on Monty Python's Quest for the Holy Grail.

Anonymous said...

Man, this guy is just talking about me.