What’s the best laptop for devs?

nikitaarmstrong profile image Nikita Armstrong ・1 min read

Currently looking a new laptop but can’t decide between :

1) MacBook Pro
2) Surface Book 2

Anyone any thoughts?


Editor guide
val_baca profile image
Valentin Baca

My stock answer for someone needing a spiffy new laptop:

need macOS? Find a "late model" Macbook Pro without the touch bar.
Linux? Either Thinkpad X1 Carbon for mobility or T480 for more bang-for-the-buck.
Windows? Probably go with a Dell XPS 13"

If you're on a tighter budget, finding refurbished or used versions of all those could really save money without losing out on much versus having the latests new model.

webreflection profile image
Andrea Giammarchi

Dell XPS 13" Developer Edition with Linux on it for the last 4 years: not a single regret ever.

kharouk profile image
Alex Kharouk

I've been looking at the Dell XPS 13 for a while now as a possible upgrade for me. What is your opinion on transitioning from a MacOS/Windows programming background to Ubuntu?

Thread Thread
webreflection profile image
Andrea Giammarchi

My opinion is that Ubuntu is not suitable for developers, gamers, or power users, it's rather suitable for offices. Try antergos instead and see how that works, it's always updated to the latest stable, and it's great for gaming, office usage, and everything else too.

Remember to switch on dark theme on tweaks software, and you'll probably be forever happy :-)

Thread Thread
wrends1 profile image
Thread Thread
webreflection profile image
databasesponge profile image
MetaDave 🇪🇺

I like the look of the T-Series, but maybe would go for a T580 for the 15" display. 14 is a little too tight for my liking, and I'm not one of the external monitor types.

adamthewizard profile image

I was stuck between the two for ages too, and then I bought a custom one from PC Specialist and it is actually more powerful and about half the price! Worth thinking about ✌🏻

rhymes profile image

I googled "Surface Book 2" just to see what laptop that is and the second result was: My Surface Book 2 is sleek, fast, innovative — and I hate it.

Apparently there's a known issue with CPU and GPU high usage that can discharge the battery when it's connected to the power supply. From wikipedia:

When running workloads with high CPU and GPU usage on a 15-inch Surface Book 2 with the power mode set to "best performance", the notebook consumes more power than its 95-watt power supply can provide, and its battery discharges. If these workloads are run continuously, such as during gaming or video transcoding, the notebook eventually throttles its performance to decrease power consumption and prevent complete battery discharge

Don't know if it has been fixed. Despite this it seems like a good laptop.

I think the ultimate decision is OSX vs Windows and that depends mostly on what you do and what you need and how you use your laptop for programming and for everything else...

Lately Windows has gotten better for developers:

mbtts profile image

This question is similar (it was Surface Laptop not Surface Book) but you may still find the discussion useful for your decision making.

I answered there in more detail but to summarise:

  • Neither is a good option at the moment because they both use the 7th generation Intel chips, whereas the 8th generation offer a nice improvement and are shipping on other laptops.
  • Your mix of development/design/mobile development is important to consider - there are certain tasks which may be harder or impossible on Windows.
  • As others have mentioned Ubuntu or another Linux distribution can also be well suited to development (but again comes down to requirements).

