Uncategorised

How To Pick The Best Laptop For Programming in 2022!

Here’s everything you need to know when it comes to picking a laptop for programming in 2022!

These are the different things that a programmer needs to consider when buying a new laptop for software development:


All content in this article comes from this video where I interviewed programmer and laptop reviewer Just Josh:

Processor (CPU)

The CPU is one of the most important pieces of hardware in a laptop as it will determine how fast your code compiles. Generally speaking, you can write code on pretty much any laptop, a basic i5 processor is plenty. When you’re sitting there thinking and typing you don’t need a whole lot of power. This changes when you’re actually running applications and compiling code though.

How long compilation takes depends on a number of factors, such as the application you’re developing. It could complete in half a second, or it might need longer. The processor is primarily responsible for getting this work done.

Core and thread count are important to consider. Last year, Intel 11th gen performed better in single threaded performance while multi threaded performance was quite close to AMD Ryzen processors. This year, Intel 12th gen processors shake things up and offer many more threads compared to AMD. If you’re working with multi threaded applications and can save time or money with more processing threads, then an Intel 12th gen CPU may be the way to go.

AMD’s Ryzen 6000 laptop CPUs this year max out at 8 cores & 16 threads, while Intel 12th gen maxes out at 14 cores & 20 threads, quite a difference. Even if compile time only takes a few seconds, if you’re doing it countless times a day then it’s going to add up over time. If you’re a professional on a job then you may end up in a situation where it’s worth spending more money for a faster machine as it will end up saving you more time long term.

Ultimately it depends on the workload you’re running and how much time you want to save. The general rule of thumb is more CPU power is better for a programmer. More cores can help speed up certain tasks and will also give you more resources for things such as virtualizaiton.

Intel aside, the Ryzen 7 6800U offers good performance per watt and doesn’t get as hot in a thinner machine, while on the Apple side the new M1 chips are great if you’re dealing with ARM. Of course x86 is still available through emulation, but we’ll cover that more in the operating system section.

Graphics (GPU)

The GPU may be less important for many developers, however it of course depends entirely on what you’re working with. If you’re a programmer who wants to do some gaming on the side, then of course you’ll want a laptop with decent graphical horsepower. Another exception would be if you’re doing game development and actually making games!

Some applications may use CUDA acceleration or Ray Tracing in Nvidia RTX GPUs for machine learning (ML)/deep learning (DL). Tensorflow is an example of a library for machine learning that benefits greatly from Nvidia’s CUDA and Tensor cores, the latter of which is only available from their RTX series of graphics. Older GTX series GPUs still have CUDA cores, but no Tensor cores.

This may be a non-issue soon, as Nvidia will be introducing the lower end RTX 2050 to replace the GTX 1650 on the entry level side.

Today, RTX 3060 graphics are a great mid range option, however if you know you’ll need more than 6 gigs of VRAM then the RTX 3070 or higher may be worth considering. While AMD Radeon options can compete with Nvidia in games, for professional applications Nvidia seems to have the edge today.

Memory (RAM)

Compared to a normal laptop user, a software developer will need to run a number of additional applications in memory such as the IDE (Integrated Developer Environment) and the actual code they’re testing.

8 gigs of RAM is probably enough to survive with a basic machine and basic coding tasks, but ideally you should be looking for at least 16gb of dual channel memory with the option of upgrading in future.

32gb will offer more flexibility, more is always better but it of course costs money. As a programmer hopefully you have an understanding of how much data your code needs to bring into memory! Of course keep in mind that things change over time, and what you’re working on today may be entirely different to your workload 1-2 years from now.

Storage

For storage, in 2022 a SSD (Solid State Drive) is basically the only way to go. Very few laptops actually have 2.5″ drive bays for an older HDD (Hard Disk Drive) as they take up too much space and are far slower. Combined with the fact that SSD price has lowered substantially over the last 5+ years and the speed boosts on offer, I think using an SSD is a no-brainer.

In terms of total storage size, you’ll want at least 512gb as a minimum, but ideally 1TB with the option of adding more later if needed. At the end of the day, it really depends on the environment you’re working in and if you need to bring data with you on your machine.

Some workloads may require more disk space, for example deep learning if you have a lot of sample set images. Alternatively, perhaps a lot of the data lives server side and you can get by with the bare minimum. The point is just be aware of what you need.

