Where Are The Developer Machines?
Date Published: 06 April 2009
I'm really tired of the fact that computer manufacturers in general have yet to recognize developers as a separate demographic. If you do a search for "developer workstation" in Google, there are no links to any computer manufacturer on the first page (sponsored or otherwise).
Search for "gaming computer" and suddenly there are all kinds of links:
And no, Live Search isn't any better:
Search for “developer laptop” and at least Toshiba gets in the game with some sponsored ads. What's my point? Computer manufacturer's simply don't find developers worthy of their attention. In fact, developer's as a whole know this, which is why if you want to get a decent machine to write code on, you build it yourself, or you customize it after you get it, and if you do get it from an OEM, you damn well better decrapify it.
Why Should Dell/Apple/HP/Toshiba/IBM Care About Developers?
Compared to gamers, developers are a tiny subset of the computer market. What's more, a significant percentage of developers don't have a whole lot of control over the machine they work on 8 hours (minimum) per day, as some corporate IT department has dictated what the standard build will be. Nonetheless, developers tend to be very passionate about their hardware. We want desperately to be productive, and nothing is more frustrating to a developer in the middle of solving a difficult problem than to be delayed simply because the hardware in use is not up to the task. And we have no problem telling people about our opinions when it comes to computer hardware. In fact, most developers (along with our IT counterparts) find themselves the target of all technical support questions from friends and family members, to the extent that t-shirts like these are quite popular:
As such, and certainly far more than many younger gamers, developers are very influential when it comes to purchasing decisions for their personal networks. If a hardware company came out with a line of computers that developers felt was ideally suited to their needs, you can bet they would sing their praises to this network, resulting in much greater ROI on the machines than simply the developer rigs sold. A company (or brand) like Alienware (disclaimer1,disclaimer2), which did a fabulous job of branding itself as the gamer computer company, but geared specifically toward developers, could be very successful (assuming the machines produced actually were good to write code on, and the price was right, and the marketing was right, etc. No free lunches here).
So, what would a developer brand of workstations look like? First, there would ideally be both desktop and mobile versions, and obviously the specs on these machines would vary. For the desktop, simply do a search for “ultimate developer rig” and you'll see what many developers are putting into their machines today. Here are some of the priorities I would have on such machines (in my order of preference).
Developer Workstation Priorities
1) Fast hard drives. Don't bother including 5400RPM drives in the developer SKUs. I don't need a 1TB 5400 RPM drive. I'll trade that for a 120GB 10K RPM drive every time for the same price. If you can give me a RAMDisk of sufficient size or a Flash drive of at least 128GB and with both read and write speeds that dwarf similar traditional HDDs, then I'm all for it. If you want to prove to me how fast it is, show me a benchmark that involves compiling a large application using Visual Studio, rather than the latest game walkthrough.
2) RAM. There is no such thing as enough. Give me (reasonably priced) options to maximize the RAM. If you can't keep the price under an order of magnitude cheaper than I can get from Crucial.com, you might at least let me get a reasonably sized stick of RAM in one slot rather than 2 or 4 crappy sticks filling up all the slots. In fact, if you can't compete with Crucial, you should let me buy the machine without any RAM at all, to save me a few bucks (but still get yourself a sale).
3) Maximize available screen real estate. Developers like to have multiple monitors and large monitors. Many laptops lately have been shipping with smaller maximum resolutions. I want 1920×1200 if I can get it, like the Latitude D820/D830 has. I don't want a widescreen monitor that only has 1050 vertical lines as it greatly reduces how many lines of code I can see at once. For desktops, this means it should support multiple monitors. At least 2. Ideally 3 or 4, with enough video horsepower to show 1600×1200 minimum on every monitor with true color (but don't take this to mean I need to max out 3D rendering – see #5 below).
4) CPU. Some things require raw CPU to perform, but really most things I do as a developer have disk access as their primary bottleneck. More RAM helps this. Faster hard drives help this. Faster CPUs… not so much. Give me a reasonably priced CPU, preferably with 2 or 4 cores, and a few options for faster or more cache. Some developers will, having optimized the disk and RAM, want to max out the CPU, so of course that should be an option (but not required).
5) Multimedia/Gaming. These should be secondary. Include them but don't require them in the SKU. I need a graphics card that can run all my monitors with whatever graphics WPF and Windows use, but I don't need 100fps on World of Warcraft at max settings. Likewise, I don't need 7.1 surround sound. Throw them in as options, but don't jack up the price of the system by making it impossible for me to deselect such things.
6) OS and Software. I know these are profit centers for computer manufacturers, but bear with me here
. If you want to get a very loyal following from developers, please consider letting us buy the machine from you with nothing on it at all. Take a poll of how many developers will not even turn on a new computer once before they wipe it – I think you'll find that to be the majority case. Even if it costs more to get the machine with no crapware, offer that as an option. And since a large number of developers already own OS licenses for computers they are purchasing, always make it an option to ship machines OS-free (or, if you must, with a free OS). Dell, I have a few OS licenses I'd like to return to you, as I'm not using them – I'll be sure to hold my breath while I wait for you to call me for that.
The computer ISVs of the world are missing the boat bigtime by ignoring developers as a viable segment of their markets. Whomever is the first one to jump on this will very likely see significant market share gains by being first to market. The law of being first applies here. The reason I care is that I'm a developer and it's incredibly frustrating to try and find a decent developer workstation off-the-shelf. And building PCs is not a great use of my time, either personally or as a business owner. If you're a developer, let me know what priorities you have for your computer systems; what would make your dream machine, and how would you like it packaged from a major ISV (assuming you would ever trust one to provide you said machine)?
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.