Nowadays Google Chrome, VS Code, Slack and Notion are now eating 90% of the memory of my 16GB MacBook Pro. One reason to switch to a new laptop would be to upgrade to 32GB. This won't be possible for now with M1 macs.
What do you guys think? Is 16GB reasonable today for average Software Engineering work?
This seemed to me like a nice question for HN (Mac and Electron apps ranting welcome)
Yes, I know the above quote was not actually stated by Gates or was misinterpreted, but the reason that it became so infamous is pretty much the same case as this. It's the short sightedness of the thing. (or in this case, perhaps a marketing trick as they now have a great "now supports up to 32 or 64GB" tagline for their 2021 model that will drive another must-upgrade rush)
It's pretty ridiculous to release a "latest and greatest" generation of any computer in 2020 with a hard 16GB limit. Sure, it's most likely enough for general usage and diehard Apple fans will buy that thing in droves and then spend countless hours debating it and justifying the buy, but as already stated by other commenters, there are many reasons to need more RAM and I suspect it will be a deal breaker for a lot of potential buyers, especially developers and designers. There are many things that benefit of more ram, large or complex ide's, virtual machines, game development, sound design, video editing, 3d rendering, and just plain old multitasking.
So, in my opinion, no, it's not reasonable for Software Engineering work unless you upgrade machines very frequently, and even then, I wouldn't really go for it, not only because of the RAM issue, but also the novelty of the entire system.
However I need to be careful, For example I started using Tabnine recently and the memory usage per instance of vscode is way too high and I need to think about closing unused instances of vscode.
I'm considering to test Github Codespaces so I get a fast environment in the cloud. But the ram amount is only 8GB max and since it probably runs on Azure the IOs performances will likely be awful. But it may be great and then 16GB on a laptop to run many instances of Electron is a lot more than enough.
But if I were to buy a new laptop tomorrow, I would like to get at least 32GB and a touchscreen. So no MacBook pro for me.
Also consider carefully whether the software you work on is fully compatible with Arm (e.g using x86 VMs).
If you can hold on for now I would do that and make a decision when you have more information.
For me 16Gb would not be enough. But it depends on type of work and your worflows (editor/tooling) you use.
I have gotten OOMs when working on the Scala project though, which to me is one more reason not to use Scala.
On the other hand, if you want to make iPhone apps, you'd probably want more, as Xcode for e.g. is a resource hog.