People can quibble either way on some, but generally in 2018 these rules still apply:

  • If you do any mobile development (including React Native/Flutter) then macOS makes most sense for access to the iOS simulator.
  • If you do some design or work closely with designers and require Mac specific tools (like Sketch) then macOS also makes most sense.
  • If you use a predominantly Microsoft stack (C#/.Net) then Windows is the way to go.
  • If you primarily develop with a non-Microsoft stack (Python/Java/Ruby/Go/Rust etc. etc.) then Linux is the best option.

WWDC has come and gone without any new hardware and to my knowledge there are no reliable rumours of Surface updates either (aside from a budget model). I suspect both will get updated around September/October but they may come sooner.

The MacBook has well documented keyboard issues and the Surface Book is bizarrely missing Thunderbolt and has some quality issues of its own (like an unreliable power button). It is a frustrating game of waiting as the next round of updates will very likely address these issues and be “the time to buy” for MacBook and Surface Book.

If you need to buy now then I would pick either the Thinkpad X1 Carbon or Thinkpad T480s. The reason I would pick the Thinkpad models over the Dell XPS 13 is because they both have slightly larger screens (14"), more comfortable spill-proof keyboards, higher build standards and include a webcam in the right position.

patrickodacre profile image
Patrick O'Dacre

I'd avoid MacBook like the plague because of what I learned here: youtube.com/user/rossmanngroup

I wouldn't do surface because I don't do design and don't need the whole tablet thing.

You can buy a lot of power for the price of those two...

I personally have an Asus rog and love it. The prices are reasonable and you get all the power you need.

If you're doing video editing etc it may not be a good choice, not sure.

For my next laptop I'll go ThinkPad or Dell xps because I love Linux.

nickjj profile image
Nick Janetakis

Depends on what you use it for.

I modified a chromebook to run Linux natively on it and am very happy with it as a portable computing device.

It's not what I use full time (I have a desktop workstation) but I still do a lot of programming on it.

It easily runs large Dockerized rails apps + VSCode + streaming music + lots of browser tabs without breaking a sweat.

IMO it's the best set up you can get for $350, that's for sure.

It ticks all the right boxes:

[x] It has a 1080p IPS monitor that rivals $1,000+ laptops
[x] It has a real SSD and an SD card
[x] The keyboard feels really really nice
[x] It weighs under 3 pounds and looks sleek

Details on which model I have and how I set it all up can be found at nickjanetakis.com/blog/transform-a....

djviolin profile image
István Lantos

The ones that you look on the shelf, touch it's shiny 13inch aluminium body, opening and closing the perfectly functional hinge, praise it's good bright, high resolution screen, taking into your hands to see the slim side of it, putting it back aaaaand walking over, because usually they are the most expensive in the entire store...

...and before you exiting, you see and old design Macbook Air which still looks great in real world...

fzngagan profile image

I'll suggest you go for mbp. I have used linux and windows for coding earlier in my college days but in both of them, things could break if you got into customization or tweaking and as a dev you dont want to be fixing os issues in your valuable time so macos is very stable and controls your access to certain parts of the os unless you really really intend to. This gives you the benifit of focusing on your work and not the os. UI and UX are the best in macos eg touchpad gestures etc and slick UI. Last but not the least hombrew which is the best package manager I believe which manages all packages you need especially coding related tools. Go for mac and I promise you wont look back ever again.

vgrovestine profile image
Vincent Grovestine

I'm just repeating what's already been said, but a Thinkpad T-series is the way to go, IMHO--I'm 6 years into a T520 and it still has plenty of life left. Alternatively, the X-series for portability or the newest generation A-series (AMD Ryzen) for a slightly less expensive option.

bkimballbrian profile image
Brian Kimball

I use a Lenovo T450S with Windows 10. No complaints, and I have not run into anything I cannot do. The surface pro 2 looks awesome. I am not a Mac guy, but I have heard a lot of complaints about them lately.

tctien342 profile image

An windows laptop running hackintosh :))

nyanev profile image
Nikolay Yanev

I've been a mac user for 8 years. Last year I bought most powerful MBP 15" 2017 and won't recommend it. After a few months, some of the keys have stopped working, battery life is awful it lasts 3-4 hours. I consider building a hackintosh for 1/4 of the price. Another good option for Linux/Windows machine is Lenovo X1 Carbon.

mathur_anurag profile image
Anurag Mathur 

This completely depends on the stack you are building and the target deployment machine.

For most development on Web, iOS, macOS, Java, JS, and allied, I would prefer MacBook Pro even if the deployment target is on Linux.

If you are developing on a predominantly Windows stack like SQL Server, Visual Studio, .NET, it may help to code on a Windows laptop. I would prefer a laptop to a Surface any day.

pkristiancz profile image
Patrik Kristian

Me personally suits most Lenovo ThinkPad series bussines laptops with keyboard containing trackpoint (aka clitoris :D) i love that layout so much i have at my hi-end desktop thinkpad external keyboard (two to be precise, another as failsafe in drawer). i have that notebook for 5 years and is good as new! (ok, bettery is a litte weak), but i love it

jitheshkt profile image
Jithesh. KT

Running on a 4 year old i3 Lenovo laptop. Recently upgraded ram form 4GB to 8GB. Does the job for me. It is FHD, light weight and fast enough to get my day today work done (PHP, React, React Native..etc)

