Where Are The Developer Machines?
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 decrappify 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 1920x1200 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 1600x1200 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.
Summary
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)?







Comments
Jason Gaylord said on 06 Apr 2009 at 2:34 PM
Great post Steve. The first thing we do whenever we order any machine (not just a dev) is wipe it clean. But as a dev, you can never have enough RAM. I like to have multiple VMs. Each one has it's purpose. I have a VM that handles Office 2003 add-ins on VS 2005. While my main VM is VS 2008 on Windows Vista. I have a dev SQl server and dev IIS machine as well as a dev Exchange/AD box. See where I'm going with this? If I'm working on a huge interal app and 3 or 4 of these are up, I'd like at least 2 GB a piece. On a laptop, this is pricey.
Brendan Enrick said on 06 Apr 2009 at 3:04 PM
Great post Steve. Not only is it important to have a fast HDD, but I think a lot of developers like having multiple drives in the computer. There are great performance benefits you can get from doing this, and if you're running VMs you should have them on separate drives preferably.
Any dev machine they sell should have the option to have more than one drive, and it should have expansion slots if you want more than just 2 drives in the machine. Slots for HDDs don't take up prime real estate, so it should be an easy addition.
@Jason I personally think that running VMs on laptops is crazy, but maybe I just need a laptop designed with a developer in mind. I'm guessing you're using a much better laptop than I am.
Michael K. Campbell said on 06 Apr 2009 at 5:34 PM
I used to buy 'kitchen sink' laptops for my dev machines, but gave that up 2 years ago when I decided that I didn't need portability as much as I need power. As such, I went with a higher-end gaming machine that I built myself. With careful research I was able to buy a great machine that even to this day is amazingly snappy (I've upgraded it to 8GB of RAM and it has an SSD RAID-0 along with another RAID-0 as well as two backup/storage disks, but otherwise it's basically the same as when I bought it - and I might slap a really high-end quad-core into it as Intel starts lowering prices to make way for the Core i7 chips).
For me though, buying a gaming rig made perfect sense as I like to game. But frankly, even someone who doesn't like to game (or who prefers to game with a console) would be well suited to buying a gaming machine as gaming machines will typically have the core components that they need. The only thing that would potentially be overkill would be SUPER high-end video cards - as 2x mid-range video cards would totally work for developers, and would also allow up to 4 monitors without breaking a sweat (for less than $120 total on video cards)).
Michael D. Hall said on 06 Apr 2009 at 11:13 PM
Preach it Brother! I'm expecting my new laptop tomorrow. Dell Studio XPS 16. 1920x1080 LED screen, 7200rpm HD, 4GB Ram, bluetooth and upgraded wireless. They call it a "multimedia" machine I call it a developer machine. I don't care about the high-end graphics card, matter of fact the first thing I'm planning on doing is down-clocking the graphics to reduce heat and batter consumption.
Maybe instead of asking the big vendors to create a developer machine someone could start a developer oem startup? I'll get the VC angels on the horn right away!
Michael D. Hall said on 06 Apr 2009 at 11:14 PM
"batter consumption", less pancakes, more battery. :-)
Anand said on 07 Apr 2009 at 1:12 AM
Is it worth to buy a corei7 cpu for normal development and internet surfing?
Anand
Ben Scheirman said on 07 Apr 2009 at 10:06 AM
+50. This is seriously lacking in the market.
Aaron Zalewski said on 07 Apr 2009 at 10:56 AM
I got tired of relying on the machine provided for me on my consulting gigs and bought a Sager 9261. Intel® Core™ 2 Quad Processor Q6600 (2.40GHz), 8MB L2 Cache, 1066FSB, Socket 775, 4GB RAM, 17" (16:10) WUXGA (1920x1200) with Super Clear Glare Type Screen, NVidia GForce Go 7950, RAID.......
Yes it's a gaming rig, but rather than SLI a second graphics card I loaded it with 2 fast HDs. I have no use really for RAID.
Russ Nemhauser said on 07 Apr 2009 at 11:03 AM
If this was four years ago I'd agree 100% with your post. Presently, however, I prefer to develop everything in a VM. Because my VMs run on my Mac Pro, I can use the same machine for video editing and production that I use for development.
I've never had a Windows machine run as fast, on any hardware, as it runs in VMWare Fusion. I don't know what those guys do, but it's really incredible. So I get the horsepower and stability of my Mac, which has 7 gigs of ram, and the ability to do Windows development on the VMs. Kind of a "best of both worlds" kind of thing.
David S. said on 07 Apr 2009 at 11:40 AM
Fantastic article. Thank you very much.
FYI, I do most of my development on:
AMD Quad Core / 8GB Ram / WD Raptor all on Vista x64
HaHaHa NotLikely said on 07 Apr 2009 at 12:08 PM
This is so funny. Companies don't sell configurations for your benefit. They sell configurations to boost profit margins. Now here your are telling them to remove all the high profit margin items just so you can get a machine you like? No way.
Two small sticks of memory are almost free to them. They make huge profit on adding more. Same with the 5400 RPM drives. And so on down the line. You'll nickle and dime them on every part and if you can find one a few bucks cheaper at New Egg you'll buy that part there.
The reason these machines aren't made is because of all the "priorities" you've stated in the article. Sorry.
SuperJason said on 07 Apr 2009 at 12:49 PM
My laptop:
- Core 2 Duo 2.53
- 8gb ram, upgradable to 16 (think of the VM's!)
- RAID 0 - dual 150gb drives
- 1920x1200
- 1TB external drive for backups + other big vms
This configuration is the current standard where I work. Good hardware is a no-brainer.
It would be interesting what the pricing would look like if someone started specifically marketing developer machines.
Carl McDade said on 07 Apr 2009 at 1:28 PM
Nice post. I always think about this whenever I decide to upgrade one of my frankenstein servers or workstations. For me to get what I need in a dev machine I have to go on eBay, buy a year old server motherboard and build it. This is the only way to get a decent price. The markup on finished servers using the same parts is very high which is why developers don't buy them to sit under their desks.
Usually I wind up with an older tyan mb with a bunch of Quiet PC parts like external fanless power supply and sound shielded 10k rpm HDs.
ssmith said on 07 Apr 2009 at 2:31 PM
@HaHaHa,
The cynic in me agrees with you, but you have to also remember that companies/brands like Alienware have already proven that consumers will pay a bit of a premium to get a machine they believe has been customized to meet their needs. And if someone *else* (other than Dell/HP/IBM/Apple/Toshiba) were to do this, and become the recognized leader in the developer market, then you can bet the others would take notice (and most likely buy the new player, as Dell did Alienware).
kadams said on 07 Apr 2009 at 6:50 PM
Not to be obtuse, but is seems like what the author is searching for is a "workstation" not a "desktop computer'". The Dell Precision, HP Z, Lenovo ThinkStation, Sun Ultra 24 workstation lines seem to fill all the above qualifications nicely. They are much more expensive that a normal consumer-grade desktop, but what we do as developers justifies it. After all, developing software has it's roots in computer science. What's the difference between doing chemistry in your basement, and doing chemistry as a job? The cost and quality of the equipment. I think expecting a machine to perform at a commercial level, but cost a consumer price is unreasonable. Likewise, developing on a consumer machine (even a custom-built collection of consumer components) and expecting commercial results is unreasonable.
Satheesh said on 07 Apr 2009 at 11:04 PM
Great post steve!I fully agree with you...
Anand Narayanaswamy said on 08 Apr 2009 at 2:42 AM
Intel's corei7 920 is cheaper than Quad 9650 but mobos and rams for corei7 are costly.
I have read lot of reviews at newegg and understood that corei7 is really hot when HT is enabled.
I think Q9650 will do a decent job for developers but I will prefer to wait for some more time to buy my new rig.
Anand
Developer said on 08 Apr 2009 at 5:08 AM
I may be a non-typical developer. I bought my machine at Dell and kept the included Vista :-) It will of course be dual-booted with Linux.
Specs: iCore7 920, 6GB RAM, 2x500GB drives in raid and a 23" screen with a resolution of 2048x1152 pixels.
Pvblivs said on 08 Apr 2009 at 1:38 PM
I may be a non-typical developer too. As a "No I won't fix your computer" developer I particularly don't like to build and install any machine myself (I could, but it's so tedious and outright boring). That's also the reason why I wouldn't take any linux at work until they come up with a working Ubuntu. Else I like to have a Windows or better a Mac. As I develop for the web VMs are fine for testing with different browsers. And those VMs are set up and hosted by IT support (who like to fix computers :-)).
As a result I am able to concentrate on developing and am not bothered to keep my machine up and running. And no, I'm not satisfied with our developing machine. Getting the development environment onto our machines takes like 15 minutes and the portal is up and running in 5. That's way too slow.
But there's still room for improvement having a 32 bit Windows (only providing 2.5G RAM) and a 7'200 hard disk.
Paul robinson said on 10 Apr 2009 at 7:41 AM
We got our workstation from dnuk. I think they meet all your requirements.
Chris said on 19 Apr 2009 at 8:44 PM
Few other thoughts -
* Should be absolutely silent. I have to be next to it for 8 hours a day. And if your in a room with other developers the sound can quickly get to you.
* Have the OS installed with no crapware but allow me to chose my partition sizes when I order it. Most companies IF they allow you to have multiple partitions will split the drive 50-50.
* Don't force ANYTHING on us. Monitors often last longer than the computer so don't make me buy another.
brad said on 02 Dec 2009 at 12:32 PM
I agree with 100% of this post.
My company has been trying to find boxes for us for over 7 months.
The main problem we have is driver compatability for operating systems. So this is an important consideration if a company did this.
Make sure the parts used are compatible with a myriad of OS's. We've been trying to get a Win2003 box but it's either the graphics card, or sound doesn't work.