Developers are the destroyers of hardware

I've had a few discussions with some of my colleagues and friends in software development, and one of the things we all agree on is that there is nothing worse than a slow development environment.  A lot of us work with IDEs, some need to compile their code, some just have a lot of things open at once.  Either way, when a machine grinds to a halt, we want to throw it out of the window and get a new one.  Ok, we will accept that sometimes it's our fault.  A typo somewhere can cause an infinite loop, and we only have our selves to blame.  Bug usually it's down to hardware.

After further discussion, we're all fairly certain it's because some areas of management think that programming is the same as typing, and therefore whatever is cheap and on offer will suffice.  Unfortunately, those who think this way also tend to be the ones who are in charge of the equipment budget.  It amazes us how people can pay tens of thousands a year for a developer, but not be willing to pay close to a month's pay for said developer for their equipment.  Equipment which will last at least 3 years (generally) and keep productivity high because of machine performance and a lack of waiting around.

If we pay an entry level developer 24k a year* (UK salary), that's £2,000 a month.  If you give that person a £400-500 entry level laptop (looking at core i3, 6-8GB RAM and a 5400 RPM hdd) they aren't going to be able to load the tools they need quick enough to get started early, and then things will grind to a halt as a combination of IDE, OS, database, web browsers and other tools run in order to get the job done all try to get CPU usage and disk access.

If they had, say, a £1200 laptop with an i7 processor, 12-16GB RAM, a solid state drive to load things quickly and a separate drive for data; I'd be amazed if they saw a slow down in a long time (I say that currently writing from a personal machine with similar spec which is 18 months old and never hiccuped at anything running).  Add to that cost an additional monitor or two (max of £300 for the two monitors in full HD) and a good keyboard and mouse, you're still well under the 2k you pay them a month.  We'll round things up to £1800 on equipment for them (licences for tools may increase costs).  That works out to £600 a year for 3 years, or £50 a month.  Are developers really not worth that when you're a software company?

Okay, cash flow might be tight and that might not be affordable.  But in those instances, you should still be looking to get the best tools you can afford.  One of Joel Spolsky's 12 steps to better code is to have the best tools money can buy.  I'll modify that to the best tools you can afford.  There's a quote in the article as follows:

To add to all this... programmers are easily bribed by giving them the coolest, latest stuff. This is a far cheaper way to get them to work for you than actually paying competitive salaries!

It's not strictly true.  Everyone wants to be paid a fair amount for the job they do, but if I was told that next year there would be no pay rises as the company are looking to get all developers some high-end machines to make their lives easier, I'd take that trade off.  And I'd take that every 3-4 years to keep the equipment up to date and working so my job is made easier.  Developers do like shiny fancy equipment, there's no denying that.  We also hate waiting around for things to load and run because we like doing stuff.  Sitting round isn't doing stuff.

In the end, we can either be paid more each year for sitting around doing nothing, or paid the same as last year to do more work because we have fast hardware and software.  I think I know which I would prefer if I was a manager.

* found on reed.co.uk, a a good selection of junior developers with salaries up to 25k, and some higher than that.