Programmers as Commodities

The answer is \~1.4X. Martin Paulo says it perfectly: "software developers are seen as interchangeable units, with actual hourly cost being the prime driver. The quality of the resultant code, it's correctness and the time taken to deliver it are all intangibles that are left out of the equation. And the time taken to learn the code to be worked on is never, ever, factored into the equation. People out there simply don't understand software, but do understand hourly rates." James Robertson \<a href="http://www.cincomsmalltalk.com/blog/blogView%3fshowComments%3dtrue%26entry%3d3333613860"" target="_blank" rel="noopener noreferrer">says that I missed his point, that "Smalltalk is simple, and thus easier to pick up. A system built by 2 people probably has fewer areas of oddness than one built by 10." I agree with both those points (with the caveat that "easier to pick up" is in the eyes of the beholder. I am not one of those who believes that there's a universal mental "fit" for programming languages). But I think James misses my point, which is not, I think, that Gary tried to extort the company by attempting to charge more, but rather that Gary had demonstrated something that programmers and experienced managers know: that software development productivity varies greatly (an order of magnitude, the studies tell us) and that Gary, in at least this one situation, seemed clearly more capable than a commodity programmer. Metaphorically, having hit a home-run, free agent Gary expected to make more money next season. Yet that's not how the market plays out (at least in this case and, in my experience, this was more typical than not).

Somewhat tangentially, this raises the interesting issue of being an independent versus working for a consulting firm. It's not unusual for a big consulting firm to charge \\(200-\\)300 / hour for a moderately experienced developer (I'm sure those 200 programmers that SAIC had doing make-work on the \$170M FBI project were in that range). The actual programmers make well under a quarter of that and there's always a Kabuki dance at the end of the month where the client knocks down the bill 10-20% (and thus looks tough to the next layer of management). And big consulting firms actively conspire to increase the client's long-term reliance on the consulting firm.

I was once brought in to a Fortune 500 company in the middle of a software disaster. It was classic: 40 consultant programmers billing out at up to \$400 / hour, 3 project managers, and just absolute paralysis. My recommendation, that they could finish the project in four months if they fired all but 5 programmers and 1 manager, fell on deaf ears. Six months and several million dollars later, they scrapped the project.

This is one of the reasons why surveys of average (or even median) software development costs fail to capture important dynamics of the market: the economics are entirely different for in-house development, independent contractor (generally with a smaller client company) and developing with a big consulting firm (generally with a bigger company). The big consulting firms would have you believe that the types of work they do are so much more complex and distributed and so forth that it justifies their costs. That's a load of crap.