I'm an incredibly big Joel fan, and I think this essay is really well written. But I find something patronizing about this approach, and I have seen in my work with startups that it can lead to disaster, even though I have seen it work in big companies.
Startups are inherently chaotic; we often don't even know what problem we're trying to solve. By shielding developers from this chaos, we can make them more "productive" but are they really contributing to the company's success? I'm not sure they are.
I'd rather enlist the creativity and original thinking of my developers to help find new insights about what customers really want. (Naturally, buying chairs and moving desks is not in this category.)
I've written more about this, so I guess I should just link and be quiet. Thanks for listening.
Agreed. But I don't think he's really advocating shielding programmers completely from the sales process, or from customers.
He does say:
some patient tech support saints who help customers get the product working and help the programmers understand what problems are generating the tech support calls
I think it's nice to shield developers from the chaos of the air conditioner installations, but feedback based product development is definitely something they should get involved with.
It's harder with startups, of course, because if you have limited cash, you can only hire a limited number of people and those people then have to do everything. Not sure how FC (and even 37s) handled this when they were small (in revenue) and couldn't just hire support staff to create this development abstraction layer. I think just dumb luck had a lot to do with it, though.
In a startup, there's no one trying to shield developers from nothing, because developers are all there is. There are no more employees and developers do all the "other" work besides developing. If there is someone to daycare developers, then the startup has probably already figured out what problem they are trying to solve.
Startups are inherently chaotic; we often don't even know what problem we're trying to solve. By shielding developers from this chaos, we can make them more "productive" but are they really contributing to the company's success? I'm not sure they are.
I'd rather enlist the creativity and original thinking of my developers to help find new insights about what customers really want. (Naturally, buying chairs and moving desks is not in this category.)
I've written more about this, so I guess I should just link and be quiet. Thanks for listening.
http://startuplessonslearned.blogspot.com/2009/04/built-to-l...