Underpowered machines chosen by a faceless Excel user are the bane of developers in corporate environments. How can we get them to understand that they are simply not qualified to make decisions about the tools that we need?
My late grandfather was a carpenter by trade and I grew up hearing stories of how he hand planed wooden floors during the great depression and we would drive twice over every bridge he built (himself apparently) until he stopped in his eighties. He never lost his knack and love for carpentry and lived in one house for over fifty years with the most well equipped and well organized workshop that I have ever seen. He built stuff for the neighbourhood and transferred skills to my dad, who landed up being a civil engineer and builder, and my uncle who is an orthopaedic surgeon (carpentry on people). I spent enough time with him to learn something about using large bench power tools and hand tools of the trade – I still sharpen tools before I use them, lay my plane on its side and a few other ‘wax on, wax off’ habits.
While studying I used to work with my dad’s construction business during holidays and became quite proficient at roofing, hanging doors, built-in cupboards, steel erection and a few other professional building skills. Because most work was on site, we had an array of hand power tools that irked my traditional grandfather but were necessary to get the job done – and we were proud of our collection. In my heyday I could hang fifteen doors in a day and used no less than five power tools (drill, screwdriver, circular saw, planer, router) to get the job done.
Every tool had a use and purpose; while as a DIYer these days I make use of one drill, at the time I had use of about five or six different types depending on the need. Most tools were of a high quality; we used products from Hilti (which most DIYers know for fastenings, not big power tools) and the Bosch Blue range (which are better and more rugged than their green DIY counterparts) and with them felt a sense of belonging to a guild that had trade secrets.
The tools that I use these days are somewhat different, they are a lot less manly and generally don’t require that you wear safety goggles. Most of them don’t scream, kick and cut with the same sense of satisfaction and danger as a 2KW angle grinder; at least in a literal sense (I am seldom able to wield Linux without a fear of personal injury). The tools that I use today have their professional variants, with the accompanying sneers at the amateurs and their Excel macros. They are expensive, complex, resource hungry and require years of skill, practice and sharpening to produce the desired results.
The nice thing about most of the tools that I use is that, like Bosch Blue power tools, they are only known to the trade. People who know what I am talking about when referring to, say ORMs, know enough to help me and those that don’t know what I am talking about will sign off without asking enough questions to show their blissful ignorance. There is, as always, one exception – and that is the tool, the laptop, that I am using right now.
One of the tools that I use is a Mac Air, and I love my Mac Air – especially that in Office 2011 there is now a corporate office suite that works. It is light, portable and powerful enough for the grind for web browsing, Word, Excel, Email and other tasks that I need to perform as a run-of-the-mill office worker. By any measure of professional tools, the Mac Air is underpowered (with only 2GB of RAM) but I don’t even try to use it as a professional development tool. I realise, however, that it is comparable to the level of tooling required by the person who makes decisions about the laptop I should use as a professional developer – and that is a problem.
I am embarrassed to admit that as a professional .NET developer, my official standard assigned machine is a wussy 4GB laptop running 32bit XP. Like many of my colleagues I have gone rogue and installed 64bit Windows 7 and have gone off the radar (and domain) as far as getting internal support is concerned. That isn’t really a problem as all developers are able to support their own machines better than a telephone help desk, thank you very much.
So I am stuck using a tool that some Excel user has deemed sufficient and has, in the power tool analogy, picked up from the bargain bin at Homebase.
If portability is required, .NET developers need a machine with 8GB RAM, Intel i5 or i7 and an SSD hard drive. Nothing less is acceptable. Personally I’m not a fan of big, heavy 19” laptops with fancy graphics cards and power supplies the size and weight of a brick, so I prefer to go lean 15” with basic graphics. If a developer is going to be sitting at the same desk for more than two months he or she needs, at a minimum 12GB of RAM and dual monitors on a desktop machine – there is no point in lugging around a laptop when a desktop can be used, and these days good developers can maintain more than one environment easily and can get the latest version of source code to work from home if needed.
There is little argument over this by developers, only frustration at the standard spec that they are provided with. A developer can lose half a day a week in productivity by using an underpowered machine. To help the Excel decision makers, I’ve included a small spreadsheet that does the maths.
…all this because developers should not spend £1500-£2000 on a decent machine. Apparently there are other costs associated with supporting non-standard equipment, tracking assets and a whole lot of accompanying excuses.
A good machine is more than just a luxury ,occasional use, tool of the trade; it is the base tool, is is the white van. Can you imagine your white van man being without his white van and trying to do work carting all of his tools on public transport?
Isn’t it time that people took our need for tools seriously?
Simon Munro
12 comments
Comments feed for this article
November 23, 2010 at 11:14 am
Luke Hayler
This is a great post Simon and I wholeheartedly agree! And for the first time in my working life I am at a company that believes in providing decent tools for the trade. I expect I am one of the lucky ones…
November 23, 2010 at 11:20 am
simonmunro
@luke You should mention where you work or are you trying to keep all the good luck to yourself? 😉
November 23, 2010 at 12:12 pm
James Saull
So what IS the best developer laptop? Should it have a WEI index minimum (imagine if you have to do WPF Silverlight dev too or a media rich site)? What max resolution should it be able to drive when hooked up to external monitors? Should it have built in 3G? Should it have built in webcam/mic for Cisco Umi or plain video conferencing with offshore teams?
Who makes this machine? Is it Dell? Lenovo? HP? Acer?
Feels like the Developer’s Bill of Rights needs to be updated!
November 23, 2010 at 12:17 pm
simonmunro
You have been thinking about this too much recently James :). How about a budget? “Here’s £2,500 – go get what you need”. I used to work at a small consulting company that did such a thing. The devs built machines like hardcore gamers, getting the best price/performance for their jobs – and it was great for morale.
November 23, 2010 at 2:06 pm
James Saull
One big advantage of having a common-ish spec in a team is interchangeable parts, bulk buying power and enterprise warranty etc. When my laptop motherboard died recently I was given a replica that I put my HDD into and I only had 5 mins downtime.
We don’t just work on one type of project so we need to have flexibility. I favour having built in 3G for actually being mobile. It must have a 1920×1080 screen and be able to drive a single external monitor of 2560 or two 1920 monitors.
The display should be bright and beautiful. If you spend 12+ hours per day looking at it, then it needs to be pleasing.
Has to be portable so no XBox power supplies.
Has to have several hours on battery.
Should be SSD based for high perf, low battery consumption and instant-on.
Should have videocam/mic built in for remote working but good collaboration. We have OCS and Telepresence here. Yay.
Have CUDA based video card so I can get ready for those EC2 GPU HPC workloads. (OK maybe I could live without that).
Maybe have HDMI out – increasingly displays (including projectors for pitches/demos/sprint reviews) have HDMI inputs.
eSata port? Is that the best way to connect to high perf external disk or should this be USB 3 now?
November 23, 2010 at 3:38 pm
simonmunro
I don’t care much for the common-ish spec. That is where all the problems start in the first place because it forces a standard that is frozen and therefore outdated. Besides a dev should be able to work directly on or maintain a VM of their projects which can be copied to another machine, get latest and you are off. Also, since they are so cheap (about 4 days of billing) you should be able to buy a new one every 6-9 months, so a standard spec is a fast moving target. To me the big deal is about giving devs the choice (ie. budget), my specs may differ from yours – I want memory, disk speed (SSD), processor and sharp resolution for a 15″ display. Mine must be portable rather than have all the goodies. I’d rather have a compact machine with a small SSD than a blue ray bay that I never use and a huge hard drive that I never want to full as I keep my crap on my home server. Although an external USB3 disk for VM’s would be occasionally useful. As mentioned in the post, if I need a big beefy machine for a few months (such as the RR project), I’d rather have it as a desktop.
November 23, 2010 at 2:12 pm
Marthinus
The idea of giving a budget and letting the SE build his own machine always works best. I would even consider putting in my own money on top of the company’s money to get that last extra GHz out of my machine.
Sadly only a few companies do this.
November 23, 2010 at 5:20 pm
James Saull
I suppose if all my data and apps were in the cloud then I wouldn’t care about the time taken to rebuild a machine with Windows, Office, Visual Studio, Acrobat reader etc. and not forgetting a billion gigabytes of windows updates… that was the big benefit of just popping my HDD into another host of similar spec.
So what types of companies allow the employee to go buy their preferred spec for a budget and what different issues do they fall in to?
November 23, 2010 at 5:34 pm
simonmunro
Progressive ones.
They have lots of other issues, but happier and more productive developers.
It depends if you feel if your most valuable resource is the developer or the offshore call centre.
November 25, 2010 at 5:56 pm
markm
totally agree about giving the right tools for the job, because we all perform similar but not quite identical roles…
Even if there was a limited pick list (to help make those bulk order savings) for which you could use to spend up to your allocated personal budget, it would be a step in the right direction!
And don’t get me started on corporate phones… Contracts might be restrictive but give us the tools we need… We have a load of inhouse, home grown WP7 and Android developers – why don’t we get a choice to get those types of devices?
Mark.
November 25, 2010 at 8:03 pm
simonmunro
Don’t mention the bulk savings, it is a red herring that is used by the bureaucrats to stonewall us. The cost cost of developers is time, not £50 on this or that hard drive. It’s like not allowing pilots to fly because you can’t get bulk savings on Top Gun sunglasses – let the frikkin pilots buy whatever sunglasses they want.
December 1, 2010 at 1:22 pm
Simon Munro on Professional Tools « The weird world of BI
[…] by christo.olivier on Nov.30, 2010, under Christo Olivier I thought I would share a blog post by Simon Munro which I thought was brilliant! https://simonmunro.com/2010/11/23/professional-tools/ […]