Code Geeks vs Stuff Geeks
I’ve realized that developers exist on a spectrum between code geeks and stuff geeks. Code geeks are those who really enjoy the elegance and challenge of creating new bits of code (plugins, frameworks, entire languages, etc). Stuff geeks are those who enjoy the fulfillment of building final products that they can ‘touch’ and show off. Understanding where on this spectrum your teammates sit (and balancing your team around it) can dramatically improve your output.
The extreme code geeks on your team enjoy the act of creating amazing code for the sake of the code. They may build awesome apps but only as a side effect. Give them a simple requirement and they’ll build you a new Lisp. It will be amazing and nobody else on your team will understand it. If they aren’t focused then their attention may wander off after the hard problems are solved but before the feature is finished.
Overengineering at its finest
More moderate code geeks are responsible for most of the cool frameworks we use. They like to build tools but do it in the context of business problems. Their code may not be as elegant but it will actually do things. These code geeks will add a new pattern to your project rather than a new language.
Moderate stuff geeks love to use frameworks and tools to create end products. They take pride in their code but ultimately see code as a means to an end. They will create a new library if necessary but would love to use an existing one if it’s good enough.
|Good enough, ship it!|
Extreme stuff geeks will ship your project before you know you needed it by duct taping a bunch of hacks together. Code elegance to them is like abstract modern art to my kitten. They may see it but it has no emotional impact.
A healthy team will have developers spread out over this spectrum with the majority somewhere in the middle. A hardcore code geek will need to work with a couple stuff geeks who keep him or her focused on building stuff that’s useful to the team. An extreme stuff geek may make a great prototyper but is going to need a lot of help to not build spaghetti.
The developer sweet spot
A team made up of only people in the the middle may be lacking a certain brilliance or not have the ability to rough out a prototype in 10 minutes. You’re team may be pretty solid but only reach 90% of its potential.
Me? I’m a stuff geek but pretty close to the middle. How about you?