Update: I wrote a related post called Kitchen knives (and other tools).
Last week I tweeted “Just try to tell a construction worker to use a cheap plastic drill because a hilti is too expensive.” - A statement that I shamelessly stole from a co-worker. To most people I know, the idea of professional construction workers using cheap, crappy tools seems hilarious. But what about software developers? Well…
When I tell people that I use an expensive mouse and keyboard, or that I bought a mobile workstation for 5x the price of a cheap laptop, or that I have a really cool office chair, I often hear something like “Whoa! Why do you waste your money like that?”
Good tools are (sometimes) expensive. [*] But they are always worth it. Working with bad tools is not only inefficient, it is also frustrating. And frustration kills productivity.
I hear these comments about wasting money even in our own industry - from fellow programmers and from my customers! I worked for several customers where it was not possible to get a second monitor. One customer wouldn’t even let me bring my own. I never had a good mouse or keyboard when I had to work on computers provided by my customers. And don’t get me started about office chairs…
Of course I could use the cheap keyboard and mouse that came with my computer. And I could sit on a chair from Ikea. I could work on a $500 laptop. I could use the built-in profiler of Visual Studio or Java. The construction worker could drill holes with the $50 drill from the discount store.
But: I use these things 8 hours a day - or longer. I want them to feel right. I don’t want my hand to hurt after using a cheap mouse for a day. Good tools allow me to do my work more efficiently. And for some kinds of problems the cheap tools won’t work at all or take way too long.
Good tools are (sometimes) expensive. [*] But they are always worth it.
Read more about how software architecture, design and tools impact your agility in my book “Quick Glance At: Agile Anti-Patterns”: Buy it now!
You might be also interested in:
- Money is Time and Other Tips for Freelancers: You need to change how you think about money when you want to run a business.
- What is an estimate, anyway?:An introductory blog post about estimating development effort.
- Quick Glance At: Simple Design: A series about simple software design.
- Improve your Agile Practices: A FREE course that teaches you how you can improve as a software development team