3
votes

I was looking at Scott Hanselman's "Ultimate Developer Rig" blog post (see http://www.hanselman.com/blog/TheCodingHorrorUltimateDeveloperRigThrowdownPart2.aspx) and wanted to get additional perspectives on the ideal technical specs (as of now) for a high performance developer workstation.

I would like to run 64 bit Windows Server (so that we can develop web apps and web services in the same settings as their target deployment server) with enough power to run multiple memory hungry apps at once: - several instances of Visual Studio team suite (i.e several instances of the debugger) - SQL Server - IIS/ASP.NET, WCF service - A UML diagramming tool, - Adobe Photoshop - etc.

What would be the recommended CPU these days? Is an Intel 2 Quad the way to go? I was thinking of a minimum of 8gb of memory. Is that enough or should I consider more to start with?

What about video cards and disk drives? Thanks in advance.

2

9 Answers 9

7
votes

From a Sys Admin standpoint I can provide a few recommendations that will make your life easier regardless of your hardware selection. Get a rig with lots of resources - 8GB is a good start, 4 core CPU, RAID 1 SATA or SAS drives(no "Green" stuff). Use virtualization to run your OS's where you do testing / break things. Take advantage of snapshots / cloning of those VM's so when you break something you have a quick rollback path. Do as little as possible on the physical host OS to keep it stable. You'll save big time this way. If you're not developing for the video card directly or playing games, your video card can be almost any standard offering that meets your needs (multi-monitor??)

1
  • Virtual test boxes are the way to go, that way you can have multiple images and its harder to get "it works on my box" syndrome. Although, full CPU usage would be nice for compiling and testing (i.e. run Visual Studio on the actual machine). If you develop on a server, you have a harder time understanding what it takes to deploy to another server.
    – bluehavana
    Jun 17, 2009 at 13:23
4
votes

HP's Z800 workstation sounds pretty ideal to me;

  • Dual quad-core Nehelam W5580 Xeons @3.2Ghz, 6.4GT/s QPI
  • up to 192Gb DDR3 memory
  • Up to 4 x SATA/SAS disks with hardware RAID controller
  • Up to 3 x Blu-Ray writers
  • Up to 2 x NVIDIAQuadro FX 5800 4GB PCI-e 2.0 cards

All in a BMW-designed, tool-less chassis;

alt text

