This page looks best with JavaScript enabled

Purchasing a new laptop for development in 2020

 ·  ☕ 5 min read  ·  ✍️ Deb Goswami

Why I needed a new laptop

As you may be aware, COVID19 sort of had an impact in 2020. Suddenly both my wife and I were working from home. And our 2 year old toddler's school had just switched to home-based learning for the foreseeable future. We had overlapping meeting schedules and an incredibly creative childling who was completely agnostic to these trivialities. Needless to say - compromises were made.

Thus, I let go of my much beloved man-cave (it has a nicer Secretlab Omega chair, that my wife loves) and with it - consistent access to my daily workstation. A dual-boot Win10/Kubuntu desktop that I'd painstakingly set up just so.

We had a surface go lying around - but I'll be honest, it's not nearly good enough for anything more than a browser tab here and there. It actually functions decently as a remote ssh box and casual editing/journalling. I've even set up WSL on Surface Go. It IS possible but you can't really do anything meaningful. The biggest issue with the device is Windows randomly deciding to hog 100% CPU for unfathomable reasons. We tried remote logging into office machines (via a proprietary JWS app). Again - It works, but spending more than a few minutes gets tiresome.

So eventually we agreed that she'd move to using the desktop full time and I'd get a laptop. After quite a bit of deliberation, I ended up buying the base 13" Macbook Pro (8th-gen i5) with a 16GB RAM upgrade.

TLDR: Covid + Work from Home = Lost Desktop access rights to wife. Bought Macbook Pro


MacBook Pro vs MacBook Air

Before we get to the Pro vs Air discussion, let's talk a little bit about why Apple in the first place. My choice to go with the Apple hardware came down to 3 main factors

Durability

I've had Apple devices (iPhones, iPads and work Macbooks) for a few years now. They just last longer. And with the exit of the much maligned butterfly keyboards in the 2020 models - joy all around!

Design + Polish

As I mentioned, I use all 3 major OS's on a regular basis. Hands down, the MacOS ecosystem is the easiest to fall (and stay) in love with. I say this as someone who hates having to switch around with differing Meta keys, was an avid gamer and actively uses the linux environment for remote (cloud) development. Also, much as I love the Linux OS stack - I just can't seem to find a trouble free WDM (though KDE is awesome) that I won't spend forever tinkering with for an eventually self-designed, amateurish UX (Yes i3, I hear you - but maybe next year?).

Performance

Regardless of the above advantages, I always feel that engaging with Apple's hardware stack comes with a paper performance penalty. At first glance, it feels like you're shelling out a premium for subpar hardware (case in point - 2020 MacBook Pro base model has an 8th Gen i5). Compare this with the Surface Book 3, or the Dell XPS 13/15 and you're looking at a significant delta in theoretical hardware capability.

Here's the thing though. Firstly - think of the MacBook as an appliance. As such, the OS/kernel is far better optimised for the limited hardware combinations Apple offers. Secondly - given my use-cases (web browsing, editor, terminal monkey), do I really need to worry about Cinebench benchmarks? Also, windows laptops (and desktops) inevitably age like milk (as opposed to wine).

At this point - I had a tough choice between the Macbook Air vs Pro. I chose the base 13" Pro due to better thermals (compared to both the Air and the 13" Macbook 4 ports). Take a peek at this video to see what I'm talking about (Max Tech is an awesome channel btw)

The Macbook Air ends up getting thermal throttling pretty quickly. And if you spec up to 16GB RAM, it's almost the same price as the Pro!

I also didn't get the 4-port MBPro due to the thermal throttling issue. I just didn't need the performance, and the fan-noise claims were my biggest issue with it!


Buy this if…

  • You should buy the Macbook Pro if you're going to be using this primarily as a code editor and testing out local builds.

    /img/post/normal-workflow.png
    Workflow wise, I'll usually have a web browser, emacs and terminal on a single screen. Everything else I usually split into another workspace (this is possible in all OS's I use)
  • If you need to be highly mobile while working

  • If you are fussy about fan-noise

Don't Buy this if…

  • You are going to rely on this as your Deep Learning workhorse. Even with external GPU enclosures, it's not worth it 1.

  • If you need a bigger screen while mobile (goes without saying!). The 13" form factor lends itself to having at best 2 windows visually present at the same time. I use the excellent Rectangle for MacOs to manage my tiling.

  • If you don't need the extra power or RAM, get the base Macbook Air 2. Bear in mind, the MBAir tends to heat up rather easily and hence you'll get the fan noise more frequently. I absolutely recommend getting the Turbo Boost Switcher app that lets you manually toggle the turbo boost on/off.

  • If you are more than a very casual gamer (i.e. don't bother gaming on this)


Footnotes

1

Honestly, if you're going to do active Deep Learning work - use the cloud. AWS, GCP and Azure all provide pretty nifty GPU docker images + VM configs to suit most needs.

2

Call me old-fashioned, but I couldn't bring myself to buy the Air mainly because I was worried about the cores running at 80+ deg. Celsius consistently.

Share on

Deb Goswami
WRITTEN BY
Deb Goswami
Data Scientist