Screen

You’ll be staring at the screen for hours when programming, which is why it’s one of the most important things to consider when buying a laptop. You will want a display that can show a lot of text clearly and is easy to read.

While larger displays like 17 inches will be better for this compared to say a smaller 14 inch laptop, don’t forget that a bigger screen means a larger laptop, reducing portability. A good compromise is a smaller laptop that you connect to a dock/larger external screen when at home or in the office.

A bright display, ideally 400+ nits with a resolution above 1080p is a good starting point. Many laptops are now coming with taller 16:10 screens, allowing you to fit more lines of code in the viewable area.

Unfortunately a number of OLED screens use PWM (Pulse Width Modulation) to adjust screen brightness, which introduces screen flicker and is known to give some people headaches after prolonged usage. Most programmers will therefore want to stay away from PWM based screens, though this does not affect everyone the same.

Keyboard

The keyboard is also important to consider, as it’s the primary way for entering code – at least until we have machines that can read our thoughts!

A keyboard with good travel distance that doesn’t have important keys in abnormal spots is critical. For example a smaller gaming laptop like the ASUS Zephyrus G14 doesn’t have many popular symbol keys. These aren’t critical for gaming, so they had no problem removing them to make a smaller laptop, but obviously this would be more of an issue for a programmer.

Personally, I enjoy typing on mechanical keyboards, and while some laptops do have mechanical keyboards they’re no where near as good as connecting a larger USB keyboard. Laptops are of course designed with portability in mind, so you probably don’t want to carry a keyboard around with you. The way I worked around this was just leaving my keyboard in the office and connecting to it with a dock while there.

With that in mind, there are of course still times where the laptop keyboard needs to be used. It’s worth getting a good keyboard built into the laptop as well and not only relying on an external keyboard. The feel of a key press can be subjective, so if possible trying out a laptop in a store before buying is the way to go here. You’re better off getting a feel for something that works for you than listening to a reviewer online.

Camera & Microphone

For the last few years, working from home and online Zoom meetings have increased for obvious reasons. Some laptops simply do not include a camera in order to cut down costs. If you’re working as part of a team you may need to show your face during those meetings, so keep this in mind! Also check microphone quality too, even if you’re not using the camera you still at least want to sound clear and not muffled.

Of course an external camera and microphone can give you a big quality upgrade, but this reduces portability. In many cases the built in options should be usable with the right laptop.

Ports

Port selection isn’t an area that’s too important for programmers. Compared to say a video editor who may need to connect a lot of accessories and SD cards for instance, most programmers just need a few USB ports. Type-C charging is a nice bonus as you can get away with traveling with a smaller lighter weight power brick.

HDMI is a useful port if you need to connect up to a projector during a business meeting for example. If your laptop only has USB Type-C ports, carrying an adapter or dongle in your bag for this reason alone will be a life saver.

Battery

Laptops are designed to be portable, so depending on where you’re coding you might not have access to power. Most people probably have power readily available, but maybe you just want to move to the couch or a co-workers desk!

Having a larger battery helps you work for longer without being connected to cables or carrying around a heavy power brick, especially if you’re traveling, say on a plane for example.

There’s more to it than just total run time on battery, but also performance on battery.

From my own testing, generally speaking AMD Ryzen 5000 laptops both perform better on battery and last longer compared to Intel 11th gen laptops. The Apple M1 chip takes things further and basically offers full performance on battery in addition to long run time, so you don’t need to be as concerned about slowing down while unplugged and compiling code.

Operating System For Programming

If you’re a software developer coding for native applications in Apple’s ecosystem (iPhone/iPad etc) then you’ve got to go for a Mac. Fortunately with the latest M1 laptops on offer from Apple, there are a lot of excellent choices out there right now.

Unfortunately, the current generation no longer support dual booting into another OS like Windows, however virtualization may be an option. With the move to M1 you’ll want to make sure any specific software suites you use have been optimized for ARM. Using x86 emulation through Rosetta 2 can work, but you may not want to rely on this for builds/tests yet.

If you’re not doing Apple/iOS specific dev work then there are a lot more options available to you, as pretty much every other x86 laptop can run either Windows or Linux.

