DEV Community

loading...

Laptops... How much computing power does a dev *really* need?

vgrovestine profile image Vincent Grovestine ・1 min read

Yesterday, I sought the community's recommendation for a Wunderlist replacement.

Today, there's another dilemma on my mind: How much "oomph" (computing power) does a developer honestly need?

My own laptop--a Thinkpad T520--is getting a bit long in the tooth. Sure, it still works for daily tasks thanks to SSD and RAM upgrades; however, I'd like to have something that's a bit more portable, with a FHD screen, and a battery that I can squeeze more than 4 hours out of, etc.

So, it's laptop shopping time!

I'm conflicted, however. The Thinkpad T-series is my gold standard, but do I really need that much machine? For example, my wife picked up an Acer Spin 1 not long ago--a spiffy little aluminium rig with ~6 hr battery, 11" FHD touch screen, 64 Gig eMMC storage (but open M2 slot), and expandable RAM, but only a Pentium Silver N4200 processor. Honestly, it's a rather nice ultra-portable that cost less than $400 CAD.

BUT... My instinct says "Pentium processor. Yuck! Too slow."

Am I being fair?

Obviously, anyone working with graphics or video, virtualization, or crunching data will want at least a modern, mid-range processor. Yet what about those of us who spend most of our time in VS Code with a few browser windows open?

What do you feel is the baseline for dev laptop specs these days?

Discussion (15)

pic
Editor guide
Collapse
ahferroin7 profile image
Austin S. Hemmelgarn

I don't think there is a true baseline, at least not a universal one.

In your case, if you're mostly using VS Code and doing front-end web development, focus on RAM over raw computing power (that is, high speed RAM (at least DDR4-2400) and at least 16GB), and make sure you have a good but efficient GPU, as those are likely to be your two biggest limiting factors for performance. Storage should be your next focus for practical reasons, and only then should you look at the CPU. A baseline i3 should be sufficient, though I'd hesitate to get anything less than an i5 personally.

Collapse
chrisrhymes profile image
C.S. Rhymes

My simple advice is buy the best spec you can afford at the time as it will pay you back later on.

I would say to get at least a 256GB SSD as you will fill it up quickly, even with just the Operating System updates.

I used to use Laravel Homestead for php development, which is a full blown Virtual Machine and can be quite intensive, but I have recently switched to Laravel Valet which is a much more lightweight solution. If you don't need a heavy weight solution, try looking around for less intensive alternatives.

Collapse
abbm586 profile image
Brian

I gave my kids(10/11yrs) a pentium 4, 2Ghz cpu with 4GB of ram, running Linux-Mint, and Im still able to help them with assignment without the need to punch the screen.
I bet I can still compile on it, but its not a machine I would like to use for myself.
Im running 32GB ram, 1Tb SSD, i7 T-560. Only because some stuff became cheaper/special offer, or what-not case.
Im now glad I did, because Im doing more graphics intensive tasks and the extra resources saves me on coffee intakes. Im rendering faster and compilling even instantly.
If I kept stock resources, maybe I would have punched the screen. Needing a new costly machine altogether.

If you can splosh a little, I would advice you do. It will give you room to breathe if you daily routine changes, you adaptation will not be so steep.

Collapse
mattmoranjava profile image
Matt Moran

My son's doing CS A-level at school & I gave him my old iMac i3 27". It's not up to running games but it's perfect for Python, JS and so on, and it has most of what he needs already installed. Funnily, his processing needs are lower than those of my daughter, who's doing music & art. She needs to run Clip Art Studio & Ableton Live, so she has my old gaming laptop. I think when we're learning to program, at least, it's good to use the minimum spec you can expect to program for. It encourages efficient code.

Collapse
mjsarfatti profile image
Manuele J Sarfatti

I have 16GB of RAM and a "2,6 GHz Quad-Core Intel Core i7" from 3 years ago. Plenty computing power for my needs (you could probably pull it off with half as much, if your workflow doesn't require a lot of compiling), but the RAM is never enough.

I'm a frontend developer, and when I have Docker spinning, plus a Windows VM to test on Edge (I'm on a Mac), plus a couple of browsers, plus webpack watchers, plus Slack, plus a vector design app... It gets tight soon!

As far as CPU goes, if you think about it, more power can have the effect of bringing a 3 minutes compile time down to 25 secs (I don't believe that's too extreme of an example).

After all this is our one and only tool, we spend 8+ hours on it every day. Say you spend 2000$ and it lasts you 4 years (a high end Mac can even last 5-8 years), that makes it 500$ per year. That's literally nothing if compared to the expenses of other professionals, such as truck drivers, or cabinet makers.

PS: I'm not at all advocating for a Mac, it's just my personal experience, to each their own! I'm just saying that spending a little bit more (for a nicer Thinkpad for example) can have nice returns.

Collapse
pthreat profile image
pthreat • Edited

Its never enough. It depends on the project and what it uses. Docker and elastic search for example are memory intensive. Add a java ide and a browser and youll find yourself in a rsther tight situation. Who knows what project will fall in your hands in the future? Better be ready to kill!

Collapse
stelgenhof profile image
Sacha Telgenhof

Of course whatever your budget allows :) But mostly it depends what you are going to use the laptop for.

I was in the same boat and decided to buy a ThinkPad P53. Like you, ThinkPad's are my favorite and have me served very well. At work I use a T480 and at home I have another T410. Mainly I use it for web development and 3D Modeling. Also running multiple VM's, Docker containers, etc.

