top of page
Search

Introduction: Mac vs PC 2024

  • Peter
  • Mar 17, 2024
  • 6 min read

Updated: Mar 20, 2024

This all started in late 2023 when I joined a large and rapidly growing python tech company, and they didn't respond to my queries asking what kind of device I would be given for working from home, instead shipping me a device of their preference.


Some important background: from 2018-2020 I had experienced regular frustrations working at a not-for-profit who supplied me with a very cheap HP laptop which was too slow for serious software development. Then from 2020-2023 I experienced the opposite extreme - I joined a small but well-funded tech startup where my manager trusted me to tell him what device I needed for software development and then actually went ahead and ordered it for me. It was a such a relief to have enough RAM to be able to leave Docker containers running and browser windows open, instead of having to manually juggle things in and out of the limited device memory that was available.


It also helped immensely whenever I was sitting around waiting for unit tests to finish and I wouldn't have conversations in my head to the effect of "This company could have spent an extra $200 on my laptop, costing them $6/month over the device's 3-year lifetime, and upgraded it to a 25%-faster CPU, saving me an hour of idle time each week, which would be a 4000% ROI and would make me a happier person."


So when I joined this new tech company in 2023 which had advertised itself as a "mac shop", I figured that I wanted a 16" Macbook Pro with at least 64GB of RAM and .5TB of storage so that I would have a powerful machine that would still feel powerful in 2 years time and wouldn't force me to dramatically alter my way of working due to limited device capacity.


But also, and very importantly, I wanted the 16" model because my optimum home office setup involves mounting the laptop on a stand on the left side of a large 4K main display, and it needs to have the largest possible screen size to be a useable secondary screen. (In case you're wondering, the laptop must be mounted on the left side because if it goes on the right side it will be too close to my mouse area and my hand will regularly knock the laptop around when moving between mouse and keyboard. Also the laptop can't be underneath the main display because that arrangement doesn't provide enough room for my mechanical keyboard.) The other reason it was important to have a 16" model is because my personal Mac is a 16" and if I have two different laptop sizes then I need to readjust the position of the laptop stand to align the laptop screen with the primary external display every morning and evening when I swap from personal laptop to work laptop and vice versa.


So in the two weeks leading up to my start date with the new company, I sent multiple emails asking what device they would provide so that I could begin negotiating for the device I actually wanted. As I said earlier, they didn't respond to my queries other than to say that I would receive "a Macbook Pro".


I was extremely disappointed when a 14" Macbook Pro finally arrived via courier. I tried to suppress the negative feelings and just be grateful that it wasn't an Air, and that it did at least have 32GB of RAM and so wasn't completely crippled. But I started to notice that not only was I annoyed at having to adjust the position of the Ergotron arm holding laptop multiple times per day, but also the 14" screen was just so small that I couldn't reliably read Slack conversations or web content on it and would regularly be dragging windows from the small 14" screen onto the large main display so that I could make them large enough to read.


Another dose of perspective arrived at Christmas time when I bought myself a Steelseries Apex 7 mechanical keyboard to replace my aging Logitech G710. As far as mechanical keyboards go it's pretty ordinary - brown switches, TKL layout with a handful of media controls, and customisable LEDs (which I don't use). At $300 it wasn't a cheap purchase, but once I plugged it in and started typing I asked myself why I hadn't bought it sooner. I had used this keyboard for a couple of years while at the previous job and forgotten just how easily my fingers can fly over the keys with these superior switches. One of my favourite games to play on this keyboard is to try and type a complex passphrase "too quickly" and then laugh (silently, so my family doesn't think I'm crazy) when get the whole thing exactly right because this keyboard really does allow my fingers to instinctively move fast and accurately.


But what does this keyboard have to do with 14" Macbook Pros? It serves as an example that there are big productivity gains out there for the taking that aren't achieved by buying the latest M-series Apple Silicon CPU. There's a number of hardware and software devices that can be taken advantage of to increase productivity, and if you are hiring senior software engineers you should expect them to already be making use of some of them, and also expect them to get frustrated when you take some of them away without good reason.


But unfortunately what I perceive is that there is a Mac-centered monoculture dominating my workplace, thoughtful insight into what actually makes engineers productive are replaced by cultlike assumptions:


"Because the Mac M-series chips are so fast, there's no reason to consider whether other hardware might substantially increase productivity."


"Because MacOS is a great operating system, there's no reason to consider whether other operating systems might make people more productive."


I don't think this way of thinking is at all unique to this company I'm working for, and it sounds just like the old "just use Microsoft/Intel" that would be repeated pretty readily 20 years ago when different tech companies where dominant. But I still find it incredibly frustrating and I believe it's hugely detrimental for the software engineering profession to replace thoughtful judgement with brand favouritism.


On top of this, it appears my new employer's device procurement department is also disconnected from the real needs of engineers - because they've found a 14" screen and the minimum RAM/SSD offered by Apple work for "most people", they don't provide any option for individuals with different needs to get a bigger screen, more RAM, or larger disk, regardless what part of how they like to work or what extra software they may need to run in their role. (Are they aware that the minimum-size SSDs for Macbook Pros often only run at 50% speed of the larger drives?)


And then, the final angle to this is that although I'm excited to be working on the largest python codebase of my career, I'm incredibly frustrated that everything is so slow. Want to run a single unit test? That'll be 15 seconds. Want to run the django webapp? That's a 20s startup cost. Changed a file and the webapp needs to reload? Another 20s. For reference, the previous company I worked at with their massive Typescript codebase had set up their build tools to recompile and hot-reload in under 4 seconds. I am not going to be able to survive working here long-term if these massive delays continue, and since we're growing rapidly and are committed to having a Monorepo, I only expect these runtime costs to increase over the next 24 months. Therefore it's very important to me to know that I am using the fastest reasonably-priced computer that money can buy. Knowing that the Macbook Pro has strict size and weight limitations, expensive hardware that's not being utilized (the entire 14" display), it seems probable to me that for the same money this company could be buying their engineers desktop PCs that will enable them to do their work faster.


In Conclusion

Therefore, I have made it my mission for 2024 to design and build a linux PC that can run our dev tooling faster and more cost-effectively than a 14" M3 Mac. I'm hoping this will achieve two things: 1. Highlight to company leadership that their device procurement policies are flawed and hurting the company, and convince them to change them for the better. 2. Provide some objective proof that a good software engineer can design a PC that is superior to whatever Apple will sell you for the same money, to demonstrate that blind commitment to a brand (in this case, Apple) is not good engineering.

 
 
 

Recent Posts

See All
Benchmark Calibration

I believe it is necessary to take a closer look at my benchmarking suite. Three things have led to this: Some previous experiments were...

 
 
 

Comments


Powered and secured by Wix

Subscribe for blog updates

Thanks for submitting!

bottom of page