Linux is great for those that want more control over their system. A lot of software run in the cloud ends up running on Linux based operating systems, so programming within a similar environment may be the way to go depending on what you’re doing. Again, virtualization and docker containers exist so this isn’t strictly necessary. A number of people have suggested an AMD based GPU for Linux due to better driver support, however this would also depend on what you need the GPU for, as covered earlier.

Windows is popular and has a lot of software support, plus virtualization and dual booting are possible here too. For laptops, most companies only offer software control panels to modify things like fan speed via Windows. For this reason alone it may be easier to use Windows as the primary OS and run a Linux VM (Virtual Machine) if needed. Perhaps this by itself isn’t a good enough reason to justify OS choice, but it’s worth keeping in mind as Linux support on a number of Windows based laptops is hit or miss.

Upgrade Options

Almost all laptops these days have the CPU and GPU soldered to the motherboard, the exception being massive desktop replacement “laptops” that are way too thick and heavy for most people. With that in mind, the storage and memory are the most common components that you can actually upgrade.

Unfortunately, a number of thinner ultrabook style options have the memory or storage soldered to the motherboard to save space which reduces upgrade options. It’s important to be aware of this, as having flexibility to add more SSD space or RAM a year or two from now if you need it may be a big benefit!

The gold standard is two SODIMM slots for memory and two M.2 slots for storage. With the new Intel 12th gen and AMD Ryzen 6000 processors coming in 2022, faster PCIe Gen 4 SSDs are now available from either side.

Best Laptop For Programming?

The goal of this article was to help you understand which aspects are important when selecting a laptop for programming, however also Josh recommended the following laptops at different price points:

Low-End

The MacBook Air is a little more expensive at around $900 and at the lower end only has 8gb of RAM, however generally it’s a good little machine for coders. Apple’s OS works well with lower amounts of system memory, you can fit a lot of code on screen, and it’s got excellent battery life.

On the Windows side, the Acer Swift X is a decent option at the lower end of the price spectrum. Of course when you’re spending less money nothing is going to be perfect! The keys can be hard to see in certain lighting conditions but you’re getting a lot of hardware for the money.

The Lenovo IdeaPad 5 Pro is another option, again a lot of bang for the buck. Certainly not perfect, the keyboard for instance isn’t amazing but again at the lower price range you’ve got to make some sacrifices.

The HP Pavilion Aero also offers some nice performance at the lower price point.

Mid-Range

The Framework laptop ticks a lot of boxes for a software developer. It’s got great Linux support, it’s fully upgradeable, the screen clarity and aspect ratio is great but the only downside right now is it has an Intel 11th gen CPU. In future there will be different options (hopefully AMD Ryzen or Intel 12th gen with more cores/threads), but at least you can upgrade the processor by swapping the mainboard – something almost no other laptop offers.

The MacBook Pro 13 is better than the lower priced MacBook Air, mainly because it has a fan. The models with no fan can get a warm to the touch when under load and you can really feel it as the solid metal chassis conducts heat.

The Lenovo IdeaPad Slim 7 Pro / Yoga 14S is a good quality Windows option, a level above the IdeaPad 5 Pro covered in the low-end section. It’s got a great screen and is a good all round laptop for a programmer. The keyboard is unfortunately lower travel though, so you might want to use an external USB option.

High-End

The MacBook Pro 14 with the M1 chip is a great option. Unfortunately you can’t get 32gb of RAM with the M1 Pro chip you need to spend more money for the Max chip.

If you do need 32gb of RAM then the MacBook Pro 16 is the way to go on the Apple side. It has much better cooling and a battery inside compared to the smaller 14, not to mention larger screen.

On the Windows side, the Gigabyte Aero 17 is a great choice. It’s got a large 4K screen that gets bright and looks nice. Performance is great, at least while plugged into wall power, unfortunately performance on battery isn’t spectacular and the keyboard lighting does not illuminate all secondary keys (at least with the late 2021 model, this should be fixed in 2022).

Check out the Just Josh YouTube channel for more laptop recommendations for programmers!


We are a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.

