After all, even when you pay them as little as you can get away with, they’re still earning considerably more than almost everyone else in the organisation. Why on earth would you choose to pay $100K for a Java developer when you know that you will still get applicants if you pitch the job at $65? And God alone knows why anyone would hire a contractor. A really good Java architect can demand anywhere between $150 and $200 per hour, even in these lean times.
Let me explain the difference between a $65K-a-year Java programmer (who we’ll call Maurine), and a $150-an-hour Java programmer, using myself as an example of the latter.
Scott Ambler wrote to me last week asking if I’d care to review his latest book (A Practical Guide to Enterprise Architecture). Maurine hasn’t heard of Scott Ambler. Kent Beck said that I’m more extreme than he is; Maurine hasn’t heard of Kent Beck either.
Last year I presented papers at three international conferences and presented XP (extreme programming) to a number of local industry groups; Maurine doesn’t go to conferences because they’re too academic.
I can effectively communicate technical information to both large and small groups of people no matter what their level of sophistication; Maurine doesn’t like speaking to groups of people, preferring to work alone whenever possible.
I program most efficiently in Java, but I’m also proficient at C#, ASP.NET, Visual Basic, Perl, C++ and a whole bunch of others; Maurine knows the core Java language. I teach Java to enterprise architects at large corporations; Maurine has a basic certificate in Java.
This isn’t meant to be an advertisement for my services; I’m already gainfully employed as a consultant. I know half a dozen other people with similar skills and CVs who rightfully charge as much, and sometimes more, than I do. One or two of them are even a little less crazy than me.
Now I’m not trying to pick on less able programmers who are willing to sell themselves out for a pittance, and I’m not trying to relive the halcyon days of the dot-com boom. Nor am I trying to say that everyone who charges high rates is great, and everyone who charges low rates isn’t. But in my experience at least, the majority of people who charge a lot are worth it, and the majority of people who don’t aren’t worth the pittance they do charge.
Less expensive developers are often incapable of producing high-quality work, and are largely responsible for software with a high total cost of ownership and high development costs. Most of these people haven’t even heard of TCO or ROI. More expensive developers aren’t only aware of these concepts; they’re constantly striving to reduce costs, both current and future, by developing high-quality software.
A couple of years ago a company I was helping bid for some overseas work asked if I could put together a team of 100 Java developers. I said yes, but I’d rather take a fifth of the money and put together a team of 10 excellent Java developers. They would be more manageable and would produce better software faster.
Software development is one of the most expensive and risky things an organisation can choose to invest in. Taking this investment and putting it in the hands of a bunch of halfwits is not a wise thing to do. Fill your teams with the cream of the crop: you’ll have fewer people than you think you need, and they’ll cost you more than you’d like, but your chance of success will increase and your total costs will be reduced. Inexpensive software developers are a solution to a short-term problem that will end up costing a lot more than you think.