Over the last couple of weeks, I’ve been heavily researching laptops for software developers.
Why I’m looking for a new laptop
When shopping for a developer laptop, I usually stick to powerful machines with a relatively large screen. My main operating system is OS X, so my last few laptops have all been MacBook Pros 15″.
My 2-year old MacBook Pro with an i7, 16GB of RAM and a 512GB SSD is still a fine machine. I’m not looking for a new laptop to replace it with. Nor am I looking for more power or more pixels, and I certainly don’t have an inherent desire to smudge my screen by touching it day in and day out.
The reason why I’m in the market for a new developer laptop is that my MacBook Pro is currently used primarily as a desktop machine. It is quasi-permanently hooked up to two large monitors (a Dell 34″ ultra wide, and a way too tall Benq 32″ in vertical mode), as well as a few other peripherals, disk drives, etc.
This is an arrangement that works well enough for me when at my desk, but is suboptimal when portability is taken into account.
It’s a pretty chunky laptop to carry around, unhooking is a pain, and I don’t find it to be comfortable when used on my actual lap. Sharp edges and heat are only two of the ergonomic issues that I’ve run into with it. (Interestingly, I found 13″ Macs to be less problematic from an ergonomic standpoint.)
So the real trouble with this laptop is that it forces me to sit at my desk. My comfort and productivity levels soar when I’m able to switch it up a little during the day. Standing here and there, moving to the couch (I work from home), working from a coffee shop on occasion, and so on.
Adding to the mix both work and personal trips, and it quickly becomes possible to rationalize wanting to buy a second laptop to be used as, well, an actual laptop! 🙂
A premium docking station that supports both monitors with their large resolutions could be an alternative, but it doesn’t solve the other issues I have with the MacBook Pro 15″ when used as a laptop.
Likewise, I have an iPad Air 2 which I like quite a bit as a media consumption device, but it’s lacking for all but the lightest of my productivity tasks.
Looking at MacBooks
Being an OS X user, I first looked at the obvious choices in the Apple lineup. Unfortunately, I don’t believe that Macs are a priority for Apple today.
All but the MacBook to the left were last updated a long time ago. 427 days ago for the Retina MacBook Pro 13“, 498 days ago for the not-even-HD MacBook Air 13”.
These are still good laptops, but I have a hard time paying full price for old models when new releases are coming soon. We just don’t know how soon yet, though. It could be a couple of months. It could be half a year from now.
So Apple puts me in a tough spot. If their prices were lowered to account for the new models coming up, justifying a purchase now would be much easier — and apparently I’m not the only one who feels this way, with sales of the Pro and Air models currently decreasing while people wait.
The new MacBook is nice, but I’m afraid that at 12″ it is really too small for my needs. I also find the butterfly keys with extremely limited travel to be quite unpleasant (though I hear people get used to it).
Ultrabooks for developers
I prefer OS X because it’s a good compromise. Decent UX as a user; decent UX as a developer.
But I still use Linux (which I prefer for development and deployment) and Windows, too. So I’ve been toying with the idea of getting an ultrabook, instead of a Mac, as my portable option.
As a technologist, I find it useful to remain in touch with all three main operating systems, even if I predominantly use one for day to day use. The idea of an ultrabook, from this perspective, is quite appealing.
I would probably use Ubuntu as my main OS on the laptop and occasionally switch to Windows 10 (chiefly to play with .NET and related technologies).
After doing quite a bit of research on the topic, the best laptop for developers in 2016 appear to be:
The Surface Book one is essentially Microsoft’s version of a MacBook Pro, with the included bonus of also being an awesome 13.5″ Surface tablet. It is, understandably, not cheap.
The Lenovo has the best keyboard of the bunch and a larger screen (14″), while still remaining remarkably light.
The Dell has the best screen and a format that is much smaller than its 13.3“ screen size would indicate, thanks to it being almost bezel-less (as such, it’s the size of an average 11.5” laptop).
The Asus is decent all around and is priced right, so it becomes the best bang for your buck sort of choice.
There, I shortlisted them for you. 🙂 If you are in the same situation, I hope that this saves you some time.
My ideal configuration is still i7 / 16GB / 512GB SSD, but since this is not going to be my main development machine, I’d settle for an i5 / 8GB / 256 GB.
What works for you?
I haven’t made up my mind yet.
Part of me wants to wait for the new 13″ MacBook Air/Pro. I have come to rely on the Apple ecosystem quite a bit after all, and use some apps that are not available on Linux (e.g., 1Password) and in some cases, not even on Windows (e.g., OmniFocus, MarsEdit).
Part of me feels like it might be worth “stopping the suffering” and getting a portable solution now. An ultrabook might even force me to rely less on the Apple ecosystem, leading me to search for cross-platform alternatives. (A good thing.)
I’ll let you know what I decide in the end. For the time being, feel free to influence my decision by sharing what works for you. 😉
XCode, Visual Studio, and VMs are demanding, but they are not the bulk of what I currently do. ^
But hey, maybe the new MacBook Air/Pro models will also have the same keyboard that I dislike in the new MacBook. ^
Antonio Cangiano is a Software Developer and Technical Evangelist at IBM. He authored 'Ruby on Rails for Microsoft Developers' by Wrox (2009) and 'Technical Blogging' by The Pragmatic Bookshelf (2012). He is also the Marketing Lead for Cognitive Class, an IBM educational initiative which he helped grow from zero to 1 Million students. You can follow him on Twitter.