• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Building a Software Developer Workstation (Not really, but sort of)

akatechis

Junior Member
I'm posting because I haven't really researched computer hardware in a few years, as I have not been involved with gaming and building computers for a while (college took care of that).

Going to be starting work at a software firm in a few months, and I'm interested in setting up a home workstation. Given the timeframe, I'm not interested in recommendations of specific pieces to get, as those would probably be out of date by the time of purchase. I'm asking about what pieces of a computer should I max out to maximize the efficiency given what I will be doing (software development).

Some things I've been thinking about to get this discussion started:

  • Memory will probably be maxed out in terms of capacity and access times.
  • CPU will probably be a quad-core (or maybe 6 core if those turn out to give significant gains)
  • Motherboard (any specific technologies or architectures that I should be looking to get?)
  • Hard drive(s) (SSD? Put OS on it for fast booting? Compilers/Source code for faster compiling?)
  • Graphics (I won't be doing much gaming, except for an occasional strategy game which wouldn't be GFX intensive, but I will be using dual monitors)
  • NIC (Are NICs still significantly superior to on-board LAN as to affect the performance of network actions like checking in/checking out code from SVN?)
  • Cooling (Given the kind of hardware, what kind of cooling systems should I be looking at?)

Again, I'm not looking for recommendations of specific chips, vendors or product lines, but responses more along the lines "look for a CPU with X, because it will give you gains in Y"

Thanks!
 
I'm posting because I haven't really researched computer hardware in a few years, as I have not been involved with gaming and building computers for a while (college took care of that).

Going to be starting work at a software firm in a few months, and I'm interested in setting up a home workstation. Given the timeframe, I'm not interested in recommendations of specific pieces to get, as those would probably be out of date by the time of purchase. I'm asking about what pieces of a computer should I max out to maximize the efficiency given what I will be doing (software development).

Some things I've been thinking about to get this discussion started:

  • Memory will probably be maxed out in terms of capacity and access times.
  • CPU will probably be a quad-core (or maybe 6 core if those turn out to give significant gains)
  • Motherboard (any specific technologies or architectures that I should be looking to get?)
  • Hard drive(s) (SSD? Put OS on it for fast booting? Compilers/Source code for faster compiling?)
  • Graphics (I won't be doing much gaming, except for an occasional strategy game which wouldn't be GFX intensive, but I will be using dual monitors)
  • NIC (Are NICs still significantly superior to on-board LAN as to affect the performance of network actions like checking in/checking out code from SVN?)
  • Cooling (Given the kind of hardware, what kind of cooling systems should I be looking at?)

Again, I'm not looking for recommendations of specific chips, vendors or product lines, but responses more along the lines "look for a CPU with X, because it will give you gains in Y"

Thanks!

I'll address your concerns point-by-point:

  • Memory: Capacity is nice, especially if you run a heavy IDE or are multitasking. It's not really necessary to have lot of memory for compilation/linking unless your project is truly enormous. Low latency is nice, but the difference between CAS 7 and CAS 9 DDR3 is marginal. Short answer: get 8GB-12GB, but don't spend a ton of money to go beyond that
  • CPU: Quad-core is great for parallel builds (you are using a sane build system, right?), 6 core will likely be around $1K for a while, so don't bother.
  • Motherboard: This really depends on your CPU, just get a decent board for whatever CPU you pick. A moderate dev box really has no special requirements here
  • Hard drive(s): SSD for speed. That should be enough for your OS and toolchain, and probably your codebase (unless it's really massive). RAID1 or RAID5 HDDs for backup and bulk storage. Invest in an image-based backup software package and put in on an automated schedule. (SSD is unlikely to fail, but you are likely to screw yourself with some dev snapshot libs. Downtime == $$$).
  • Graphics: Any decent card will be able to do dual-head and up. Just get whatever card is $150 and that'll meet your monitor and gaming needs.
  • NIC: Don't bother. RCSs are not hard on the network, relatively speaking. Whatever is build onto the motherboard will be fine.
  • Cooling: I think it goes without saying that you're not going to be overclocking a computer that you use for work. The stock cooling should be fine, as long as you have decent airflow. If you value silence, you might want to look to aftermarket cooling for that.
Let me know if you have any other questions, or want me to elaborate.
 
The only reason you might need more than 4 GB is for virtual machine use, but VMs can be very useful in development so 8 GB is a good idea. A Windows server OS likes at least 2 GB of RAM for itself -- you can still do that in a VM if you have just 4 GB RAM but with 8 GB you can give the server OS 3-4 GB instead, or run both a server and a client VM at once.

Don't pay extra for "performance" RAM, it doesn't help enough to justify the cost and it can be less reliable than standard-clocked and -volted Crucial.
 
For development, I'd highly recommend a multi-monitor setup with well sized screens. The more real estate you have available, the better.
 
Thanks for the input, everyone.

I already plan to set it up with 2 monitors (finished an internship there, and I already feel handicapped using my home PC with 1 monitor 😀). As for the rest of the system, it seems that storage, CPU and RAM are the main components I will be looking at when it comes time to put the system together.

I will probably returning here in the future when I decide what particular components I will be getting for some final feedback.

Thanks again!!
 
Don't forget the PSU! 🙂

Don't go too big on the monitors. I find dual 24"+ monitors annoying.
 
Forget the fancy CPU's (i5-750 or Phenom II X4 is just fine), and just go with whatever the matching Asus motherboard is at the time (ie: m4a78t-E for the Phenom).

2 hard drives for RAID-1 is a must.

Unless you really need more, 8gb should do you fine (4x2gb DDR-3 DIMMS).

Spend the rest of your money on a pair of decent 27"/30" 2560x1600 displays, or at least a pair of good 1920x1200 24" S-PVA or S-IPS displays.

Software development is not machine-intensive at all these days, except for the most complex sort of developments.

And I agree totally with the other poster -- buy a copy of Norton Ghost (or similar...don't know what your environment is!), and have it make a backup to a second machine, or even to a USB-attached HDD nightly.

BTW, when I worked in software, I had absolutely zero, as in, no interest whatsoever in using a computer at home. You may want to just look into using a laptop, especially since you're not gaming. You should have a laptop of your own anyways, IMHO. You might want to consider buying something like one of those new Dells (Latitude E6510/E6410), and the docking station and a 27" or 30" display instead of going to a seperate desktop altogether.
 
Last edited:
Back
Top