You don’t need a powerhouse laptop to program. In most cases, looking at the other features the laptop has is more important, and that’s where your budget should be going.
Today, we’re going to take a look at each of the categories you’ll see on the average spec sheet, and break down what’s really important for programmers.
Memory
These days, I’d consider 4GB of memory to be too little for basic use. 8GB will get one by just fine, however 16GB is probably where the sweet spot is for productivity now and a few years down the road. 4GB options held on much longer than they should have due to the sudden and violent rise in memory prices a while ago, but we’re back to hitting historic lows again, and 16GB should be your target if you’re unsure. Browsers, electron apps, everything just uses more memory these days to do basically the same tasks. Applications haven’t necessarily had to deliver more complex content, but the average amount of memory available in the typical store bought PC has increased steadily, so why not use it irresponsibly? Right?
Anyway, you’ll want to pay attention to something potentially more important than the amount of memory. You may intend to start with something less than ideal and upgrade later, however some laptops come with soldered memory—especially ‘thin and light’ laptops. This isn’t a bad thing, you’ll just want to make sure that if you get a laptop with soldered memory, you get a comfortable amount, not just for now but a few years down the road. I personally wouldn’t buy anything with non user upgradeable memory that has less than 16GB for a primary computer, but your needs and budget may vary.
The ‘type’ of memory isn’t important here, most things are on DDR4, but that’s dictated by the chipset. You won’t see much of a difference either way if it were a choice, and even in cases where the laptops are kitted out in a way that prevents dual channel from running properly, which is a thing for some reason, you wouldn’t generally be hindered by it.
Screen
For many programmers, the screen is the single most important factor in choosing a laptop. After all, what will you be doing most of the time? Aside from procrastinating and watching Netflix, the rest of your time will likely be spent reading text, wrangling windows, and potentially testing websites.
You may be tempted to get the highest resolution option available, but you’ll find that the Windows display scaling is still… frustrating. In terms of usable space, you’ll want 1920×1080 if at all possible, giving you the ideal amount of real estate for a screen that’s 15.6” to 17.3.” For smaller screens, you may find yourself wanting to trade in real estate for readability.
By usable space, 1920×1080 doesn’t mean that’s the resolution you need to stick to. If you’re ok with scaling, any resolution above that will do just fine. 1600×900 is still another solidly usable choice for budget laptops. Don’t go for anything that’s 1366×768—someone’s been sitting on some stockpile of these trash screens for years and shoving them in laptops that no one should buy. At that resolution, not only do you not have enough room for activities, simple things like websites are much more frustrating to use. This has been the case for years—we’ve moved past designing content with a resolution that low in mind, but they’re still sold.
One final thing to keep in mind about resolution is video scaling itself still isn’t perfect. If you think you’re cheating the system by getting a 4k laptop that you’ll run at 1920×1080 (exactly a 1:4 ratio) AMD, Intel, and NVIDIA all fail to have an integer scaling option. This means that despite the fact that 1080p should scale perfectly and look native at 4k, the GPU will use bilinear scaling and it will still look blurry. If you buy a 4k laptop, you’re buying a laptop you will use with scaling.
One much less complicated thing to look out for is the screen finish. You’ll probably want a good anti-glare coating. This is especially important if you’re using your laptop in environments where you can’t control the brightness and direction of lighting—like an office. Some people are bothered more than others, but for those that absolutely cannot stand screen reflections, this often is the most important part of a laptop. It can even lead to headaches!
Matte screens are the best option for this, far better than glossy or glass with anti glare coatings. Unfortunately, matte screen options are rare on anything that’s not some oversized gaudy gaming laptop or an overpriced professional workstation, but if you find matte options you may want to consider them.
Keyboard
This may not sound that important, but most of your day is spent typing. In fact, your needs as a programmer are probably similar to the needs of a writer in many aspects. You are probably not going to get an excellent keyboard on most thin and lights, and it’s a silly thing to pass up otherwise perfect laptops for, but pay attention to video reviews, as they often cover keyboards. Make sure you get something that, at the very least, won’t make you hate life itself when typing. Are you the type that can’t live without a backlit keyboard? Make sure that’s on your checklist.
Also, pay attention to the placement of the home and end keys. Many laptops shove those in some asinine place because most people don’t bother using them, but you’re a programmer. Moving to the front and back of lines is what you do.
Form Factor
Is it really necessary to have a laptop that you can slice a tomato with? Of course, it’s not a bad thing like it used to be, these days there are a lot of excellent thin and lights (called Ultrabooks if you’re that person). They often come with power efficient hardware that still won’t underperform while staying cool and providing excellent battery life, a far cry from what they used to be.
However, how do you really use your laptop? Will you mostly be on a table, or docking in to external setup? Do you walk to work or do you just carry it from your car? Will you be committing git updates from airplane wifi? Thin and light is great, but don’t break your budget or lose out on other features that may be helpful to you if it’s not something you need.
Connectivity
Connectivity is a little more important for a programmer than it is for the average user. Where the need for absolute power isn’t something programmers share in common with gamers and tech enthusiasts, screen setups are. If you willingly code on one screen, you likely also peel potatoes with a spoon and scrub your floor with a toothbrush. You do you. For the rest of us, having multiple screens is absolutely necessary. Two gives you all the functionality of multiple monitors that you need realistically, but many prefer more.
HDMI options are usually pretty solid, however mini displayport (or full size DP) will allow you to adapt to almost any screen. You likely already own one or more screens, and you’ll want to make sure you can connect to them.
Some laptops plain don’t support more than 2 screens at a time, even if they have enough ports (remember the internal screen counts). Even if you’re getting a laptop with a dedicated NVIDIA GPU that supports X number of screens, 95% of the time it’s running through the Intel iGPU’s framebuffer, and you’re limited by what that supports. This is called Optimus, a technology that allows the laptop to actively switch between low and high power GPU options to maximize battery life. There’s usually no way around this unless it’s available in hardware. Do your research and make sure you can actually use your laptop with your screen setup—USB adaptors are an option, but they put more load on the CPU, are often sluggish, and simply aren’t good for much more than text windows and videos (sometimes).
Getting the ports you want is pretty straightforward, but what isn’t is USB-C. It’s a mess right now, much like the original USB was when it was first introduced. It provides the ultimate flexibility while simultaneously providing the ultimate headache finding out if your device will support other usb-c devices and adapters. Even finding cables that follow standards is hard, and your device itself may have a borked implantation. But, don’t worry, after you get through the headache you’ll find that while it can be a mess of dongles, you’ll be able to simply plop your laptop down and plug one or two in one reversible connectors for power, multiple screens, mouse and keyboard, and ethernet. When it works, it’s simply wonderful.
Some laptops may come with only usb-c, so make sure to do your research and find out what dongles and hubs you’d need, and how much that will add to your price.
CPU
For most programming applications, you won’t need that much CPU power. Unless you do. You already know if you do. You might be asking yourself “Should I be getting an i3, and i5, or an i7…wait there’s an i9 now?”
In 2020 it’s all near meaningless, and the entire concept is absurd.
Let’s break down the important parts, then make things simpler if you still can’t decide
Core and thread count: This mostly isn’t tied to the ‘i number” at all anymore. In laptops, there are quad core i5s, dual core i7s, six core i7s, whoever’s naming these has been exposed to too much lead and has lost their mind. If you want to see how many cores and threads a laptop’s CPU has, just look it up on Intel’s ARK page.
You may be wondering, “Wait, dual cores? In 2020? I had a dual core 10 years ago!” Yep. And it’s fine. All current dual core options have hyper threading, meaning they have 4 threads, and work quite well for most things. In fact, the larger difference will be between a proper dual core and low speed low power draw options like the ‘Core M’ series.
If you want power, 4 cores 8 threads is still pretty much the standard. There are 6 core+ options out there now for consumer laptops, but they’re relatively new, power hungry, and expensive. Most things you’re going to be dealing with will benefit more from per core performance over having more of them. Don’t go for 6 core options unless you know you need that sweet multi core performance—do programmers really render video all day?
Speed: Is one laptop listed at 3GHz and the next at 4? Wait until you find out they have the same CPU! Intel has their CPUs actively boost their clock rate and power down when they reach a thermal or power limit. That 4GHz may only happen on one core for a short burst. All Intel options will throttle with poor cooling, and many of the more power hungry CPUs plain just cut their clock rate in less than half on battery.
All you need to know is what the base clock is. Sure, you may throttle below that, but as long as you’re not looking at some extremely low powered CPU that’s well under 2GHz at base, you’ll be fine. Most people make a comparison to the clock speed of computers they previously owned, and overlook generational IPC (instructions per clock) improvements. For example, a 2.5GHz core on a second generation Intel i-series CPU is actually much slower than a 2.5GHz core on an 8th generation one. Don’t look too much into the pretty numbers and try to get the highest clock rate.
Making things a bit simpler: Just go with a quad core Intel CPU if you can afford one, but a good dual core isn’t going to kill you as a programmer. You’ll likely never have a problem.
Graphics
These days, Intel’s iGPUs (the GPU included on the CPU die) are an order of magnitude better than they used to be. Unless you intend to run graphics heavy applications or play some games on the side, skip this part. It won’t matter.
Still here? Well, a dedicated AMD or NVIDIA GPU is never a bad thing, but it may reduce your battery life in some setups, or ultimately be an unnecessary extra cost. If you intend to do some light gaming on the side, find out what GPU is in the laptop, and just Google it. You’ll get a pretty good idea if it can run the games you want. Even the iGPUs can run some simple games like Rocket League or CSGO these days.
Battery Performance
There are many programmers and developers who freelance and work in places without a power outlet, like in a cafe. In such situations, battery life is essential. What sort of environment will you be working in? How important is battery longevity to you? Make your purchase decision accordingly.
You don’t need to concern yourself with how many milliamp hours the battery has or any of the spec related stuff like that. A bigger, badder battery doesn’t mean a longer lasting one—that’s entirely dependant on how power hungry the hardware is. Just look up some reviews and see what their battery life test results are if it’s important to you.
Storage
You need an SSD in 2020. This isn’t an option. Discard any option you were considering that has a mechanical drive (usually labelled HDD). You can get an SSD for cheaper than a mechanical hard drive. There is no excuse for anyone, for any use case, to buy a laptop whose primary drive is spinning rust in 2020.
The speed of it is not really important. Sure, you can get a crazy fast SSD, but even the bottom of the barrel ones are like night and day over the traditional hard drive. It’s not about the read or write speed, it’s about the speed of the random operations. No more needles seeking over platters. Programs will open fast, things happen nearly instantaneously, and you won’t die of hunger before Windows Updates finish.
Don’t focus too much on the other specs, just make sure you have enough space. You probably have an idea of what you need—how much did you use on your old computer? A mechanical disk is just fine if it’s not the primary drive. You can also look into cloud options for mass storage.
The Goal Line
I hope this guide has been helpful, even if it was a bit verbose. If you liked this article, you might want to take a look at this post on the 5 best alternative web browsers. New computer, fresh start, right? If you’re a programmer in the Kolkata area and looking for a job, head on over to CodeClouds’ jobs page — they’re always hiring.