Ahh, Joel. You are a unending fountain of good quotes!
A programmer is most productive with a quiet private office, a great computer, unlimited beverages, an ambient temperature between 68 and 72 degrees (F), no glare on the screen, a chair that's so comfortable you don't feel it, an administrator that brings them their mail and orders manuals and books, a system administrator who makes the Internet as available as oxygen, a tester to find the bugs they just can't see, a graphic designer to make their screens beautiful, a team of marketing people to make the masses want their products, a team of sales people to make sure the masses can get these products, 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, and about a dozen other support and administrative functions which, in a typical company, add up to about 80% of the payroll. It is not a coincidence that the Roman army had a ratio of four servants for every soldier. This was not decadence. Modern armies probably run 7:1.
I think this quote brings out two interesting points that are a little bit at odds with each other.
1) The rest of the company lives to serve the programmer’s needs so that he can put out a good product.
2) The programmer cannot exist in a vacuum and needs the rest of the company to support him or it doesn’t matter what kind of product he puts out.
So how to reconcile these two points? Well, it comes when both sides recognize each other’s roles. Each had different and important roles in the success of a software company. I think the important point though is that in the scenario presented by Joel is that everyone is working together on the software, to improve the software, to give the programmers the tools and information that they need to create a delightful experience for the end user.