Caught this intersting discussion that started with Joels post about Hitting the High Notes. This was followed up with a tale from "someone with experience" by Scott in his post. Quite interesting reading with valid points made on both sides, and as he has a tendency to do on occasions, Joel has ruffled a few feathers.
One rather interesting paragraph that caught my eye,
"Sadly, this doesn't really apply in non-product software development. Internal, in-house software is rarely important enough to justify hiring rock stars. Nobody hires Dolly Parton to sing at weddings. That's why the most satisfying careers, if you're a software developer, are at actual software companies, not doing IT for some bank."
Sorry Joel, but I think this is a pretty broad assumption on your part. Personally, having worked at a software company and a bank, I can say that I found it much more satisfying doing development work at the bank. We had hardware that was mirrored in each environment from Production, Testing, Quality Assuance and Development. No worrying about performance/setup issues in each of the environments. What worked in development, was pretty much guaranteed to work in each of the other environments. If we required additional development tools to achieve a solution, they were provided without too much fuss.
We also had quite a bit more stick to push back against the business analysts when they suggested some sort of screwy work-around. This is something that doesn't happen enough in my current role. Far too often we are forced into providing adhoc workarounds to allow the business to continue make profit. The assumption on the part of the business is that if it works then it doesn't matter how badly it's coded, or maintained (if it's maintained at all), or how good it looks. The important part for the business is that it works.