I know, I know: I haven’t posed in months, but this article at Joel Spolsky’s site inspired me… unfortunately it also made me hang my head with sadness…
Joel hit the nail on the head denouncing the “conventional wisdom” that says “the most important thing is reducing the cost of programmers.” I have certainly seen my fair share of failed attempts at commoditizing programmers.
I had one minor disagreement with Joel:
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.
While there’s certainly less glory working in the IT shop of a non-software company, Good developers are still important. No one would disagree that the reverse of Joel’s statement is true: poor programmers can still sink a business.
Lastly, I think there is a corollary to the statement:
Or, roughly speaking, if you try to skimp on programmers, you’ll make crappy software, and you won’t even save that much money.
If you don’t properly utilize the programmers you do have (i.e. overburdening them, mis-applying their skills, putting them in roles better suited for other people), you will “make crappy software”. Where, in this case, “make crappy software” means incurring undue costs either in development, maintenance or support. And I think this phenomena is much more common in a non-software company where developers usually just get lumped into “IT”.