Programming requirements
Building a computer for programming depends a lot on your project, some developers could be happy with small machine and using vim only. In this post we will describe an averege computer that a software developer needs. We will asume that the developer will not build games, so we will use an integrated GPU.
Hardware specificacion for programming
I think that the most important spec. you should have in your computer is RAM. RAM is very important since building, compiling, using virtual machines and having several chrome tabs opens (with stack overflow of course) is something common on a software developer. As for today 16 Gb of RAM is the minimum requirement, but we recommed 32 Gb of RAM.
Harddrive is another very important factor, an SSD drive is a must have today. Having a SSD drive will reduce waiting times and improve productivity and bad mood :). For big files just buy a big slow harddrive and that's it.
For CPU just bought one with 8 cores, it can be Intel or AMD (buy the one you are fan of).
Remember to buy a good PSU with Plus80+ if possible.
Installed Software
Some people call this "programming platform" and we refer to it as all the software that you will use for programming. For sure you must have installed Linux as a host OS. If you need windows you can use it from a virtual machine. Linux is probably the most easy to use for programming. If you are a beginner we recommend to install Ubuntu, for more advanced user go to Fedora.