Next week I'm going to be giving a guest lecture at the University of
Michigan. My topic will be the game industry and software development
requirements to be part of it. But it got me thinking about other issues
involved in running a successful software company.
Probably the key, in my view, to having a successful company is retaining
good employees. It may seem obvious but let me get more specific: Everyone in
any industry knows that there are various kinds of people out there. Some
people, like Joel on Software, go
specifically for the "super stars". Stardock has its share of coding gods. I'd
put our top developers against the top developers at any company anywhere in
terms of knowledge and productivity.
But I don't want a shop full of "super stars". Or I should say, being a
coding god is only part of the story. I'll take a good software developer who is
loyal, easy to get along with, and reliable over a "super star" who is arrogant,
acts like a primo Dona, and flakey. And I bet those of you reading this
have run into your share of guys (they always seem to be guys) who think they
are god's gift to the world.
At our office, we have a term for the type of employee people should be
trying to keep. Code-name: Cari. In honor of the avatar of good, long term,
loyal, productive, self-starting, easy to get along with software developer.
She won't claim to be a coding god. But she also, day in and day out
delivers the goods. She wrote most of the lines of code in
Galactic Civilizations. It is people like
her that need to be representative of the average person at a successful
software company. If you can find a handful of unpretentious software gods,
which fortunately for us we have, that's great. But over the long run, retention
matters. Many of these super stars suffer wanderlust (and in my limited
experience end up screwed as they get older and their skills are too scattered
and their resume too all over the place). So it's often hard to keep those
super stars for various reasons. But the people who stay, they become an
invaluable asset over time because they know how things work at the company.
They know the procedures. They're in their groove.
Which is why, I think, the successful long term company that's larger than a
dozen or so people needs to make sure they have not just super stars but also
plenty of Cari's. It is the Cari's of the world that make software companies
successful over the long haul.