This blog post presents my recommendations about allocating hardware for developers working with the Sitecore ASP.NET web Content Management System (CMS) and Experience Platform (XP), also called Sitecore 8. Note that while similar concerns apply, application initialization time in production environments may be less important than in development due to less frequent ASP.NET restarts and load balancing, the latter of which can remove instances when appropriate. Hardware requirements in production environments depend on the performance profile of the specific solution under peak load. See also requirements for Sitecore servers and clients in the installation documentation available for your version of Sitecore.
Here I assume that you deploy your Sitecore solution to IIS running on the same workstation on which you run Visual Studio. This should be enough hardware to run relatively small things like SOLR (if you choose that over the default Lucene search engine in Sitecore) on the same machine. If you deploy to separate machines during development, excluding video, you would probably want equivalent hardware on those machines.
The following considerations apply when choosing hardware for a Sitecore development workstation:
In general, faster hardware, bigger screens, and higher resolution are always advantages. The faster your hardware, the less time you will spend compiling and waiting for the application to initialize. More and larger screens can help you be more productive (though at some point, more screen space results in wasted resources, and excessive resolutions on undersized screens can lead to visual fatigue). All of that said, I have been running Sitecore on laptops for more than ten years, and I do not think there is any need for an extremely powerful workstation.
If you have additional perspectives about hardware requirements for Sitecore development machines, please comment on this blog post.
Another great post John. For me, I have noted on development machines that investing in SQL Developer Edition (amongst other tools) seems to be worthwhile, since you can then take more of an advantage of (particularly) memory and (if you are lucky enough) the additional cores beyond 4. It helps a lot when doing the bulk operations we are so often tasked with. I think this and Sitecore's background processes (event polling / indexing operations) means I wouldn't generally work with just a dual core when developing on Sitecore even though it does work.