Bit spendy though :(

2
2
votes

I put together a really good rig for my own personal use and interestingly enough I saw the specs that the Valve devs use and its pretty darn close. This is a good balance between price and performance with todays current tech with sufficient room to expand. Going with the x58 gives me the option to just switch up to a newer processor in the future, the 920 is the best of this line, the 940 and 960 are vastly overpriced and are getting phased out soon. 3 spare DDR3 slots and a maximum support of 24GB gives me plenty of room memory wise.

  • ($280) Core i7 920 (quad core with 2 threads pe core), these are 230 at Microcenter but their website doesn't list them, they have a bit of disconnect between the instore and website. The stock CPU fan and heatsink are quite sufficient to keep pace. www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=4240166&Sku=CP1-I7-920
  • ($100) 6gb DDR3 triple channel memory.
    www.microcenter.com/single_product_results.phtml?product_id=0301430
  • ($250) ASUS Motherboard - you can get some cheaper ones but I liked the extra room on this one, and with 6 DDR3 slots you have a lot of expansion room (24GB max)
    www.microcenter.com/single_product_results.phtml?product_id=0304486
  • ($150) 750watt single rail PSU (60 amps) - bout ideal for a good card, and the brand I got is both crossfire and sli certified so if I decided on multiple cards I had the room. Going single rail means the PSU can better shift power to where the load is while a double give redundancy but can't shift power from one rail to the other so you get some loss. www.microcenter.com/single_product_results.phtml?product_id=0264292
  • ($80) GeForce 9600 with 512MB
    memory (playing games, multi monitor) You can go with multiGPU setups but unless you are seriously crunching some graphics its mostly a waste (I have a new ATI 4890 on the way but the GeFOrce 9600 has been very good to me, just wanting to upgrade it) www.tigerdirect.com/applications/SearchTools/item-details.asp?EdpNo=4209965&CatId=3670
  • ($120) Multiple hard drives, Vista on my 80GB drive, Windows 7 on a 40 and my content and apps installed on my 1.5Tb drive www.microcenter.com/single_product_results.phtml?product_id=0301994
  • Look carefully at the cases too. The one I use sets the PSU in the bottom of the case so it pulls air from the back and vents it out instead of venting hot air into the case. Even under load it runs very cool and I am able to turn the variable speed fan way down to keep it quieter without sacrificing on the cooling. I had budgeted 120 for this since I wanted one that was large with lots of space and had the USB ports in a very accessible position. I got this on special, current price is at 190 microcenter.com/single_product_results.phtml?product_id=0304046

DVD burners can be picked up for 25 bucks now so its a minor cost.

The only real deviation is I had a full copy of Vista x64 that I didn't have to pay for (Gift from microsoft)

End result is a system that costs about $1200 with expansion room. If you look for the specials you can get this price down a bit more. (I only paid $900 for the whole thing)

1
vote

Intel Core 2 Quad would certainly be the processor I'd recommend. 8GB should be fine (although its hard to tell not knowing the type of development you do). You'll most likely want a video card that supports multiple monitors (2 minimum - possibly 3 or 4). 2 discs is certainly recommended, two spindles certainly helps performance (one for the OS and one for everything else). Depending on your budget possibly consider an Intel SSD.

1
vote

As a developer, the more the better, the more RAM the more CPU the faster the drives the better and the bigger the monitor(s).

Due to working remotley, I am currently using a laptop which has 3GB Ram, and a Dual Core T9300. I would not recommend getting anything lower then that. As for video cards, if your not doing game development, then the video card shouldn't matter to much. Ideally you'd want somethign that can support two large monitors. If you have the cash and want to make developers drool over their system checkout Digital Tiger's. Every place I've worked I've requested something from there and have yet to had it approved;-)

Back to my system, I am running Windows Vista, VS 2008 Team Suite (1-2 instances), SQL 2005 and all the usuall produuctivity software (Browsers, Office stuff etc) at once with a decent ammount of memory available. The laptop is fast enough for me for now (even with Vista).

You should get at least two hard drives minimum of 7200 RPM. I like having all my source documents, databases on a seperate drive from my system.

8GB of Ram should be more then enough (I'd stick with 4 GB and spend the extra money on better monitors).

You should also get your developers a UPS. (don't plug the monitor in it). This way when they go home at night if you need to kill power to the building they won't loose their work. Depending on your app they might have long running jobs going on over night.

1
vote

If you want the ultimate in development flexibility, take a serious look at the Mac Pro desktop. Having a Mac is currently the only legal way to do iPod/iPhone and Mac development and these machines are beasts. You can configure them with up to 32Gigs of RAM from Apple (although you're tossing money away letting them put in ram), dual quad-core Xeons, multiple monitor support and 4 SATA drives RAIDed how you like it. Then you can run any Windows or Linux OS you want in a VM and with all that hardware to divvy up you won't be hurting for resources.

Sure it costs a ton but dual quad-cores and 32 gigs of ram is really like having 4 dual core Windows machines.

1
vote

I agree, the more powerful the better for a developer... but one thing a lot of people miss - especially in desktop applications development is the test machine specs. We try to buy $500-$800 lower end Dells to test with. A developer may have a custom build monster machine around $2000 - $2500, but the end users who uses the applications mostly likely won't.

I have seen way too many times the developer say - "process X runs 3 secs on my machine" in response to finding out on the test machine it takes 2 minutes. Then the developer has to optimize and/or recode the way the process to make it acceptable! (Especially in reporting processes).

BTW, I have seen this true to in web apps that use a LOT if javascript or java applets- slower machine, mean slower performance for their browsers/plugins.

1
  • +1 for a less powerful test rig - although with enough developer machine oomph you can VM a lower-stat system.
    – Rob Allen
    Jun 17, 2009 at 15:51
0
votes

Actually, if you're developing IIS applications, Vista with IIS 7 is perfectly fine. It's the same web server as W2K8, just with connection limitations. You can even add multiple web sites, unlike XP.

You would also then install SQL Server Developer edition - again, the same as SQL Server express, with connection limitations.

BTW - Joel Spolsky has an interesting article on Solid State Disks. Still a little pricey for my personal machine, but he makes great points for a corporate environment.

If you do go with W2K8 as your desktop, there are many articles on tweaking the server product to make it work more like a desktop platform:

0
votes

My observation is that dev specs are dependent on applications being developed. (Duh).

My ideal system would be quad-core, 8GB of ram, 500 GB of system space, with several different VMS, as well as the ability to push long compile jobs down to the host OS. My preference would be to have a OSX host OS, with OSX, XP, Vista, Ubuntu, and REL images available. OSX is the best development platform I've been on, hands down. Visual Studio is a great IDE, but for all-around work, Mac.

Not the answer you're looking for? Browse other questions tagged .