Rates versus value

Why you should worry about value, not hourly rates. The difference between people in any field can be enormous. I have met janitors whose dedication and attention to detail made them easily worth two or three times what their co-workers were worth. I also once met a programmer who had a net negative value. If he was removed from a project, the remaining developers would get the job done sooner. He wasn't particularly difficult to work with, his code simply caused more problems than it solved.

Many years ago, I was hired to find and fix the bottlenecks in a system that was providing throughput at roughly 1/4 of the rate it was designed for. Among the many problems I discovered was a microcontroller which was providing incorrect information more than half the time. As it turned out, this failure was due the software being unable to complete its computations in the 6 millisecond maximum allowed time, so it gave a nonsensical result when it missed the deadline. An examination of the software showed that the code was unsalvageable and would need to be completely rewritten the software design was inherently incapable of delivering the required performance. This caused management a great deal of consternation as I was told it had taken two engineers nine months to create the code. When I informed them it would take less than a month to replace the code with working software, they were clearly skeptical. Four weeks later, the new software was delivered, performing the required computations more than ten times faster than the original code, delivering the correct answer in less than 600 microseconds every time. Clearly, the value I delivered was far greater than that of the original engineers, and while it's possible that I might have cost them as much per hour as the combined cost of the two employees who performed the original work, I was still 9 times more cost effective. More importantly, had I done the original work, they would have delivered the product sooner, saved the cost of coding it twice and had much happier customers when they first shipped the product.

In another incident, I had an initial one day meeting with a prospective customer, and made recommendations to help them improve their software development processes, and resolve a number of problems with their software. After some discussion, they declined hire me for the project as my rate was 25% higher than they were prepared to pay. A year later, they called me in to discuss another project, and in passing, showed me the project that I had previously discussed with them. I noted that they had implemented every recommendation that I had made, and had brought in three additional engineers to work on the project. Sadly, while they used all of my recommendations, I could not tell them everything I know in one day. After observing their improved processes, it was clear that with a few changes, they could have eliminated the need for two of the three additional engineers they had hired for the project. Clearly they could afford to hire me for the project, as I was far cheaper than the three engineers they hired, but their fixation on hourly rates rather than hourly value, caused them to waste an enormous amount of money hiring excess employees that they didn't actually need.

These are hardly the only Incidents like this that I have encountered, and based on conversations with other independent consultants is probably quite common. Despite this, choosing an independent contractor based almost entirely on hourly rate seems to be the normal case, with the result being that I have in many cases been the second or third contractor that a customer has hired to get the project done. While this does not hurt my business, it can cause prospective customers serious trouble due to missed delivery dates, and the expense of paying to develop or fix the same software multiple times.