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.
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?