Tales about Aviation, Coaching, Farming, Software Development

The connection between accounting and sub-standard tools for developers

First of all I have to say that I'm really surprised by the feedback I'm getting. The post What's wrong with software development in large corporations has been the most read post on my blog ever. More than 3,000 people read it on the first day alone.

The other night when I wrote the post I could have gone on for a while. I didn't because it would have been far too much. So allow me to add a few things in this second installment.

Electricians with only a screwdriver and no other tools

Would you accept an electrician who shows up at your house with only a screwdriver in his hand? You probably expect such a professional to carry a number of specialized tools, some basic material and other things needed to perform the work - wouldn't you?

Well, I can report that one and a half year back we had exactly that happen to us in Panama City, Panama. We had some very strange things going on with the electric installation in our rental apartment (current on wires that should have none) and the administrator of the building called an electrician. After a three hours wait a man in his fourties arrived by taxi and from his bulky pants he pulled a single big screwdriver as his only tool. He then started to loosen and tighten some screws holding wires in place and never managed to solved the problem. I had the opportunity to see for myself a good part of the building's electrical wiring and I have to say that it looked to me as it were at least 50 years old. You can imagine that I was quite surprised when they told me the installation were only 10 years old. The explanation was that, yes, the materials used were taken from another building that has been torn down.

Now you might say that you can understand that because it's Latin America, Panama were a third-world country, etc. I'm willing to accept that - to a certain extent.

The connection between accounting and sub-standard tools for developers

But how do you explain why companies of any size let software developers work with inadequate equipment? By inadequate I mean slow CPU, few memory and a small screen. Some would probably say that I'm a big sucker for screen real estate as I had a 21" monitor on my desk back in 1995. But on the other hand I always paid the same amount for my computers through all the years. There is this saying that a software developers needs a new system every year and a half and see that exactly corresponds to Moore's law. Every 18 months you get twice the power or can get the same for half the price.

Software development is expensive and it takes a while to get it right. The professionals who possess the knowledge and long-term experience charge a premium and to me it doesn't make sense to save a few Dollars or Euros on equipment. I don't want to start talking about salaries here, but I think it's safe to say that a high-end, state of the art workstation with the biggest screen you can get is still far less than a month's salary. The question is why do so many companies hire expensive developers or pay expensive consultants just to slow them down artificially by letting them work on 15" laptops with a locked-down Windows XP and as little as 512 MB of memory? With that kind of system you start eg. Eclipse and Firefox to try out the webapp you are supposed to develop and then have to plan ahead of time where you are going to click ... Could be seen as some elaborate form of torture ;-)

Looking a bit deeper one will find that budget constraints are usually to blame for that kind of nonsense. The project gets funded out of one department's budget and the hardware is usually already there or provided by a central services department. And the services department usually charges an outragous amount - although it's kind of a fictious charge, as it is only ledger adjustments - for sub-standard hardware. So it's not that the company doesn't have the money. It is simply not available where it should be.

But that is only one part of the equation. In some cases one may want to ask why a department that is charged with software development doesn't have adequate hardware at all in the first place. I can't tell for sure how the taxation rules in the US are with regard to this, but in Germany the problem has always been that companies can only deduct expenses for new computers over a three years term. I remember it being five years and that has been reduced after a lot of controversy.

Actually it should not matter much how the taxation works. Software development is a big investment, the professionals doing it should be supported by the best tools money can buy in order to create the best software possible for the company they work for. So in the end it comes down to a leadership issue.

There are companies that get it

There are some companies that really get it. For example Matt Raible reports that LinkedIn is giving even contractors new MacBook Pros for their work and other companies buy their developers Macs with 30" screens at the workplace and at home. That truly expressed how they value and appreciate the work these highly skilled individuals are doing for them. Should be common but sadly it isn't.