In a recent post, JimmyBogard goes on the offensive and asks why are we, as developers so cheap when it comes to buying  tools for software development?

Jimmy points out as soon as a dev wants to use a productivity tool, the requisition department seems to kick in and find a reason why not to spend money on it. Sometimes that department is the developers LHS of their brain kicking in, other times it's a whole team of accountants waving their bottom lines at the dev team in dismay.

I’m going to defend my frugality. And the LHS of my brain. I’m not cheap, I just have a low tolerance for frustration, am lazy & dumb, and have a surplus of free stuff availabletome. Like many others, I’ve also been burned by snake oil merchants more times than I care to remember. If that makes me cheap then chuck me in the deep fryer and throw me to the capitalists.

Alfred E Neuman on the face of a US three dollar bill

Jimmy is completely correct though, the issue lies with the people who set the budgets for tooling. Their job is to save the company money on paper, so when asked for a fancy diff tool, they automatically extrapolate that cost over every desktop and come up with some scary figure.

I think this could represent the incorrect approach. Give each developer control over the tools they are going to need to automate their daily work. They are as power tools are to a tradesperson. Each developer will need different tools. Let them sort out the overlap and find the bulk deals if they exist.

I’ll tell you what I consider cheap:

  1. Employers who expect developers to ‘just do it’. Serious development requires serious power tools.
  2. Employers who don’t allow developers to augment their own tool set. ‘You will use the standard toolkit and NOT deviate from it.’
  3. Developers who think that their employers should fork out for every tool that their heart desires.

I know point three is going to put some noses out of joint. I don’t care. I’ve long been a believer that a developer should be in charge of their own toolkit. In a very real sense, this means you are in charge of your own productivity. I also believe that a developer should be given a regular tool allowance by their
employer. Tools break or become obsolete; they need replacing or upgrading. The best person to decide when and what, is the developer.

Finally, in the case of a dispute, a developer should be encouraged to buy the tool of their dreams, and upon proving its worth to the employer, be reimbursed. Oh…and besides all that…. I don’t personally see what’s wrong with being cheap anyhow ;)