My 2015 Mac Book Pro is getting a little old and tired. I recently joined a project that uses a docker-compose configuration that spins up 8 separate containers. It barely works on my Mac. It takes a long time to start and performance is terrible system wide while it is running. So it was time for me to bite the bullet and either get a new Mac, or look into a Windows or Linux laptop.
- Get the Mac Book Pro if you have the money (or it is your employer’s money, hehe).
- Get the Dell if you want maximum power for the price and care about replaceable parts.
- Reformatting the Dell to Linux is a sweet spot for computing power and ease of development if your use case supports it.
- If you go with the Dell don’t kid yourself that you are saving money. Your time is very valuable as a software developer. Windows will waste it here and there (windows update churning in the background, command line quirks, hard to find certain packages, etc). That isn’t to say that macOS is free of these annoyances, they are there, but to a lesser degree.
You know, I really hate this trend of bigger and bigger virtual images to run what amounts to a web server and a database. For a large team on a project with dozens of dependencies it does make sense. However, when I’m developing solo I get by just fine with local packages.
I’ve been holding off on a new Mac because in 2016 Apple went a few steps backwards. The controversial touch bar and the redesigned keyboard have gotten horrible reviews. At the same time their prices keep going up but performance lags. I will really miss the magnetic charging port. It’s pure genius, why remove it? It has saved my laptop from hitting the floor a few times. Did you know a replacement charger for a 2015 Mac Book Pro is about $75!?
In bargaining with myself, yes I could live without a physical escape key and a crappy keyboard because most of the time I hook up to an external monitor and use the Apple Magic Keyboard and Magic Trackpad 2. These are 2-3x the price of Windows peripherals, but they are really awesome. Every Windows touchpad I’ve tried jumps around like crazy and has a rough texture. The Magic Trackpad 2 is as accurate as a mouse and is smooth like glass.
Faced with the prospect of buying all new dongles and having to fight through the bugs involved with macOS Catalina (which I’m currently holding off on), I took a look at my old friend the Dell Outlet.
The Dell Outlet sells machines that have been returned for whatever reason. Dell is just trying to get rid of them. They are discounted way below retail. The outlet runs specials on a regular basis and offers free shipping. I used to work at a company where everyone ran Dell Outlet hardware. We purchased from them over 50 times. Most of the stock is labeled as “scratch and dent”, but I never saw one that I could tell had any problems.
When looking at Dell the first thing I did was rule out the Inspiron class completely, which is the cheapest level. I looked closely at XPS and Precision, but the prices really jump up. I ended up going with a middle of the road business line, the Vostro. It comes in a 14” model which is about perfect. Mine came with a regular Intel graphics chip but if you dig around on the outlet you can find ones with Nvidia or Radeon graphics on board which is a nice bonus if you do the occasional gaming session.
In terms of OS, you can generally reformat a Dell to run Linux which I recommend. Sometimes you’ll run into a boot issue or device driver error. If you are buying on the outlet that model has probably already been out for long enough that you can get help by googling.
When it comes to Windows the Pro version is the way to go. With the Pro version BitLocker is included, which offers full drive encryption. As a developer you’ll want to activate that if you have anything beyond cat pictures on your machine. Most of the Dell business machines come with Windows Pro by default.
Here is the breakdown between my new Vostro and a middle of the road 2019 Mac Book Pro:
|Dell Vostro 14” – 5481||2019 Mac Book Pro 13”|
|CPU||Intel i7-8565U 1.8 – 4.6 GHz Quad Core||i5-8279U 2.4 – 4.1 GHz Quad Core|
|RAM||16GB 2666MHz DDR4||8GB 2133MHz LPDDR3|
|Storage||512GB SSD||512GB SSD|
|Screen||14 inch FHD (1920 x 1080) Anti-Glare LED-Backlit Non Touch Display||Retina Display|
|Ports||Ports galore (USB, HDMI, SD Card, Headphones, RJ-45)||Four Thunderbolt 3 Ports|
|Replaceable / Upgradable Parts||Yes||No|
|Realistic Battery Life While Doing Software Development||3-4 hours||7-10 hours|
Here is the score card:
|CPU||Mac||The Mac’s i5 is actually a bit faster than the Dell’s i7 according to this breakdown.|
|RAM||Dell||The Dell has twice as much memory which is super important for running virtual machines.|
|Storage||Dell||The Dell’s HDD is replaceable while Mac’s is soldered to the board.|
|Screen||Mac||Retina displays are awesome, but if you dock and leave the lid closed it is moot.|
|Ports||Dell||Dell has the old school USB / HDMI ports, the Mac requires dongles which you have to purchase on your own.|
|Replaceable / Upgradable Parts||Dell||The Dell is designed to have the hard drive, battery, and even RAM upgraded. The Mac is a sealed product.|
|Battery||Mac||The Mac battery is way better. This is moot when you dock. Still I do get “range anxiety” when I’m on battery.|
|Price||Dell||You could buy a new Dell every year, compared to a new Mac every 3-4 years.|
|Development Experience||Mac||I have to admit the Mac experience is a lot smoother.
Dell with Linux comes close for some use cases.
|Good for developing on complex containerized projects||Dell||I doubt 8GB of RAM is enough.|
So which is better, Mac or Dell?
The Mac wins, begrudgingly, but it depends. Honestly they both work and a good developer should be able to get their job done on Mac, Linux, or Windows without a problem.
However, I’m not so sure the 13” MPB above with only 8 GB of RAM would handle the huge dockerized development environment I mentioned at the beginning of this post. For an extra $200 you can get a 13″model with 16GB of RAM. Or you could jump up to the
15” 16″ MBP which starts at $2,399. Personally I don’t want to lug around a $2400 machine nor a 15” 16” laptop.
Is the Mac really worth an extra $1353?
Yes. If the Mac “experience” saves you 1 minute a day it will pay for itself. Here’s the math:
- A software developer’s fully loaded cost is $100/hr – benefits, payroll taxes, retirement plan, paid time off, training, hourly wage, etc.
- In terms of developer time, it would take a savings of 13.5 hours over the life of the laptop to make up for the extra price of the Mac. (1999 – 646) / 100 = 13.5
- The laptop lasts 3 years.
- There are 261 working days in a year.
- [ 13.5 hours / (261 (work day / year) * 3 years) ] * 60 minutes / hour = 1.035 minutes / work day
- Windows updates alone will rob you of at least 1 minute per day.
They why did I buy a Dell?
For one thing, I already have a Mac I really like. I needed something cheap and powerful for this one particular project. That is where the Dell comes in. For $646 I’m able to allocate 2 cores and 8GB to the docker-composer instance which makes it just as fast as regular local development (even though the fans do come on frequently).
This situation is causing me to jump between keyboard layouts, but I just can’t let go of my Mac on my other projects! Turns out as a contractor I need both Windows and Mac in my toolbag.
In terms of overall budget for your workstation also consider a sit-stand desk and nice chair. I’ve shared my setup which I still love, but there are many new sit stand desk companies on the market and they are getting more and more affordable all the time.
In my review of Windows development I am glad to say it is getting a lot better for Python / PHP projects. Microsoft is building an open source terminal app. Then there is Windows Subsystem Linux, which is like having a tightly integrated Linux VM running all the time under the hood. Visual Studio gets a lot of great reviews. I’m still using IntelliJ (WebStorm / PyCharm, etc) but I look forward to trying it out soon.
What I’ve learned is: Apple has everyone where they want them, even a pragmatist like myself.