What MacBook Pro should I buy as a full-stack developer?
- 14 inch
- M1 pro 10 cores, 16 GPUs
- 32 Gb RAM
- 1 Tb SSD
I’ve been waiting since …
It has been almost 2 weeks since Apple presented the new MacBook Pro 14 and 16 inches, and after the presentation, I’ve been asking myself which MBP should I buy for work as a Full Stack Developer.
Since last year when they presented the first M1, I was amazed about the performance and BATTERY LIFE of those computers. I’ve been urging to buy 1 but that 16Gb of ram felt a bit at the edge, 32Gb was what I was looking for.
This year they presented 2 beasts of CPU with amazing GPU, but which 1 should I buy?
What screen size do I need?
At home, as well as at work, I have 2x4K LG monitors so I prefer the MPB 14 inch since is more portable during my commute from home to work with public transport.
What CPU should I choose?
As I said, I am a software developer so I don’t use the GPU except for video calls, screen recording, screen sharing, and applications UI. I rarely use photoshop or iMovie.
What I use daily is:
- Docker and running containers
- IntelliJ with java ( we all know how badly optimized java is during development, it barely uses more than 1 CPU core )
- DBeaver as universal databases client
- SQL Developer ( again java based ) for PL-SQL
- Elastic Stack ( elastic search, mi ama, Zipkin, Elasticmq ) for monitoring development
- Anypoint Studio for MuleSoft development.
- Visual Studio Code for NodeJS, ReactJS, Golang, and Rust development.
- Sublime for quick file opening and notes taking.
- Slack and MS Teams for text communications
- Zoom for video calls ( we remote pair 8h a day )
- Chrome for everything else: mail, music, research, Jira, confluence …
- Xcode with multiple simulators open ( occasionally )
Analyzing the list above I can see that a good CPU is needed, but how good?
Both 8 and 10 cores are a great choice, and if you develop java and use java based tools, multiple CPUs don’t help you, as most tools are not optimized.
Between the 2 CPUs, Pro and Max, for developers I would choose Pro since it will give you more battery.
If you are a GAME DEVELOPER then the M1 MAX with 32 core GPU is the way to go.
How much RAM do I need
Well, this part is tricky.
I borough my wife's 2017 MBP 13 inch with i5 4 Core and 8 Gb RAM and tried all of those apps that I use for work together, basically I simulated a day of work. The computer was sluggish at moments but it worked. I was amazed so I did some research.
macOS swaps memory to and from SSD itself, it barely uses more than 7.0Gb of actual RAM, it saves the extra applications ( not just data ) on the SSD. After hours of work, I checked the Activity Monitor and I had: 6.7Gb of used ram and 11 Gb on swapped memory (SSD). This little beast saved on the SSD 11Gb of real-time applications is, amazing job Apple! I quickly tried different apps that I did not use for a while and they had a 1-second delay before displaying from the background, but after that, once in the foreground, the apps worked well which no other delay.
So in theory 16Gb of ram should be enough, even for extremely heavy loads, but since I change my daily driver around every 5 years, I will go with 32Gb so that I am prepared for the next 5 years.
What disk size?
This year Apple has finally started with some good disk sizes for base models, 512Gb is enough for most developers. But I went with 1Tb so I don’t have to keep it clean and in order all the time.
This looks like a great start for apple and us as well. These computers are amazing and no matter what you will choose, they will get the job done better than most PCs for a few years. The PCs, especially laptops, have an uphill fight against these beasts.
I am really happy apple did turnaround 180 back to what they do best: Build a great product that only apple could deliver.
Can’t wait to get my hands on my MBP and see how much it will improve my life.
Edit 24 Dic 2021
The M1 has some GPU RAM usage anomaly while on full screen on the browser.
here is more info about it.
Thank you for reading and as always,
If you enjoyed please leave a few claps 👏👏👏
As it helps me a lot.
Have a lovely day.