15 Comments

  • Robert Pickering

    Love your work Jarrod.

    I don’t have time to play games, as all of my time is taken watching videos like yours, so I can decide on which laptop to use for making videos using daVinci Resolve.

    So, I now know a shitload about gaming laptops, but that is not quite what I want to know, and I will not be playing any games.

    Could you please make a video to address the following…

    For content creation, using daVinci Resolve (which BTW is an Aussie product)…. and in particular, using Fusion for motion graphics, what is/are the:

    1. Minimum requirements if the budget is a real issue.

    2. The sweet spot, if I am willing to spend a bit more for future proofing, upgradability.

    3. The point where a high end gaming machine would be overkill for my purposes…. i.e. which do I need – a 3060, 3070 or 3080? Intel or Ryzen processor, etc…

    Why am I asking you this?

    Because I have spent/wasted 2 months now doing nothing but watching reviews of laptops, and yours are by far the best out there, and full of good larfs.

    I am an Aussie expat firmly rooted in Cambodia, so to speak, and desperately afraid to buy a laptop here, because warranties and after-sales service simply do not exist here. So, reliability is a major, major concern.

    Thank you for all of your work!
    RockinRobFromDownUnder

  • Jon

    Hey Jarrod, love the videos you make, I have a bit of a video request, could you cover vacuum coolers, whether they’re safe to use and their effectiveness on laptop temperatures?

    There are a few videos out there but they are all dated (3-5 years old)

  • Andy

    Hi Jarrod!

    So I bought a new Lenovo Legion 5 Pro (3070) and would you recommend staying with the single rank stock ram it came with or to replace it with my dual rank G.SKILL F4-2666C18D-16GRS (2x8Gb, 2666MHz, CAS 18) that I already have?

    Thanks!

  • Lionel

    Hi Jarrod,

    I am currently using a LGC1 48″ as my only display. I am looking for a laptop to power that screen and use it for gaming. Desktop is out of the question as my company only compensates us for getting a laptop or mobile device which allows me to bump my budget up to around 3k USD.

    Because of the constraints of using HDMI 2.1 to get 4k 120hz. I am stumped as to which laptop would serve me best. The screen on the laptop itself means little to me as I will only be using it for office work and only using the LGC1 for gaming when I am home.

    • Jarrod

      If you actually want to stand a chance of playing games at the 4K resolution, you’d need either 3080 or above from Nvidia or 6800M from AMD (only in one laptop right now).

  • Ramón

    Hi Jarrod.

    I writing to you, because i’m subcribed at your channel in Youtube. I really like all the content about laptop. I recently bought my first gaming laptop it’s a ASUS TUF Gaming F17 FX706HCB, 11th Gen Intel Core i5-11260H, 8GB RAM and NVIDIA RTX 3050, the main funtion of the laptop will be for Design (Civil 3D, Infrawork, REVIT, Road Modeling) and for gaming, but I would like to know if you could give me some recommendations for the best configuration for this laptop.

    I also want to tell you, yesterday i was watching Youtube videos and suddenly the videos started to look like 3d videos without the 3d glasses with a overlapping red color. I had to restart the laptop, I don’t know if this has to do with the video card.

    Thanks in advance

    Greetings from Honduras

    • Jarrod

      Not sure what would cause that problem, and not exactly sure what you mean by best configuration – you already picked your CPU/GPU combination. Storage/RAM can be updated if you need more.

  • Jin En

    Hi Jarrod, I just bought a lenovo legion slim 7i (2022) with 512GB storage, I want to add another 2TB ssd into the second slot, but I have no prior experience of installing any hardware into a laptop, do you think I can do it by just following the videos online or should I go to a shop and pay to get it install ?

  • Jin En

    Thanks for the reply above regarding the SSD, I have one last question, the lenovo legion slim 7i I got from China provided a power cord (10A 250V) which could not be used in my region, is it okay if I use the power cord from my previous laptop which is of (5A 250V) to connect the power brick in order to charge the laptop?

    • Jarrod

      I’m not sure, I guess as long as the brick supports what ever the socket offers while still delivering the required wattage to the laptop it should be ok.

  • Sol

    Hi jarrod i love your videos so much.
    I am looking to buy a laptop for around 1500 usd or less. I am looking to more creative work and maybe a little gaming on the side i was considering between a MacBook Pro 16 M1 and a Lenovo legion 5 pro what are your thoughts and suggestions or better laptop options.

    I would greatly appreciate your advice!!

Leave a Reply

Your email address will not be published. Required fields are marked *