Last updated on March 25, 2022
When I returned to the US, I started a programming contract at a company where I needed to bring my own PC. My Asus Republic of Gamers laptop was working, but not as well as I wanted. After a few years of steady use, it was time to upgrade from my 2.3 GHz machine, with 8 GB of RAM.
So, I decided it was time to build a new PC for Windows programming with Visual Studio and SQL Server. Fortunately, I was able to build a fast programming machine for US$ 1100. UPDATE 06 Dec 2015: The case is currently unavailable, but this whole system will cost about $950 – assuming you spend around $50 for a different case.
Here’s what is in it, in case you want to build your own. (By the way, two guys at work just ordered the same parts today, to build their own computers).
My development PC specifications
CPU: Intel i7-4790K processor (click to see on Amazon)
This seemed like the best choice for the price/performance ratio. It’s easily overclockable to 4.4 GHz, if you want. The motherboard I used has a simple performance setting (low-energy, normal, performance), and I just used the performance setting. If you want, you can get more specific in the settings. But I want something simple and reliable.
CPU cooler: Silverstone Tek Super Slim Pro CPU Cooler (click to see on Amazon)
The 4790K CPU comes with a CPU cooler and thermal compound, so this is optional. I went with it because I wanted a lower profile cooler. It’s probably not going to be much different from the one that comes with the CPU, but I wanted to try something new.
Motherboard: Asus ATX DDR3 Z97-E/USB 3.1 Motherboard (click to see on Amazon)
This motherboard ROCKS! I’d say it’s the heart of the system – as much as the CPU.
For the development I’m doing for this client, I didn’t need (or want) super-powerful graphics, sound, etc. This motherboard comes with everything I need on-board: support for 32 GB or RAM, RJ45 Ethernet connection, 6GB SATA connections, decent video, more USB ports than I can find a use for, etc. I didn’t need to buy a single card. All the slots are still empty.
Get the full specs for the Z97-E/USB 3.1 motherboard from the Asus website: https://www.asus.com/us/Motherboards/Z97AUSB_31/specifications/
RAM: G.Skill Ripjaws X Series 32GB DDR3-1600 (click to see on Amazon)
Besides running multiple instances of Visual Studio (which uses a ton of memory) and SQL Server Manager, I also need to run about 20 different queue services for the apps I’m working on. I probably could have gotten by with 16 GB of RAM, but decided to load it up with all 32 GB. If you’re looking to save some money when building your computer, you will probably do well with 16 GB for most development work.
SSD: Crucial MX200 250GB SATA 2.5 Inch Internal SSD (click to see on Amazon)
I’ve had really good experiences with Crucial SSD drives. This is the newer version of what I put into my laptop, and is a bit faster than my old one.
One of the guys at work who ordered from my parts list decided to get two of these and set up RAID mirroring – which is supported by the Asus motherboard.
Power supply: Sentey Power Supply 750w 80 Plus Bronze Modular (click to see on Amazon)
I originally ordered a “Gold” power supply, from a different manufacturer, but they were out of stock and wouldn’t have been able to deliver if for several months. So I substituted with this one. So far, it looks like it’s working well.
Case: Rosewill Gaming ATX Mid Tower Computer Case CHALLENGER-U3 (click to see on Amazon)
For cases, I don’t need anything fancy, shiny, or with 1000 LEDs.
This case had solid reviews, comes with 3 fans, and has a good price, so I chose it. When I was installing the motherboard, one of the mounting screws was a little close to the top fan, and a little difficult to get at (with my old fingers). But that barely slowed me down.
Wireless keyboard and mouse: Logitech MK710 Wireless Desktop Mouse and Keyboard Combo (click to see on Amazon)
I like using wireless peripherals when I can. Every cord I have seems to be magically attracted to the arms of my chair, and constantly gets tangled up. The mouse on this was nice – with a button press you can switch between smooth-scrolling and click-scrolling (which I prefer).
Assembly of my development PC
I didn’t take any pictures, or videos, of the assembly, but it was very straightforward.
To copy from my VM, to the new drive, I used Paragon Drive Copy 15 Professional. It worked smoothly. I started up my VM, installed Paragon Drive Copy in it, put the new SSD in a USB enclosure, plugged in the USB drive, and then ran Paragon. There is an option to migrate your current drive to a bootable SSD.
When the copy was completed, I unplugged the SSD from my laptop, mounted it in the desktop, and booted up the desktop. It took a minute for Windows to recognize its new surroundings, and I had to manually update the Ethernet driver that I downloaded from the ASUS support website and copied to a thumb drive.
I have seen a few problems that seem to be related to my user account on the new computer. I don’t think Windows is 100% sure it’s in a new computer. They aren’t big problems, but if you’re worried, you might want to install a new copy of Windows on your desktop, then manually reinstall your apps and data. For me, reinstalling my apps, data, and strange development configurations would take two or three days. So, I’m living with the occasional quirk.
Here’s the PassMark score for this computer. It scored low in 3D graphics (as expected), but did very well for everything else.
Planned changes for my personal (gaming) PC
For home, I’m going to do more gaming and less programming. So, I’ll make these changes when I build my desktop for home:
Big video card
The motherboard has good built-in graphics, if you’re not doing anything too intense (like gaming). For my home machine, I’ll add in a powerful video card. Probably a GeForce GTX 970 (the 980 is more than I want to spend).
Larger power supply
With a big video card, I’ll want a little more power. I’ll probably go with the 1000-watt version of the power supply that’s in my development computer. By the way, the ASUS motherboard supports SLI, in case you’re serious about gaming and install dual video cards.
Bigger hard drive
I was working in a 120 GB VM, so a 250 GB SSD was more than enough room for my work. However, nowadays games seem to take up 20 GB of disk space. So I’ll get the 500 GB version of the Crucial MX200 drive.
2015 Gaming PC build
I’ve got several things going on over the next few weeks, so I won’t start building my home PC for a while. When I do, I may take a video, or photos, so you can see the build process.
as of 12/4/2015 it is under $1000
Thanks for letting me know. This weekend, I’ll check the exact prices and update the post.
How about updating for DDR4?
I have been thinking about building a new stand-alone development computer, to use at home. But I probably won’t do that for a few months. First, I want to save some more money.
Couple of questions. I’m a Windows developer currently working on MacBook Pro’s running Parallels to host a Windows VM (for last 5+ years). I’m bit disgruntled with performance and contemplating the move back to Windows Desktop machines purely for performance reasons. The loss of mobility will be a huge hit that I have to decide on before making the jump. But figured I could build two machines that are more powerful and cheaper than the most powerful MBP (which is usually what I purchase when I upgrade, but can’t stomach it this cycle).
I know hard to put into anything ‘really’ quantifiable, but how do you think your $1000 machine would perform against my late 2013 MacBook Pro, 16GB RAM (split between OSs obviously), i7 2.6GHz processor?
You mentioned moving a VM…what environment(s) are you running that you need a VM and how does running that perform for you (in terms of performance and maybe cross-OS issues – i.e. keyboard shortcuts’ etc. – if applicable)?
My co-worker was doing his .NET development in a VM on a MacBook. I’m not sure of the model/configuration, but it was probably close to what you have.
After I brought in this computer, and he saw its performance, he built his own version within a week, and switched over to it. He’s been happy with the performance, especially for the price. I do hear him sometimes complain about missing some of his Mac apps, and shortcuts. But, for Visual Studio development, it’s been a big improvement.
When I was using a VM, I used VMWare Workstation on a Windows computer. I only used the VM to keep a “clean” development environment – separate from my personal apps. Working inside the VM “seemed” about 10% slower, although I never ran any comparisons to get real measurements. I did have 16 GB of RAM, and allocated 8 GB for the VM. The only problems I had was if I was running something outside the VM (in the “real” machine) that might have memory leak problems. If I ran iTunes for hours, it would often crash my VM.
Now, I use two computers: one for my programming (and recording programming screencasts), the other for games/email/etc. Even with a GTX 970 for the gaming computer, the total cost for both computers was around US$ 2500-2750. And the prices have dropped since I built them.
If you have any other questions, please let me know.
Why not just install windows on your mac and dual boot using bootcamp? The only time I’d use a virtual machine on mac os is if I was developing an iOS app with a .net api backend and needed both running at the same time..
My co-worker said he liked the Mac versions of his email app, Slack client, etc., more than the Windows versions. So, he was running them in the “root” Mac OS, while doing his C# development in the Windows VM.
Curious (but maybe takes too long), if you were going to spec out a new computer today, is it easy for you to come up with a list of components? Including ability for multiple monitors, bluetooth and *maybe* wifi? I’ve never built a PC and frankly, don’t even really know what I’m looking for (in terms of compatibility, all the little niche performance factors to look at, etc.), so could see myself getting the case of ‘analysis paralysis’. I could be wrong, but seems like you have built quite a machine for ~$1000 and I just don’t see same price points when just looking at OEMs? But maybe I’m looking in wrong spot or for wrong specs.
Just ‘thinking’ on wifi, not sure what I’d do on vacations yet where I usually bring a laptop, contemplating bringing a USB monitor and just grabbing PC case?? Crazy? Just thinking some places I go might not have CAT5 jacks.
Guess I could maybe keep my current MBP and see if I could RDP into one of my desktops.
To start, I list the things the computer needs to do.
Second, I get a rough idea of what level of performance is needed for each category of part: CPU, RAM, video card, hard disk, and anything else (multiple monitors/WiFi/Bluetooth/USB 3.1/etc.). The levels I use are “absolute best”, “second best” (which is usually the best price/performace), “good enough”, or “not needed”.
Next, is the research. I decide which CPU to use, based on my processing power requirement (and how much I’m willing to pay). I like Intel Quad-Core i7 CPUs, and try to get a fairly current generation. They have CPUs with more cores. But, they usually cost a lot more, for only a relatively small gain.
Then, I try to find a motherboard that will use that CPU, and do the rest of the functions I need. Many motherboards have decent 2-D graphics, multiple monitor ports, and sometimes even built-in WiFi. If the motherboard doesn’t provide the level of performance I need, I look for a card that does.
The research usually takes a few iterations. If one of the components is expensive, I check to see if the “second best” is good enough – and significantly cheaper.
After selecting all the parts, you should know how many watts are needed (based on the specifications of each part). That will determine the size of the power supply.
Two big reasons why my cost was lower than most OEMs are because I only got the parts I needed – nothing else. I also had an MSDN license, and didn’t need to buy a copy of Windows.
If you want to see different PC builds, I suggest watching videos on the Paul’s Hardware channel (https://www.youtube.com/user/paulshardware). He has videos of many different configurations, and ones showing him completely building PCs.
Thanks. I was curious about my current laptop performance and was going to try that passmark.com test you did. Which tool/configuration did you use to get that reading?
So I probably ran same thing as you, not as impressive with my MBP… http://www.passmark.com/baselines/V9/display.php?id=70971510255 Scored 2874.
Yes, that’s what I ran.
Something nice about that tool is that is breaks down the ratings for CPU, RAM, disk, etc. If you ran that on an existing PC (instead of a Mac), that tells you what components are your likely performance bottlenecks. So, you might want to focus on upgrading the CPU, then the RAM – if this was for an upgradable PC. Or, you could look at “Performance” tab of the Task Manager, as you work. That would also indicate where the bottlenecks are.
Thanks. Wonder if this machine is overkill? 🙂 http://nickcraver.com/desktop-build/ Was going to trim it down to 1 SSD and looking at possibly doing your processor listed above vs theirs, but still trying to digest Paul’s Hardware videos and Googling. Bit overwhelming to the unexperienced.
It’s technically not “overkill” until you’re looking at dual XEON motherboards. 🙂
The PCIe NVMe drives are nice, but (for most purposes) you’ll get all the performance you need with a Samsung 850 EVO. You can probably even get a smaller one for your C: drive, and a secondary standard HDD, if you don’t need disk access to be extremely fast for most of your files. I keep my iTunes library on a slower drive, and that works well. The GTX 1080 is another place where you could trim the cost, with very little (noticeable) loss in performance. A GTX 1070 will be more than enough for most people, and costs much less. In fact, I played Fallout 4 on my GTX 970, with most graphics settings to “max”, and everything ran smoothly.
Of course, if you’re going to being doing things that really need the highest-level components, you can always get them. But, personally, I like to keep a bit of money in my pockets.
Looking on Amazon at the different cards, what are the different ‘sizes’? Founders Edition, ROG STRIX, Turbo? Are they functionally different? On ASUS site, I don’t see anything except ‘Founders Edition’.
The models are slightly different. They might have different output ports, run the GPU at a little higher speed, have different fans, or different plug configurations (for connecting to the power supply).
But, if you’re not power-gaming, I suggest to sort them by price (lowest first), and find the lowest-price model that has the output ports you need. The power supply units usually have extra cables, so you can handle whatever configuration the card has.
To be honest, I doubt I’ll play any games. But I do have (currently) 3 monitors that I’ll want to run smoothly. They are ASUS PB278Q 27″ WQHD 2560×1440 IPS DisplayPort HDMI DVI (http://a.co/32199Yi). So similar to what that build list said about wanting to run 3 monitors, I’m in same boat although maybe not as powerful as monitors yet (but staying open to upgrade would be nice). So would the GTX 1070 be plenty for that? Or even the GTX 970?
I like to keep money in my pockets too 🙂 Thanks so much for the advice.
The motherboard listed in my build has HDMI, DVI, and VGA ports. If you get a VGA-DisplayPort adapter, you should be able to run your monitors directly from the motherboard – if you won’t be gaming, or using 4K video. You might want to try that, and only buy a video card if you notice any performance problems.
If you do need a video card, the 970 (or 1070, if you wanted) would definitely support three monitors.
I’ll ask, just to get a second opinion from a ‘developer’…do you buy into having 2 SSD drives like that build listed…due to diff models and sizes, assuming no RAID (which I know very little about), but any benefit to that? I was going to only do a single SSD as well to cut costs.
A single SSD is probably good enough.
It used to be good to get a small SSD for the things you needed fast access to, and get a large “spinning” hard drive, to hold things that didn’t need super-fast access. However, that was mostly when SSDs were extremely expensive.
You could follow the same idea with a small PCIe NVMe SSD (for the fast access files), and a large normal SSD for the slower-access files. However, for most purposes, a normal SSD is fast enough. So, a single, large SSD makes sense.
Hi Scott, so I built my first PC (with some help) after being inspired by your post. I have a few questions. Was wondering if you might take a look. If you are up for it, send me an email and I can reply to that?
I sent you an email. If you didn’t receive it, please send me your questions at: https://www.scottlilly.com/contact-scott/
For me I have gone with the fastest SSD I could get (samsumg evo 2tb), I filled all the slots with DDR4 ram (32gb) versa just 2 chips as this was more concurrent lanes to the memory from the cpu which was an 3GH I7 (12 core) – my Laptop is much the same bot running win10 pro (I needed IIS and mob development).
It matters greatly which version of VS you are running, eg Community Edition with ReShaper/R# is more responsive that VS Ultimate with R#. You have to get used to when to turn off R# to save memory. With the 12 cores, you can allocate just 3 cores to visual studio (it can easily use 2GB before its gets sluggish). If you have more than once copy of VS open then allocate it to different cores. You will still get the “Visual Studio is Not Responding”, first try stopping iis/iisExpress as this can lock VS. If were you are working you have flaky networks, this to can cause VS to have kittens, when it cannot connect to TFS or your source control. So its often better to connect to stuff (TFS/SQL) via an IP address because when the DNS is ‘busy’ you still connect. Likewise stop services you don’t need (put some command in a cmd file to change your performance profile). I have found with VMs they are ALWAYS slower than Bare Metal, but VMs can be backed up real quick (try free Veeam Backup), they can be reconfigured easy. The reality is that we use bear metal for all sorts and we install all sorts on there. you might want to switched between work mode and other modes. A Mac is no faster than a Dell XPS(and you will miss the touch screen), but it gives an impression. The reality is that we are not going to get faster CPUs over 4GHz, so only install the minimum you need (a config in each VM, but then what of your other software lics which are now on duplicate machines?).
I am writing because even with this kit, and these measures, it still hangs for no apparent reason (back ground loading).
I can give you a list of things that will show your VS down but they make your life easier. Also avoid installing more that one version of VS(and SQL Server) on your box, all too easy to put on the latest VS and keep VS2010 for those legacy project. Best to have never installed it as uninstalling any VS leaves debris behind and breaks stuff.
Don’t thing that using RegClean to clean up your registry will help as such tools will break your set up (back to the VM argument again).
At least you have some choices now.
Thanks. I’ve done work in development VMs, to have a “clean” environment, with only the things I need installed. And, as you mentioned, those VMs can be noticeably slower. I usually end up building a new computer (or reformatting my drive, after making several backups) after 18-24 months. Then, I can install only the things I need and start over with a faster “new” computer.
Nice! and do you have updated info (for 2017)?
Thank you. These computers have been working well for me, so I haven’t built any new ones. If I had a good excuse, I would like to build an 8-core computer. However, this build is still fast enough for me.