Job Abstraction Layer

I usually love reading Joel Sposky’s stuff.  His insights into the software business are usually right on.  But I have a few problems with his recent article, The Development Abstraction Layer.

The premise of his article is that software developers create products, and it’s the job of the development management to make the developer’s lives easy so they can create good products and not worry about network connectivity or broken chairs.

But man, software developers don’t need their god complex made any worse than it already is.

Two points.

First, developers don’t make successful products, companies make successful products.  In a company with more than a handful of employees, the software developers usually aren’t the creative ones, they’re just a part of the machine.  They have a role to play, and it’s an important one, but I’m not convinced that it’s the most important. 

A company with strong engineering but weak QA, Marketing, Sales or even Accounting, isn’t likely to succeed, especially in the face of competition. 

It’s a bit like a symphony:  It doesn’t matter how strong the strings are if the horns can’t keep time. 

Joel’s article basically tells the strings that the job of the conductor is to make them happy.  While that may be true, it’s only part of the picture.  The job of the conductor is to make the people who pay his salary happy.  Making the strings happy is part of that job.  So is making the audience happy, which is what motivates him to do his job well.

So my first point is that we shouldn’t be putting the developers on some sort of pedestal. 

Bringing me to my second point, which is that the job of management is provide that abstraction layer for every employee, not just for developers. 

It doesn’t matter what you do, if you have to deal with things that other than what it is you’re supposed to be doing, you’re less productive than you could be. 

Even if you work in the mail room delivering mail, if your chair is broken and you spend half the day fixing it, you’re not doing a good job of delivering mail.

Joel’s essay is saying that we should keep developers happy so they do good work.  I’m saying we should keep every employee happy so they all do good work.