One of my biggest pet peeves is trying to efficiently complete development work on a slow machine. In my mind, trying to work quickly on a slow computer is like asking a marathon runner to wear snowshoes then demanding they WIN the marathon. What ensues, is painful for the runner, painful for all who watch, and reaching the end goal feels impossible – bottom line good equipment matters. However, many client’s overlook the relationship between getting stuff done and a slow machine, or they don’t care, or they can’t do anything about it.
Maybe they find it thrilling (in some sick way) to watch your soul fizzle away as you spend 300 minutes a day compiling your application (or running your tests). :)
In great organizations slow machines aren’t an issue. According to the The Programmer’s Bill of Rights: “Every programmer shall have a fast PC”, and from the Joel Test: “[Organizations should] use the best tools money can buy?” But reality is often a different beast, and in my experience you have to make the changes you want (or “be the change you want to see…” – Gandhi).
I’m sure in Silicon Valley, good computers would be mandatory for most organization, but I live in Canada – we suffer through black flies, mosquitoes, 8 months of winter, and organizations with poor resources. :) Did you know that Canada’s population is roughly equivalent to the population of the state of California alone!?
Anyhow, I started working from home full-time this year – up to this point most of my work has been done onsite using whatever machine the client provided (some with outdated hardware). My home desktop was a six year old PC that would make Frankenstein look sexy – it was a collection of old and new parts. I needed a new computer.
I based my specs on Jeff Atwood’s and Scott Hanselman’s specs for the Ultimate Developer Rig. The machine turned out to be economical, the prices have come down significantly since the initial post was published, and to top it all off, I was able to chop shop my old machine and sell every single part through eBay and Kijiji – for a surprisingly decent price too (who would have thought a 6 year old Sound blaster Audigy would sell for $50?).
Contrasting my setups:
|Processors||Two 32bit AMD MP 1.2GHz||Quad Core 64bit 2.4GHz|
|RAM||3.5 GB||8 GB|
|Monitor(s)||A single 17″||Two 22″ Samsung SyncMaster 226BWs|
|Personal Pain Points||Excruciatingly painful||Occasionally painful (only Vista induced)|
Working on my new machine is enjoyable. I find myself more productive without being distracted by the frustration of a slow machine, and having dual monitors also contributes to my productivity (Does More Than One Monitor Improve Productivity?). My favourite parts of the new setup are the monitors, the Ergotron stand, the speed, and the case. You really get what you pay for with LCD monitors, the SyncMasters are easy on the eyes when compared to my old economic Acer, and the case is dead silent.
In the future, if I’m provided with a substandard PC, you can expect to see me hauling my new machine into the office. :)
Take a look at my old desktop setup in my older post: Something About the Cobbler’s Children Having No Shoes
Have you ever had to use an outdated machine as a developer? How does working on a slow machine effect your work? What are your thoughts on taking matters into your own hand (like purchasing your own computer to replace the slow one at work)? Have you ever installed additional resources in the computer you use at work?