Recommended Computer Configurations for 2020
On a regular basis, I get asked by students and young professionals what kind of laptop/computer configuration I recommend for various kinds of work like graphic design, programming, and statistical analysis. My default response is to purchase as pricey a computer as you can afford, but lately computers have become powerful enough that most work does not require the highest end systems, even in the realm of laptops, where computing power is sacrificed to portability and battery life. There are limited areas of work - 3D and video production, big data analysis, AI, and related fields where massive number crunching power is absolutely necessary for productive work. Most other fields, including programming and graphic design, generally do not need the highest end systems, although computer work benefits from upgrades in specific areas, particularly with fast SSDs for system drives and storage for work data like images and video.
Baseline Configurations
For professional laptop users, I recommend a baseline configuration of at least 32 GB RAM, a quad core CPU, and an M.2 SSD with 512 GB or more of space. From there, I recommend upgrading the SSD to the fastest possible speed (3500 MBps read speed currently), and increasing the size of the disk as much as you can afford. 2TB is currently the max size for a high end M.2 SSD. Depending on the use case, I also recommend increasing RAM to 64 GB if possible. Lastly, some of the very highest end models such as the top tier MacBook Pro offer a six core CPU. While that might be the CPU you get by default if you choose the top MacBook Pro, most users will not need the additional cores.
Mac v. PC
For a decade, Apple ruled the roost at the high end of the laptop market, and PC manufacturers mostly played catch-up to the Cupertino giant. Over the last few years, though, things changed in the PC market. Microsoft introduced the Surface laptop, top tier manufacturers HP, Dell, and Lenovo introduced slick high end products to compete with the MacBook Pro, and niche producers like Alienware and Razer created stunning high end laptops on par with anything in the market. The end result of these developments has been a much broader choice of high end laptop products than ever before. Apple has made some uncharacteristic mistakes in their hardware choices of late- in particular with the much-maligned butterfly keyboards, but overall Mac users can still rely on products with a very high hardware standard. PC users can also now rely on a variety of products with excellent hardware standards.
So which platform should users choose? For software engineers, it boils down to what kind of software you work on. If you build software for iOS, you will need a Mac. If you build Windows desktop apps, you will need a PC. If, like many software engineers now, you build server apps for the Web, you can realistically pick either one.
macOS v. Windows v. Linux
As a software architect who builds web apps that generally target deployment on Linux, I find it useful to run a Linux desktop OS on my laptop. I worked on macOS on a MacBook Pro for a few years before switching back to HP laptops in 2018. Even though I prefer Linux, I use enough desktop apps that require Windows that I am forced to dual-boot Windows 10 and Ubuntu.
Having used all three major desktop OS platforms in the last few years, I have a good handle on the good and bad of each.
macOS
For designers, and in some cases developers (see above), macOS is an outstanding platform that provides a great set of built-in apps, an app store with curated content, third party apps from industry giants like Adobe, and a seamless user experience that integrates especially well with Apple's entire ecosystem of products.
For me, macOS falls short as a platform for power users who want access to the full power of *nix. Apple has spent a lot of time crippling macOS to prevent regular users from doing destructive things to the OS that are easily done in *nix through the CLI.
Windows 10
After all this time, Microsoft is still the 800 lb gorilla of the desktop. Sure, desktop as a share of consumer computing is nowhere near as big as it was just a decade ago, but it is still a position that matters. What does that mean from a practical perspective? The biggest ecosystem of apps, the best gaming experience, and many professional apps that are only available on the Windows platform. Windows also has the the biggest choice of supported hardware by a very large margin, though Linux manages to support an impressive subset of Windows hardware.
Microsoft has even made great strides by building the Linux subsystem for Windows to provide people like me with a real Linux shell on the Windows platform. So why doesn't everyone just use Windows?
Unfortunately, I am extremely annoyed by the commercialism embedded into Windows. It is distracting and not useful to me. I am not going to buy any of the advertised apps or games flashing in the menu. Windows now pops up notifications in a side menu on the right, but doesn't let me easily close the menu with a single click? Why not? Why keep telling me the anti-virus software I didn't want has expired? I consider it borderline harassment that I can't just dismiss the notification with a click and have it be gone forever. Still, it has a lot of apps I need, so there it sits in a partition on my SSD.
Linux
Ah, Linux, how I love thee. I love the clean, uncluttered desktop, the lack of paid advertisers pushing their wares on me, the open source code, the vast array of open and free apps, and the vibrant user community. I forgive you, Linux, for suffering from the shortcomings many of us in the Linux community have come to expect. Such is the price of running an open source OS.
For power users, Linux offers the ultimate in flexibility, at a price. Several apps I am using lately are not available on Linux, nor are there sufficiently competent alternatives to allow me to abandon my Windows partition to the Trash. So for now I am stuck switching back and forth. I thought seriously about booting Windows in a VM inside Linux, but the apps I am using require accelerated graphics, so for now, I am left dual-booting both.
Summary
If you are looking to purchase a computer in 2020, think seriously about which platform you want/need to use, then narrow your hardware choices from there based on your expected use. Don't skim on RAM to save a few bucks, and don't let the Best Buy salesperson convince you that 16 (or, egad, 8) GB is sufficient for most users. You can thank me a couple of years from now.