How to pick 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:
- Processor (CPU)
- Graphics (GPU)
- Memory (RAM)
- Storage
- Screen
- Keyboard
- Camera & Microphone
- Ports
- Battery
- Operating System
- Upgrade Options
- Best Laptop For Programming?
Processor (CPU)
The CPU is one of the most important part of hardware in a laptop as it will determine how fast your code compiles. In general, 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 virtualization.
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.
However, 32gb offers 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. Nowadays, only 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.
Nutshell, a 256gb to 512gb may complete, but if you have images/ videos (training, meetings or learning) may call for the need of a broader, who saves this when everything can fetched as required.
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.
Ideal point, smaller screen sizes, which increases portability, sustains work-ability, go for a 22+ inches external monitor and wireless (mechanical preferred) keyboard and mouse. This adds cost in short run but helps long and relay runs as work experience and longevity for the laptop!
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.
Since this part is the most important part for programming, experience says keep one keyboard structure, as this improves typing, thus boosts productivity.
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. Hence ignore the availability with your shortlisted, if you have a fair camera and mic, go for it.
As an alternative, programmer can go for using its mobile phone for sometimes uses of such devices.
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/ larger monitor during a business meeting or regular working 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.
If size and flexibility allows, use a docking while traveling or flex between office/ college/ learning place and home use. So you never have to connect all your devices over and over again, example monitors/ external devices.
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.
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.
Although it’s understood, normally programming is either short time task or long duration hours. Hence the battery is only required short duration tasks, while for longer task the battery only causes distraction and the laptop is ultimately used as a desktop PC, in such cases a battery less laptop is ideally considered.
Therefore a battery in the laptop is considered based on the above points.
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 available 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 development 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.
Although we strongly believe, the operating system should be adopted based on the task or projects you are working or plan to adopt, so the OS hassles do not pull up productivity! Each OS has their own levels to give programmers, remember all is not all, you can’t do everything (apps & features) on a single device. Since you’re special your OS to your device should be too!
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 ultra-book 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.
Laptops reserves very limited options for up-gradations, hence a full time programmer coding from anywhere 8+ hours of working should consider a similar configuration desktop which has best advantage of flexibility of up-gradation, any time, any how and any way.
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 JayOm Infotech 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 upgrade-able, 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).
Posted on: March 1, 2022, by : Bhavin Thakkar