I recently bought a new steam iron. I’ve been wearing more business shirts to work lately, which resulted in an increased number of creased shirts every wash. I have a working steam iron and I only bought the new one because it was heavily discounted. My usual philosophy is to use a piece of equipment until it breaks before getting a replacement, but I had a niggling feeling that I needed it.
Boy, was I right! My original steam iron was a small Warehouse Necessities iron (entry-level home-brand from a big box store, for you non-Kiwi readers). It worked, but not very well. The surface area was small, it didn’t get very hot, and it would drip before it steamed. It was also cheap. The purchase made sense when I got it because I wasn’t wearing that many shirts and I had tight finances.
My requirements have changed seven years later. I always thought some of my shirts were permanently wrinkled. It turned out I just had a crap iron. This experience reminded me that you should always invest in the best tools you can afford. This advice is even truer for software developers.
I’ve come across places that are reluctant to purchase software licenses for developer tools like ReSharper. Instead, the developers scrap together free tools that do sort of the same thing. For example, CodeMaid is a free Visual Studio plugin that has a subset of ReSharper’s cleanup functions. CodeMaid is pretty good if that’s all you can afford, but most commercial developers who have used ReSharper will loathe to go without.
The fact is, ReSharper may not appear ‘cheap’ at $299 per license per year, but it’s only 5% of a junior developer’s annual salary of $60,000 per year. The productivity increase that a good tool provides will surely offset the license cost. So, invest in the best tools you can afford!
There are a couple of caveats to my advice.
First, you can bring the horse to water but you can’t make it drink. Some developers have a prescribed way of working and no fancy tool is going to change them. In that case, giving them a better tool will just be a waste since it’s not used.
Second, and this is for developers, we have to do a better job in highlighting the ROI of a particular tool. We cannot assume that our managers see the same benefits, since they operate at a macro level, so we have to run our own calculations and forecast the return on investment. A common approach is to measure potential time savings with and without the tool. Time is money, after all.