Developers should have the fastest hardware you can buy
04 Mar 2010I was fortunate enough to recently have my 3 year old MacBook Pro retired from service. A new and much faster one has appeared in its place.
Old Laptop (2.333ghz, 5400rpm HD, 3GB DDR2)
mvn clean install – 8-10 minutes depending on system load
mvn clean install -DskipTests – 4-5 minutes depending on system load
JBoss startup – 70-90 seconds depending on system load
IntelliJ Responsiveness – Slow
**
**
New Laptop (2.8ghz, 128GB SSD, 4GB DDR3)
mvn clean install – 3 – 4 minutes
mvn clean install -DskipTests – 70 seconds
JBoss startup – 32 seconds
IntelliJ Responsiveness – Blazing Fast
Night and day difference. I haven’t counted yet, but on average, I would anticipate doing probably between 8 and 12 build + deploys a day. A realistic estimate would put my daily build time savings around 30 minutes. And that’s discounting the morale and efficiency boost coming from not having to context switch every time the machine bogs down because something is running in the background.
I’m a developer and speed geek. I’m that guy who grew up with the 300A Celeron overclocked to 450mhz. I’m greatly annoyed with inefficiencies and constantly find myself tweaking aliases, just to get that 5 step build process down to one.
**
**
Fuzzy Math
Assuming a pie in the sky daily wage of $300 (to make the numbers easier), a 30 minute savings per day equates to $18.75. Multiply that by 250 days worked in a typical year (2000 hrs) and you’re looking at a theoretical productivity gain of over $4500.
I would argue that regardless of how efficient you think your programmers are today, you will always see positive benefits from ensuring they always have access to decent hardware and build environments.
Now take this new laptop. It cost under $3000 (apple premium). If laptops aren’t your thing, a desktop can be had probably half.
If you cannot justify spending $3000 per developer every 1.5years, at least consider upgrading core components. I don’t have numbers, but I’m guessing that a significant portion of the improvements I’m seeing were a result of the SSD.
Either way, if you value the time of your programmers, I don’t see how you can lose.
Time is money, and efficient programmers == happy programmers.