nashpl profile image
Krzysztof Buczynski

I say anything with 8GB of RAM or more that can run LINUX OS on would do. But it all depends on type of devs you wanna do. If you have money for Mac then sure they are solid piece of equipment but if you do not want to drop big kind of cash then anything will do as long it has decent specs.

drewknab profile image
Drew Knab

I don't think the choice here is a very big one. It largely depends on whether you prefer the fit and finish of one or the other. Stats/price/capability are largely the same.

To me, the keyboard on the Surface Book 2 is nicer than the current generation MBP, but I prefer MacOS to Windows. The tablet feature is nice, but depends powerfully on whether you would actually use it or not. WSL is at a point where it does almost anything you'd want to do on on a Bash shell, so if you don't mind Windows then go for it.

Otherwise, MBP.

Personally, I switch between a 2014 MBP and a Thinkpad X220 on a daily basis.

nikitaarmstrong profile image
Nikita Armstrong Author

Thanks for all the help, has anyone used the surface book 2 yet and has any feedback on it?

I was also thinking a ThinkPad but was liking the fact that the surface can be used as a tablet which is good for mockups etc.

piotroxp profile image
Piotr Słupski

Go for the MBA with Linux (use the stock bootloader).

I've got a dual booted Mac OS / Linux MBA and it's the best of both worlds.

Currently, my Windows has been stored into a virtual image and the only way I run it is on my Linux PC with QEMU-KVM.

In terms of build quality and robustness, the MBA is by far the best I've ever seen - and you can configure it on Linux by adding gestures, fine-tuning the trackpad etc. since it's been around for some time already.

MacBook Pros are cool as well if u plan on installing Linux on it. ;)

ashishkapoor profile image
Ashish Kapoor

MacBook Pro any day. Just look at your budget on how fancy you can go ahead with it.

I regret buying the new MacBook pro with touchbar though.

quocdev profile image
alyson profile image
aly quey

Macbook Pro or System76 Lemur. ☺ But Lemur is not available now... (ノД`)

coolgoose profile image
Alexandru Bucur

Definitely not the new MacBook Pro. It has so many complains regarding keyboard reliability it's not even funny anymore.

I'm more in the boat that's good to have a 17in laptop for development :)

k2t0f12d profile image
nektro profile image
Meghan (she/her)

If you're looking for Windows, I can second on the Thinkpad, as well as HP and Acer have some great models

tinmanjk profile image
Ivan Petrov

What about Thinkpad T470p?

nikitaarmstrong profile image
Nikita Armstrong Author

I have never used a ThinkPad. It does look like a good laptop. Have you used it?

tinmanjk profile image
Ivan Petrov

Not specifically this one, but I have owned several models and from customer reviews on the thinkpads forum, I guess it is an improvement over older series.

piotroxp profile image
Piotr Słupski

Buy a cheap, second hand MBA and install Linux

sarcasmappreciated profile image
Benson Li

Dell XPS 13/15 or Huawei Pro Notebook

skopetn profile image
Skander Guarbàa

Lenovo Ideapad 700 (8go, SSD) and Ubuntu 16, two years now and no regret

elgoorf profile image
Hussein Duvigneau

Zero regrets about Dell XPS 15. With all the drama colleagues are having with port connectivity I'm still baffled people still even consider Apple products.

endlesstrax profile image
Ricky White

Man, you read my mind. I was literally looking for answers to this same question on YouTube last night.

eazel7 profile image

I wouldn't change my surface pro 2. Surface is goooood

tonykakkar profile image
Tony Kakkar

As a developer I would only sugget you MacBook Pro but if you have limited budget then you can check other options. thecrazybuyers.com/best-laptop-for...

vasilvestre profile image
Valentin Silvestre

In my opinion, XPS are winners. Their laptop is compatible with Linux and have nice drivers.
My XPS 2013 is still running perfectly, except with big VM.

That's a real must !

gautamkrishnar profile image
isaacleimgruber profile image

I know there's a lot of hype towards surface book but from what I read it's not worth the price

kristobaljunta profile image
Kristobal Junta

I would say, Thinkpads are one of the best choices if you're not tied to OS-specific tasks/solutions.