Skip to content

Instantly share code, notes, and snippets.

@ayoisaiah
Created July 15, 2017 22:25
Show Gist options
  • Save ayoisaiah/e1c820714171a0779fa0b9d6d82dd779 to your computer and use it in GitHub Desktop.
Save ayoisaiah/e1c820714171a0779fa0b9d6d82dd779 to your computer and use it in GitHub Desktop.

How to choose a laptop for programming

Purchasing a laptop for programming can be tough.

It's easy to get confused while researching the various options as there are many different laptop models out there, each with a different set of pros and cons.

Although you can write code on most laptops, your productivity will improve in leaps and bounds if you use a machine well suited to the type of tasks you perform.

Since there are different types of development, and the tools required in each specialization vary greatly, there is no one-size-fits-all approach to buying a development machine.

Hence, I made the following assumptions in this article:

  • You are a web developer.
  • Your laptop is your primary development machine.
  • You do not have any external displays.
  • This is the first time you're purchasing a laptop specifically for programming purposes.

Here are some important considerations I think you should take into account before purchasing your next laptop.

Mobility

Laptops come in all shapes and sizes. You need to figure out how portable you want your laptop to be. If you do not need to carry your laptop around often, you might want to consider a 15-inch laptop. Those will usually have better specs and more screen estate for all kinds of multitasking.

On the other hand, if you work in different locations or travel a lot, a 13 or 14-inch laptop would probably be best for you since these are typically lighter and provide longer battery life.

Additionally, unless you're buying a 2-in-1 laptop, a touchscreen does not provide enough benefits to justify the added cost so I'd advise you steer clear.

Display

A laptop's screen one of its most important features, and doubly so for programmers because developing applications typically involves staring at one for long periods, so you need to pay close attention here.

Most budget laptops ship with a 1366 x 768 display which I consider to be mediocre at best. You don't get enough screen estate for multitasking, colors and text aren't sharp enough to make for a comfortable reading experience.

I also think a 4k display is overkill for a laptop considering the added costs and battery drain that you will encounter. Whatever you do, don't purchase a laptop with less than a 1920 x 1080 (1080p) display (also known as Full HD). If you have to pay a little extra to get 1080p, do it.

Also make sure the display has good viewing angles; your laptop's screen should not double as a mirror!

Processing Power (CPU)

Your laptop's CPU has a huge influence on performance so you can't afford to skimp on this one. There are many different types of processors with different specifications. Make sure to consider these specs carefully. Some of the most important ones are cache size, number of cores, frequency, and thermal design power.

In general, a nice Intel core i5 or i7 processor with a frequency of 3GHz or more should suffice for most people.

Memory (RAM)

I don't think any serious programming can be done on a laptop with less than 4GB of RAM. 8GB is my recommended minimum, but even that is becoming barely sufficient with the advent of Electron apps which love to consume large amounts of RAM. If you have extra cash lying around, invest in 16GB of RAM.

Storage type and capacity

Getting an SSD should be near the top of your priorities as it will give you significant performance improvements over a standard hard drive. Every operation will be a lot quicker with an SSD: booting up the OS, compiling code, launching apps, loading projects, you name it!

A 256GB SSD should be the baseline. If you have more money, a 512GB or 1TB SSD is better. Even if cost is a factor, opt for a smaller SSD where your OS will live alongside your apps and frequently used accessed documents (such as project files). The remainder of your stuff, such as music or videos, can rest in a larger external hard drive.

Keyboard

You can't afford to compromise on your laptop's keyboard quality since it is what you'll use to bang out code all day. I don't like full-sized keyboards (those with a dedicated numeric keypad) so I tend to go for laptops with a more compact keyboard layout.

Whichever you prefer, the most important thing is to try out a laptop's keyboard thoroughly before making a purchase. Make sure the keys are comfortable and easy to reach with good travel. A backlit keyboard is useful if you intend to work in low-light conditions often.

Juice

Good battery life may not be all that important to you if you spend most of your time near a power outlet. Nonetheless, shoot for at least 6 hours of battery life.

While researching specific laptop models, don't rely on the expected battery life as stated by the manufacturer. Instead, read third-party appraisals from reliable websites and see what real users are saying about the product in forums and reviews.

Operating System

Your choice of operating system will determine which laptop to buy to a large extent. If you prefer macOS, you're automatically limited to one of the Macbook offerings. Windows can be run on a wide range of laptops so you've got plenty of

Linux will run on most hardware but it is better to buy laptops which have official Linux support. Some vendors, such as Dell and System 76, provide top quality laptops that come with Linux pre-installed. You might want to look into those first. Otherwise do your research to make sure the laptop you intend to purchase plays well with your preferred Linux distro.

Dedicated or Integrated Graphics?

A dedicated (also known as discrete) graphics card isn't all that important for coding purposes. You can save money by going with an integrated graphics card and invest the money you save in an SSD or a better processor which will provide more value for the money.


I'd love to know what factors you consider to be most important for a development machine and how it affects your work on a day to day basis.

If you enjoyed this article, please share with your developer friends and click the green “❤” heart below and so others can find it too. Thanks for reading!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment