I will guide you on the minimum requirements for a programming laptop for any type of developing. Including game development, web development and mobile development. Then we'll go through very cheap laptop solutions for this end.
For a programming laptop we have to set some minimum system requirements as a base for this article. Having in mind the idea of "programming in a comfortable manner" we are going to set the minimum and recommended system requirements.
Minimum requirements for a programming laptop:
Those are the very minimum requirements to do some software developing in a comfortable manner, meanning you will be able to open a lot of tabs in your browser while working in your IDE and some other desktop programs like spotify for music and paint.net for some basic image editing.
Technically you could in fact go even lower and do -very uncomfortably- with just 4 GB RAM and no SSD. If you think about it developers in the past worked with way less, that is, not with present tools. I understand some of you are students or live in places where tech is expensive and not everyone has the means to buy an expensive laptop, if that is your case keep reading this article as I will give you tips on how to get a programming laptop for very cheap.
Recommended requirements for a programming laptop:
If your laptop satisfies these requirements you will be able to develop very comfortably. Including gaming development and some image/video editing, CPUs nowadays include integrated graphics powerful enough for this. If your laptop comes with a dedicated graphics that's a plus, but not really necessary.
Laptop specifications explained
For programmers RAM is the first thing we see when we're a looking for a laptop. Programming takes a lot of multitasking, lots of windows and different programs working at the same time. Heavy IDE's and your web browser are enough to take on your RAM. Make sure of not having any program or virus messing with your RAM, press ctrl+shift+esc to monitor your resources. 8GB RAM is the minimum requirement nowadays, altought you could do fine with 4 if you get really creative and efficient.
Luckily for us RAM is not the most expensive part of a laptop and you can also upgrade it. 8GB DDR4 laptop RAM is arround 40 USD in major retailers. You can also find perfectly functional DDR3 RAM in broken laptop or recycling centers.
The processor is the second most important part to watch for in a programming laptop, yes, the second most important after RAM. CPU importance is subject to your type of development, it goes like this: If you are a game developer or data scientist, it is important, if not -say you're a web developer, wich is the majority- you can do fine with a lower end CPU.
The CPU will help you have a smooth experience with no glitches and the possibility of multitasking. 4 or more threads is recommended.
Game developers should try and get a CPU that scores 5000+ in Passmark multithread, i5 8250u for example.
Web developers can do fine with a laptop that scores 1500 in Passmark multithread, A8 6410u for example.
Another extremely important factor for programmers is type of storage. Having a SSD is just a must nowadays.
What is a SSD?
SSD (Solid State Drive) is a type of storage that is way faster than the usual HDD (Hard disk). The big difference is that while hard disks are mechanical in nature (thus they make a noise), SSDs store files in microchips with interconnected flash memories. This makes them way faster than HDDs and you will notice the difference, not only when you first turn on a laptop, but also when working with files or multitasking. When your Operative System runs out of RAM it resorts to your Storage in the form of 'Cache', SSDs are way better suited for this than HDDs and that is why it's really recommended that you get a SSD.
A lot of laptop models allow you to have both HDD and SSD at the same time. This is the most money-efficient configuration as you have your OS and important programs installed in your SSD and the rest in your HDD.
If you don't have a lot of money and need a laptop right now this is a relevant factor. Some laptops come with a maintenance hatch that allows you to easily upgrade RAM and storage without voiding warranties.
CPU and GPU upgrades are not possible as of writting this article, so what ever you buy in this regard is what you are going to be working for some time.
Display resolution and size
Resolution and size is really important when looking at code. The more space you have to look at classes or functions the better. The screen is also significant for your sight health, there are factors like blue light emissions or PWM (screen flickering). PWM is a method to make the illusion of lowering screen brightness, which could be harmful for your eyes and it's preffered that a laptop doesn't use it.
IPS or TN?
IPS panels (In-Plane Switching) are better for programmers as they offer better viewing angles than TN panels. If you're the kind of developer that likes being outside, an antiglare screen would be great for you, sun or bright lights won't bother you while coding.
Keyboard for programming laptop
When it comes to keyboards it's a lot about personal preference, nevertheless there are terrible keyboards that don't satisfy any preference. This is something to watch for in reviews when buying a laptop.
There are basically three type of laptop Keyboards:
Graphics card for programming?
Graphics card are not really necesary for programming. You would only need it for game developing and testing, and even there in most cases you would do fine just with a modern integrated graphics card from Intel or AMD.
If you insist on having a graphics card because you also do some light gaming. There are models with decent performance for light laptops, for instance in Nvidia's side: MX150, MX250 and Max-Q models and in AMD's side the Ryzen APUs perform similarly to Nvidia's MX line up.
Althought having a graphics card is great, remember that by going with just an integrated graphics you're saving money that you could use for a SSD or RAM upgrade, which are way more important for coding.
Types of developers and their laptop needs
Laptop needs varies from developer to developer, there are those that don't really need too much hardware while others don’t have enough with the most powerful computers.
Game developer laptop
Game developers work with software like Unity, Godot, Game Maker, Android Studio and so on. They use programming and designing software at the same time, this requires a powerful machine. Althought most integrated graphics nowadays can handle this work load, a dedicated graphics is recommended.
About RAM, 8 GB is the very minimum, with less you probably could do some light HTML5 or retro games, but if you're going to be using the programs listed above you will need a lot of ram.
A strong processor is a must. 5000+ Passmark score is good enough. I did some game developing with a way less powerful CPU, but I only used a light weight game engine.
Web developer laptop
Most web developers require less powerful laptops than in other types of programming. You will probably work with light editors like Visual Studio Code or Sublime Text. Frontend frameworks used are React, Angular and Vue. Common backend frameworks are Laravel, Codeigniter, Django, Springs, Rails and so on.
Software aforementioned doesn't require too much resources, althought having a lot of RAM is preffered. Again, at least 8 GB of RAM as you will be working with lots of tabs both in Visual Studio and your browser.
CPU-wise you will do fine with a lower end i3. GPU-wise you won't require a dedicated graphics, integrated is enough. I wouldn't want to discourage anyone from starting web development with a lower end laptop, if you have one with less 8 GB RAM I'm sure it can be done, you just need to be really efficient.
Mobile developer laptop
As a Mobile developer you will work a lot with languages like Java, Swift and Objective C. Software like React Native and Android Studio will be used, which requires some resources. Compared to web developing you have a bit more needs as hardware is concerned.
You CPU must be virtualization enabled as you will be emulating phones or others. A dedicated grahpics is recommended but not needed.
Data engineer laptop
Data engineers work with databases, usually in cloud platforms like Amazon services. They also work a lot with programming languages like Python. All this doesn't really need a more powerful laptop than the minimum requirements mentioned in this article. Otherwise, if you want to do something else with your data, like Machine learning, you will need a graphics card and preferably a desktop computer or a cloud service.
Programming laptops for every price: Less than 50 USD
Less than 50 USD for a programming laptop? Yes, it is possible. Most people at some point in their lives have been totally broke, programming or working from a computer is a great way to start, but for that we need a capable laptop. This was my case in college when my laptop was stolen and I had to get another one ASAP because I had coding projects soon to be evaluated.
How did I get a programming laptop for less than $50?
Remember the minimum requirement is 8 GB RAM, a CPU that scores 1500+ on Passmark and a 256GB SSD, we're going to try to get just that.
The first thing is getting an old laptop with a CPU that scores 1500+ (any less than that would be impossible to work with). You can either ask friends/family if they have an old laptop (working or not) or ask/buy in your local tech recycling center. If the laptop you got doesn't work you can try and repair them.
The very old laptop I got
The very old laptop I got from a good friend was almost a brick (It did turn on but immediately went to a blue screen). My friend informed me that the laptop had artifacts when he last used it, something like this:
That meant the GPU was failing. After some googling I found that the model was known for GPU disoldering. This meant I had to reflow the GPU. If you don't know these terms don't worry, I didn't back then either. Fixing the laptop was not easy, but keep in mind I could have just disabled the video card and it would have worked just fine (because the CPU has integrated graphics, it's an APU). Most old laptops declared "broken" by their owners usually have this kind of problems, sometimes it's even easier and only need OS reinstallation.
The laptop I got was an old HP with 4GB RAM, an A8-6410 APU (scores slightly above 1500 on Passmark, this is what you're going to find for free or very cheap), and a HDD with Windows 8 installed.
How did I fix it for programming?
First I did some general maintenance, cleaned it up and renewed the thermal paste. then I took out the HDD with Windows 8, saved it and never used it again. Then I bought a 240GB SATA III SSD for $35 and installed linux and Windows 7 on it.
By now my laptop was pretty decent for programming. Everything loaded fast enough, I could use my IDE and some browser tabs at the same time, I learned to not use so many tabs as I usally did before, but I found myself working with MySQL, web frameworks and stuff. I needed more RAM.
I went to my closest tech recycling place and I got myself a 4GB RAM SODIMM stick.
Check the speed of the RAM you're getting. The best is that both RAMs should have the same speed. If not they will work at the speed of the slowest.
Now I had a system that I could work comfortably on. I could open many tabs while working on both frontend and backend frameworks. I even did some mobile and game development. Everything worked fine with my very low end processor, SSD and 8GB RAM. It costed me $35, all you need is some hustling.
Until the $350 mark you're better off buying/getting an old laptop and upgrading it as I explained.
Programming laptops for every price: Less than 350 USD
Walmart's Laptop, Motile 14":
RAM: 4 GB DDR4 RAM (1 slot only)
CPU: Ryzen 3-3200U.
Storage: 128GB SSD.
Upgradability: Regular to bad, althought it doesn't have a maintenance hatch it's relatively easy to get in there. Only 1 occupied RAM slot.
Display: 14' Full HD.
Weight: 2.55 lbs.
Walmart's laptop can be found, depending on the date, under $250. From a programmer standpoint it has all the necessary except for RAM. While the RAM is not soldered to the motherboard, and thus is upgradeable, there is only one slot, which means you have to buy a more expensive stick of 8 GB RAM (or even 16) and you can't use the one of 4 GB that came in the laptop. Impressively the display is Full HD.
Programming laptops for every price: Less than 500 USD
RAM: 8 GB DDR4 RAM (1 slot only)
CPU: i3 8145U.
Storage: 128GB PCI NVMe M.2 SSD.
Upgradability: Bad. No maintenance hatch or posible upgrades.
Weight: 3.97 lbs.
The Lenovo Ideapad S340 with i3-8145U includes all the minimum system requirements for a programmer nowadays right out of the box. It's lower points being the lack of upgrading options and the not Full HD display. It's price is arround the $450 mark.
RAM: 8 GB DDR4 RAM
Storage: 256 SSD.
Upgradability: Medium. No maintenance hatch, but it is posible to upgrade the RAM as there is 1 free slot.
Very close to the $500 mark we have the Dell Inspiron 3493 with an i3-1005G and no dedicated graphics. It will handle most of the things you throw at it, the only downside being it's HD diplay.
Programming laptops for every price: Close to 1000 USD
Microsoft Surface Pro 6
RAM: 8-16 GB DDR4 RAM
CPU: 8th generation i5 or i7
Storage: 128-1TB SSD.
Upgradability: Bad. You get what you buy.
Display: 12.3-inch, 2,736 x 1,824 PixelSense display.
Weight: 1.73 lbs.
An extremely portable laptop/tablet. It's small footprint and excellent battery life makes it a great laptop for traveling. It can more than handle any workload and despite having a small display you will find a lot of space in it thanks to it's resolution.
Lenovo Legion Y540
Storage: 521 GB PCIe SSD.
Upgradability: Medium. No maintenance hatch, but there is an additional slot of RAM.
Display: 15,6 inch FHD 60Hz IPS Anti-Glare.
Weight: 5.06 lbs.
GPU: GTX 1650.
Well, this is actually a gaming laptop. The Lenovo Legion y500 line up has been known for having excellent thermals and consequently a great performance with any hardware they put in it. While it is a bit bulkier than other laptops listed here, it isn't too much and also looks very professional. It's display is nice too, great viewing angles. This laptop is 100% recommended if you intend to both game and program in it, althought the GTX 1650 is good enough for 2020 titles in Full HD, for more money you can have a 1660TI.