Ask HN: What laptop should I get for development?

25 points by petargyurov ↗ HN
Hi HN.

I haven't shopped for laptops in a decade and I need some guidance.

TLDR:

* Daily use: VSCode, Figma, Photoshop, Firefox, Slack

* Currently use Pop!_OS and I really like it; would be nice to keep it

* I love the look of Macbooks, but I don't know if I will like macOS

* I don't really want to buy into the Apple ecosystem; will I struggle if I don't have an iPhone?

* Light gaming is a nice bonus (but I should say I don't like the look of most gaming laptops)

* I have a high budget

* Looking for something light, slick and portable as I will be travelling a lot

Any recommendations? So far I'm thinking a Dell XPS of some sort but not running Windows on it.

49 comments

[ 1.8 ms ] story [ 122 ms ] thread
I have a framework laptop (https://frame.work/) and really like it! I run Ubuntu right now, and do run into issues with fractional scaling, but I haven't seen any laptop properly address that on linux.

One downside is the battery isn't amazing. I usually get ~3-4 hours when doing development work and ~6-7 with light use.

Was looking at those.

How's the trackpad and keyboard?

I also am a very happy framework customer running Manjaro Sway. many years of MacBooks before that.

the trackpad feel will depend on how you or your distro configures it but for me it's been good enough I don't think about. i love the framework keyboard. by comparison I haven't tried whatever macs use after the butterfly keyboards which I really disliked.

agreed with previous poster that the battery doesn't last nearly as long. will pick up an extra one or two once they're available on the marketplace.

> Currently use Pop!_OS

> I have a high budget

There is some company that makes somewhat pricey laptops and works on some Linux OS. Maybe try looking at those laptops, they might have some support for Pop!_OS.

Edit: The joke here is that the company that makes Pop!_OS also makes laptops that are decent, but pricey.

I am aware of System 76, but I am not sure their hardware offerings are good value for money. I could be wrong, but that's why I'm asking this question!
Actually I've heard bad things about their hardware in that if you ever try to deviate from the officially supported distros you're going to have a hard time finding drivers. That's all second hand so take it with a grain of salt.
I wasn't impressed with my System76. It's fine, but no different than a beefy Dell.
A lot of these manufacturers resell the same laptop hardware from one specific Chinese company. The hardware is pretty rubbish. Stick to well known brands that can get repaired easy like Dell & Apple.
I think I have heard it called Clevo, for that particular company in the past, I don't know if that is still true.
I’ve been running Arch on a Razer Blade for a couple years now and it’s been great. Nvidia+linux is a risky move but I haven’t had any driver problems on this machine.
XPS
I bought one (xps 15, 9510, top spec) recently and like it a lot - solid build, good Linux support and very powerful.

However.... don't expect to be able to use it very long on battery power. It's pretty much like a 'portable workstation' class machine.

Agreed! XPS laptop line really ticks all your boxes. Competently runs whatever IDE I throw at it and runs a variety of servers simultaneously without performance issues. Also plays Elden Ring very competently, if that's your bag. Only gripe is no USB type A or HDMI ports, though that's hardly uncommon these days.
Dell subreddit and forums are absolutely full with problems. Personally I would stay away from Dell anything, maybe only their Latitude line with a good on-site warranty.
I've had an HP Spectre x360 Convertable-15 df1xxx (core i7 10th gen, nvidia, 4k screen) for over a year now. I really like it. Running Linux Mint MATE currently on 19.3 MATE 1.22.2. I was able to adjust the display for Hi DPI -- can't remember what I did exactly but I have Appearance > Fonts > Details > Resolution DPI (dots per inch) set to 192.

Great keyboard (with full numeric keypad). I went into the keyboard settings and adjust some compatibility options so I could shift-arrow using the num pad to select text.

Wifi just worked. I bought a USB ethernet dongle that works fine also.

Mouse USB plug causes hang on hard boot -- just unplug it when booting. I mostly use sleep which works fine. Mouse movement wakes from sleep - but I was able to disable this:

  mxv@mvhp:~/bin$ cat disable_mouse_wakeup.sh 
  sudo cp /home/mxvanzant/.wakeup/wakeup /sys/bus/usb/devices/1-1/power/wakeup
  mxv@mvhp:~/bin$ cat /home/mxvanzant/.wakeup/wakeup 
  disabled
I don't use an external monitor, but this has HDMI which I've used on occasion.

Weight and size are not bad (for me), but you might prefer lighter laptops..

P1 Gen4 Thinkpad. Love it. Ubuntu 21.10 works really well on it, including firmware upgrades. Nearly zero issues.
To stay in your comfort zone aim for a middle-of-the-road like the XPS, or else go open/repairable with Framework. If you don't run Windows, and you aren't inclined towards the Apple paradigm, then the biggest bottleneck comes in with rough edges in laptop hardware that doesn't quite work right on Linux. The best defense against that is simply not to get into trouble and stick to a "known quantity" solution that more people have already troubleshooted, which restricts you to popular laptop models with vanilla features.
I have a Thinkpad T495 and am very happy running Debian stable on it. The only complaint after almost a year is that it runs quite hot. You could look at one of the Intel-based variants if that's a concern for you.
I use the very same with Fedora. Love it, and it's much faster than the Intel variants. Extremely low battery life though.
In spite of your comments about Apple, I’d still recommend a MacBook. The top reason is that it just works, day in and day out.

I love Linux and run it in everything that is not work related, but for work I need a machine that behaves exactly the same as it did yesterday and will keep doing so for the foreseeable future.

Also, tools used at work (Slack, Zoom, etc.) also just work. I used to use Linux for work but Slack was limited (I couldn’t use screen sharing, etc.), zoom was choppy and some Linux update would brake it.

With things like brew.sh it’s possible to run a lot on Unix tools and MacOS being Unix based (as opposed to the patch work that WLS is).

Also, the 20 hours battery, no fans going up (MacBook M1) and not heat are very nice and super useful when working away from the dock in my office.

I’ve owned Lenovo ThinkPads and Dell XPSs but nothing has beaten the reliability of a MacBook.

I still have my Linux machines and use them for everything else, but it’s been quite annoying to start a day only to find that the zoom/slack binaries are not compatible with some libXX.so that is now missing from my Linux system.

Good luck on your search!

Without the ability to open your laptop screen 180 degrees, it can be difficult to create an ergonomic workspace on the go. I would recommend opting for a model that does have this feature to make travel a little easier on your body.
(comment deleted)
WSL might be patch work, but it creates a modern Linux environment and it's constantly improving. While macOS is Unix compatible, no a lot remain from non-Linux Unices these days. Also, Apple is castrating that layer more and more, for example deleting built in scripting languages and packaging an ancient version of bash. Microsoft is improving WSL month by month, on the other hand.
If you want Photoshop then you either need Windows or macOS. I'm not sure if anything else (GNU/Linux) will work on it.
You don't need an iPhone to use a Mac.

All of your daily use items will work nicely on MacOS. In addition the look/feel + performance of the new M1 Macbooks is excellent. Keyboard is a vast improvement.

One point is that the 16 inch mac is quite heavy. I have a 14 inch Macbook Pro, its great and a bit lighter as long as you are happy with the smaller screen.

I would recommend MacOS. I think most people enjoy it once they get used to it.

To me the Mac + MacOS is the best developer experience - it has many of the developer Unix tools available that you would want from linux, plus it "just works" and devices (audio, keyboards, bluetooth etc) all work without me having to think about it. The display is beautiful and if it breaks, you can just take it to an Apple store (though I've never had an issue). More bespoke linux laptop setups can be nice but I think you're introducing some fragility into your life when you do that, compared with just using a Mac.

This might not be the general consensus but in my experience development on a Mac feels extremely sluggish, mostly because of the window manager.

There's no window tiling, no true fullscreen for many apps, forced (and pretty slow) window animations, no drop-down terminal, changing windows and desktops is often slow (especially if there's multiple of the same app open), and the file manager lacks many QoL features. It definitely feels like it does not cater to power users at all.

The worst part is that nothing is customizable, and if it is it's often only through some third-party app that costs $20.

"changing windows and desktops is often slow (especially if there's multiple of the same app open)"

Cmd + ` (key under escape)

I'm aware of that and use it, but it's only useful if you're alternating between two or three windows. If you have many instances of the same app then you need to use mission control which has a long animation and requires the mouse.
I use a free library for window arrangement that automatically resizes and moves windows to different parts of the screen.

The window animations and changing desktops is buttery smooth for me.

Just the way Mac OS renders fonts is enough reason for me to use Mac over Windows.

My personal setup is using iTerm2 with ohmyzsh. It’s an amazing dev setup. Blazing fast and very easy to use.

I don’t really use Finder on Mac, although with iTerm2 you can command click on any directory and open it in Finder.

In the past couple years, I’ve been doing lots of C++, Java, Scala, and some Python. Builds are pretty dang fast. I restart once in a long while after Apple updates.

The only annoying thing was on my Intel Mac, it would get very hot when building C++ code. That’s been squared away on my M1 Mac. Also, battery life is incredible.

I agree. I use Moom https://manytricks.com/buy/moom and https://www.alfredapp.com/ which I think add most of the stuff I like. To each their own but I think if you are willing to spend maybe $20 then you can probably find something (though I agree it should be customizable with stock OS!)

For me $10 for Moom which I use every single day is okay. I mean, if you're using a Mac you probably have to resign yourself to paying a slight premium for everything so if you're not willing to do that then I can see how it might be a frustrating operating system.

w/r/t the tiling. You should check out this app for the tiling/snapping stuff

https://rectangleapp.com/

Although not as natively customizable as Linux. I've found everything I need that I miss from other OSes on mac. There are a lot of highly motivated developers that come up with some really nice apps/extenstions/etc.

FWIW I've been using macOS/Windows/Linux for over 12 years. Every OS has it's warts. I'm still kind of baffled that Windows doesn't have native Explorer tabs.

The M1 MacBook Air is what you're looking for. It checks all those boxes and more (except for running Pop!_OS). If you could tell us what you like about Pop!_OS, we could advise if macOS fits your needs.

You certainly don't need to buy into the rest of the ecosystem. I use a Mac and an Android phone.

Think twice before choosing XPS, read carefully reviews about the variant/model you choose.

From my own experience, I can't recommend XPS. In my company developers were getting XPS'es (both 13 and 15 inch models) the last 3 years and now almost nobody wants them anymore. Our IT switched back to Latitude models. Different kind of issues...

I personally have been using XPS 13 9380 the last few years. Had lot of expectations when I got the laptop, but it was disappointment after all. I mainly run Windows on it, but also have OpenSuse dual boot setup. Issues I experienced with my model:

- Crappy trackpad. Most annoying of all issues. Mouse pointer may sporadically jump an generate clicks when using trackpad. Same happens on Windows and Linux, must be HW related. I changed HW one time, it helped a bit but trackpad still sucks on my model! Worst of all laptops I ever had.

- Windows and Hybrid-sleep is terrible experience. Laptop may overheat in the bag (known issue, recognized by dell, see https://news.ycombinator.com/item?id=28639952) and battery last barely 1 day in such sleep. Under Linux this is not an issue as OS still uses the old fashioned sleep strategy.

- WiFi stability issues under Windows. Also the Killer WiFi HW on this laptop is not impressive... cheap solution.

- CPU cooling under Windows kicks quite often, even when laptop is not loaded too much.

After all, it works. But at the same time it could be much better. As of now I feel very ready for the MacBook...

My experience of 4 years with Linux on Dell XPS 13":

- WiFi stability issues with the Killer WiFi NIC were so severe at some point that I bought an Intel WiFi NIC only to learn that it's not replaceable in 9370 (but it is in 9360). A bit later I bought an external USB WiFi dongle which brought some connection stability while trading off connection speed. I sank some time into understanding and debugging firmware, without good results. A script that pings the router in a loop and reloads the connection when needed makes YouTube usable, but downloading any large files without retries was a major headache for a long time. Now it's less of a headache: maybe the firmware has finally caught up.

- Sleep on Linux can be indeed unstable; sometime I find my laptop out of battery after sleep, apparently because it wakes up on its own from time to time.

- Camera position below the display makes it very awkward for video calls. If I'm not mistaken, this was solved in newer models.

- Keyboard is quite pleasant to use, but its build quality could be better: plastic keys started to peel off after four years. In comparison, a twice as old MacBook Air keyboard still holds together very well despite heavy usage.

- Trackpad has been working well for me on Linux, I'm satisfied and don't have any complaints (I might be a very undemanding keyboard-oriented user though).

- The laptop screen is high quality, but its narrow aspect ratio feels a bit off, I'd appreciate more vertical space.

- My main motivation for Dell XPS was portability. My experience is mixed: it's possible to make Linux power saving work pretty well, but it requires work and can be flaky. Build quality also feels more fragile than MacBook Air. I still feel safer with my old MacBook Air while traveling.

- Absence of USB-A ports is not critical, but is another point of friction.

All in all, it's a solid machine with quality parts that I use daily, but it definitely has its share of hindrances.

I’m a Mac user that had to buy an XPS for a specific project. I got the latest 17” model and it died within 45 days due to a charging issue. Digging into it, I learned that my model was supposed to fix a charging issue in the previous model. So they’ve got QC issues for certain.

Also, getting service was nowhere near as nice as being able to go to a Mac store. Luckily, I could still return it so I did and just moved on.

I am thinking buying an One Mix 4

10 inch screen, very light and portable

In the office you can use any USB-C dock with a external monitor

16gb RAM, 1tb nvme drive, 1K price

Totally anecdotal but had two XPS in the last three years. Both had hardware issues.

First had fan failure in the first year. The second had a trackpad failure OUT of the box.

Have a friend whose a graphic designer and she's had the same XPS for almost a decade.

Makes me wonder if the build quality has gone down.

If you’re developing for a Windows platform (desktop or server) then Windows for sure.

If your workplace makes it easy to run Linux (not ChromeOS) on a laptop and it integrates well with everything, I’d go with that. If you can buy Linux pre-installed on something from a reputable vendor (and thus it’s safe to say it should work entirely out of the box) that could be a good option too. Otherwise, assuming your time is valuable and you don’t find this fun, you’ll likely deal with too much random stuff coming up regarding drivers or things not working right. Even spending more than one hour when I should be working, for me, is too much.

Otherwise I’d use a MacBook. MacBooks have better build quality than the average laptop, no Windows bullshit (Apple bullshit is more like bee shit in terms of size), and no OEM bloat. You don’t need an iPhone at all. I have a bunch of Apple gear I’ve never paired with my work-MBP. It works perfectly out of the box, it’s fine to develop for frontend, works targeting any mobile OS, and will work just fine 90% of the time targeting linux. The base models usually have very competitive price:performance. If your time is valuable a few hundred dollars is easily worth avoiding tech support and Windows bullshit.

MacOS is *nix so development things will work nice. The Mac hardware is nice, not only physically but the new professors are fast and energy efficient in ways that nobody else can compare to.

If you can afford it, just get a Mac and stop thinking about it. It's the Lexus/BMW of computers. You won't regret it and plenty of developers use Macs so there is plenty of support.

I haven't really seen anyone mention this one but if you run Docker heavily, you're going to want Linux. Mac and windows both run Docker via Hypervisor and it's quite a bit slower, at least for building. Short of that just get a mac. Although TBH this isn't a huge enough reason if you're only incidentally running docker as you can still shift your context to a linux machine on your network for a performant context.

The main reason isn't build quality or anything like that, although IME it's good on the Apple side. It's because mac is the shim between enterprise OS and open source OS. Things like MS Office, MS Outlook might not seem like much until you have to have them. Granted O365 has made some nice strides in making them moot but the web versions can still be limiting. Also if you go into development for anything mac or iOS you'll need to be on macOS for XCode, and you still have the option of installing the Adobe suite of products, as much as I hate using them.

(comment deleted)
Lenovo ThinkPad T or X series perhaps?
Why isn't anyone suggesting bootcamp to dualboot the mac? Best of both worlds!!!
Dual booting has become basically impossible to do with M1 Macs. Support might come at a later date but between Windows arm licensing issues and Apple staying quiet on driver support, it’s essentially dead for now.
I would take the Asus Vivobook Pro 14" as a basis / starting point. It has an OLED screen (good colors for Photoshop) and runs plenty of games easily thanks to its GTX 1650.