on hardware.

by paul, on 08.20.2007

maybe I have just gotten a little unlucky in this regard, but most of the startups I've worked for and with have had very tight hardware budgets.This has never really made sense to me as a developer, and certainly doesn't make sense to me from a management/budgeting perspective. I have no idea what the budget is like at my current gig, but here's a real world, just happened to me today example of why I am perplexed by companies not spending a lot of money on hardware in their software engineering groups.

I was doing a build of our application on an older development box everyone uses, and it was taking between 3 and 5 minutes. not long enough to work on another project simultaneously, not short enough to avoid uncomfortable waits for completion. I remember that my boss told me about another, brand new with all the latest hardware server to use that might be coming online soon, so I check and it is up and no one else is on it. on the new box my build is down to 35 seconds!

if I can save 3 minutes per build, and I do 20 per day, then that's an hour a day in saved time. for a team of 5 developers that's 25 hours/week of people not waiting around for a build to finish. this example today is 11% of my day, and a significantly larger portion of the time I actually spend writing code.

I don't really want this to turn into a rant, but if you are going to pay a guy as much money as most developers get paid to write code, I can't understand why you wouldn't include the cost of having a new machine on his desk twice a year, and all the latest hardware in the development environment. hardware just keeps getting cheaper and faster, and yet at my last job I had the same computer for 2 years, and we had to battle for hardware constantly. just yesterday I spent 2 hours with a co worker on a problem we were having because of an outdated operating system, at my previous job the number of application servers in production dropped by half once we got new machines, and saved tons of time during deployment.