The Development Abstraction Layer
Joel just made a post that discusses the business issues involved in runing a software business. The basic idea is that you need a development abstraction layer. That is to say, the entire company’s purpose is to make it appear to the programmer that they build code directly for the end user. Of course this is not true, and there are many many other things that need to go on as well. I find this notion entirely depressing. It means that the dream of the lone wolf programmer (or programmer team) who makes a great product and sells it is nearly impossible.
He talks about a lot of different kinds of companies and why they fail to meet this model and thus have problems. The one encouraging thing is that he actually does provide a positive model for making this succeed.
But still, being an independent developer I find the whole thing quite depressing.
(n.b. this works for engineers as well. Some people might recognize their own company described in the “failure to make the development abstraction layer” hall of shame. John I’m talking to you.)