My configuration:

  • ThinkPad P53
  • CPU: i7 9750H @4.5GHz (12 cores)
  • RAM: 64GB (expandable to 128GB)
  • 256GB NVMe (Don't need bigger as I have a NAS)
  • OS: Arch Linux

For coding/development this is likely overkill :)

Collapse
ghost profile image
Ghost

Like almost everything, it depends; what kind of dev you do, using Vim and a lightweight Linux install, when I work in embedded my Thinkpad x230 feels like a beast; Django? works great; starting to keep open Kicad, Inkscape and/or Gimp, less beastly and I would love more horsepower when I work with Rust (compile times are loong), testing in Django is also painfully long and having multiple Docker images can eat some RAM. All this with a very, very, very optimized OS.

You may not need much CPU but more RAM or a faster SSD, maybe some GPU, it all depends in what you do, needs for browsing, compiling, rendering, testing or writting code are very different.

Also check take into account your happiness, people often get to caught in tech specs and forget about, noise levels, screen quality, touchpad (you can always have a mouse, but you'll forget it sometimes); keyboard, that's something you can't change or upgrade (unless you end up with an extra KB which is nonsense) and if is bad will make your life miserable even with a monster of a CPU, you will just be miserable faster.

And some extras, like how easily is to open and mantain, I find almost imperative to change the thermal paste about once a year and check the dust in the fan, etc.

Collapse
andreasjakof profile image
Andreas Jakof • Edited

Trust me... you need more!
As a developer you will always hit the point, where you ask yourself "I thought this thing was fast?!".
So buy the heaviest machine (oomph, not actual weight) with the maximum RAM you can put in and at least (LEAST) 256 GB SSD.
Some bigger projects using GIT and node.js with some npm-packages.... there goes the disk space.

So no matter what, you will need more. But do yourself a favour and make it an i7, at least 16 GB of RAM and 256 GB SSD.

Collapse
tinydevops profile image
Jonathan Hall

The answer to this depends entirely on what kind of work you're doing. I know you said "dev", but that's not specific enough.

If you're building C/C++ applications, you probably need a lot of CPU power, because compilation is CPU-intensive.

If you're doing front end JavaScript, RAM is probably a lot more important, for rendering your complicated web pages.

So unfortunately, there's no one-size-fits-all answer.

My advice: Determine whether your current hardware is fast enough, and if not, determine where it's slowing you down. Are you running out of memory? Is your CPU constantly pegged? Is your disk too slow? Then optimize for that.

I have an old T series ThinkPad that was working perfectly fine, except for the hinge on the screen. That's why I upgraded. And my new ThinkPad is slower than the old by some metrics. But both serve me perfectly well, from a hardware specs standpoint.

Collapse
tomfern profile image
Tomas Fernandez

I would like to get by with low-end machines, the problem is that you don't need power... until you need it.

Collapse
hairy profile image
Hairy

I suspect I'm a bit of an anomaly here, then, as I value portability over pretty much everything else. I'm a full-stack webdev, running Visual Studio, SQL Server, Adobe CS, and all the usual extra apps on a Surface Go (8GB RAM, 128GB C:, 1.61GHz Pentium), and you know what? It's not just tolerable; it's great - I can run all of the above at the same time with no issues.

What I get is portability - I use a dock with two monitors at my desk, but when I'm on the move I'm carrying very small kit that I can power with a mobile phone charger or even a battery pack.

In fact, the only time I've thought "I should be doing this on a more powerful machine" was rendering video - if I was doing that on a daily basis, I'd be wanting something with more beef.

I build pretty complicated JS front-ends - which some would say requires more machine - but if I'm building interfaces that require a fast machine to run, I'm building bad, inefficient interfaces. The same applies for back-ends - if those processes won't work on a smaller machine with one dev user, they're going to be inefficient on a server with multiple real-world users.

My only gripe is C: space - there's just never enough - I can't see that it would cost that much more to put 256GB in what's essentially a tablet, and I'd happily pay the premium on that.

In short: I went for the happiness/convenience/form factor - I can shove my entire office into just about any bag, and go. Believe me, I'd pay considerably more for a 10", USB-powered laptop with a higher spec, but until someone releases one, I'm all good, ta.

Collapse
dreamdealer profile image
Johan van Tongeren

As a car-tuning enthusiast, my brain can only think: GIVE ME ALL THE POWERRRR!

But on a more serious note: I am not really into hardware (I just see my laptop as a tool), but I've been using a MacBook Pro for a few years now and it can handle everything I want it to do. I often am coding and running Fusion360 (3d cad software) at the same time and the machine keeps working flawlessly.

It's a MacBook Pro (13-inch, 2017, Four Thunderbolt 3 Ports) wit a 250gb HD.

Collapse
michielnuyts profile image
Michiel Nuyts

I always buy something around 2K, not much more, not much less. As a developer, it's your most important working tool, and mostly the only one. So I like to think about it as an investment, the more I invest in it, the better the returns, although there are of course diminishing returns at some point in the price range.

I would suggest you do a few weeks of research and try them out in real life as well, once purchased it's probably the thing you'll use most throughout your day, so it better sparks some joy!

Collapse
jaqko profile image
Jacko

RAM & GPU is what I'd look at first.