Budget for Hardware
I’ve just read this blog post that deals about the benefit of having the right hardware to work for developers. Quite often having or not having an SSD is not the real problem, because developers works with machine with low ram and slow disks and this is especially true for people working with laptop, that often uses 5.400 standard RPM disks.
It is difficult to understand how much minutes or hours per day a developer can save moving from an average speed hardware to a top speed hardware and without these numbers it is difficult to justify the expense of buying top speed hardware. On the opposite, if it is difficult to demonstrate thegain in productivity with fast hardware, it is quite simpler to demonstrate the lack of productivity with crappy hardware.
Developers are strange kind of workers, quite often they like their work and working with crappy hardware will make a developer sad and frustrated. I’ve seen people that must wait for minutes to do a Subversion updates and minutes to fully rebuild a solution just because they have 5.400 RPM disks and 2 GB of RAM. The first bad effect of having crappy hardware is creating frustration in developers and a frustrated employee usually is less productive.
If the developer should wait for 2 minutes to build the solution, he will tend to utilize that time to do other stuff, because watching compiler output for 2 minutes is not a viable option ;); but 2 minutes is not enough time to do anything useful, then the programmer will do something “not useful” like: facebook, twitter, or else. Usually it will end with the compiler finished working and the developer still occupied answering to twitter.
Another problem is losing the “context”, if you need to wait a long time waiting for your tool of choice to compile and test your modification you loose your stream of thought. This is especially true if you are fixing complex bug, or you are doing a complex task, if you spend long time waiting for the result, your mind start to thinking to other stuff and you lose your focus.
When you are used to crappy hardware, you start thinking that the company will never spend money even for useful tools, so you start to lose time reinventing the weel or doing work in the wrong way.
My suggestion is, if you are not convinced that you developer will really need Top Speed Hardware, please convince yourself that they need at least Average Speed Hardware, because the lack of productivity of a developer with low performing hardware is terrific.
But in the end I can confirm also that the gain of speed of having a top speed machine is worth the price and I strongly encourage to buy fast SSD for every developer and machine with at leash 8 GB of RAM and an i5 or i7 CPU, this will make your developers more productive and usually happier and not frustrated.