In a recent post I made about installing Whidbey on the machine that “pays the bills”, Julia and Doug got into a discussion about development environments. If anyone out there reads Joel on Software, then you know the great case Joel makes for giving developers the best, fastest machines available. Unfortunately, this is not reality in most shops. I've heard many stories about developer’s working day in and day out on 15 inch monitors, or machines with 128 Megs of RAM. In my opinion, there is absolutely no reason for this! Giving a developer a crappy computer is like giving a carpenter a Fisher Price hammer, it’ll drive the nail in the wall but it will also drive the carpenter nuts and take way more time than it should.
So what is an acceptable hardware setup for writing code? Well, I don’t think there’s any hard and fast rules. Here at Turner, we do a pretty good job. Most developers have adequate/rockin’ hardware, depending on where they are at in the rotation (this is a subject for another post). Below is a list of the machines/environments I have, and I think this is the bare minimum for any developer in any organization:
- Primary Development Machine – my daily driver. This is the box I work on most of the day, every day… This machine must be fast (<2.4 ghz) have mucho RAM (< 1 gig), and it absolutely must have 2 monitors!
- Development Server – If you’re writing code that spans tiers, you should really have a dev server. No monitor necessary due to remote desktop…
- Beta Playground – If you are testing any beta software, you should have a machine dedicated to that (Longhorn box).
- Laptop – Developers should always have laptops. Here, most people’s primary development machine (see above), is a laptop. This is ok, so long as the laptop is a “desktop replacement” (in other words, no 1ghz laptops if that’s your primary machine)
So what’s the point of this long-winded post? I’d like to know the state of development hardware in other organizations. Is it better or worse than I described above? I hope its better, but I’m afraid it’s not!