MacBook 12': A Developer’s Dream Machine

Ted Martin
4 min readNov 19, 2017

--

Your Hardware Isn’t That Important

I had to buy a new computer and spent a week using a $200 Lenovo 15' I’ve had for a year as a Linux machine. It has an older i3, 8gb of Ram and a $50 256gb SSD. With a fresh install of Arch Linux, it is not a bad experience at all. In fact, I was more than able to handle all of my professional needs as a web developer. Rails work is great with RVM/RBENV and Tmux + VIM. The entire toolset is there in the terminal. If you want a GUI code editor, Atom or Visual Studio Code are available natively. PHP WordPress work is a piece of cake with a LAMP server via Apache, MySQL and PHP. Basic photo editing — and even advanced — is more than doable with GIMP and Vector image creation as well as design work with Gravit.io. It is amazing how little hardware requirements really matter these days. Plugged into an $80 22' external monitor at 1080p makes almost any computer ready for web development these days.

Magic Mouse isn’t Apple’s best hardware…

But Hardware Does Matter…

Working as a web developer requires a certain degree of mobility. Meeting with a potential client, an actual client, or working for a day at a library, coffee shop, or open business space often requires taking your work environment with you. This is where my setup for the last week failed. Although the setup was more than workable and effective when ‘docked’, it became prohibative on the go. A screen that was almost unusable unless at the perfect angle, a trackpad that was less than accurate, and size coupled with bad battery life that meant always carrying around at least 6 pounds of equipment. This is when I knew a new computer was in order although not strictly speaking necessary. I ended up buying a MacBook.

MacBooks at Windows event

MacBooks Are Better Computers*

2017 is an amazing time to be in web development. Whether you are on Linux, Mac, or even Windows with Bash, the operating system wars are from a functional level almost all but dead. However, nobody makes hardware like Apple. No, Apple is not perfect: the touchbar is controversial, the charging situation of the Magic Mouse is embaressing, and the ‘notch’ on the iPhone X is a necessary evil for the technology required to achieve IR blasted, neural network facial recognition, etc…

Apple being an imperfect company aside, I chose a 2017 12' MacBook with Kaby Lake core M3, 8gb of Ram, and 256gb hard drive. In addition to the specs, it has an incredible Retina display, a much improved keyboard with ‘2nd gen’ butterfly technology, trackpads that are still unmatched, and a foot print/weight that is mind blowing. This is to say nothing of the all aluminum enclosure, rigid feel, great battery life, lack of noise as there are no fans, and speakers that are too good for a device this size. All of these things together make an experience that is something to behold and something which must be experienced to be believed. The mobility is all the more incredible as you can plug in one USB C cable and instantly charge the MacBook and drive a gorgeous 27' 4K monitor with external keyboard and mouse at the same time. I’ve had absolutely no performance issues — more on this in a minute — and the performance will get a drammatic boost in the next iteration with the 8th gen Intel processors.

Performance

A few developer friends told me this couldn’t be a serious development machine with the specs; I disagree. I’ve had a 15' MacBook core i7 in the past with worse performance because I didn’t know how to effectively use the command line and use the right applications where needed. I require a Rails environment and a LAMP server for my web development and learning how simple it is to use LAMP natively instead of virtualizing it with MAMP saves precious resources that make a real world difference. Using RVM or Rbenv is a no brainer for rails and with most of the work done in the terminal, the performance hit is minimal. In the past three applications were constant drains on CPU, RAM, and battery: Google Chrome, Atom (Code Editor), and Slack. While Google Chrome and Slack are improving, I’ve found a better way (at least for me). First, I use Safari exclusively unless I’m developing a web application and using Chrome Dev Tools. This keeps Chrome tabs at two, max. I switched to Visual Studio Code for the times I want a GUI editor and am not in Tmux + VIM. Until Slack becomes a better native app, the web application suffices for 99% of my use cases. These basic changes were not only worth it but have made a lower powered MacBook feel light years faster than any others I’ve used with the wrong applications.

Conclusion

Everyone has a unique use case. Having a beautiful, full fledged laptop at 2lbs with ability to plug in one cord for a 4k 27' desktop experience is still boggling my mind. I’m sure something in the future will be better but right now, in 2017, this is incredible and I couldn’t be happier with the setup.

--

--