What "16GB Is the Floor" Actually Means, and When You Genuinely Need More
16GB is enough RAM to develop on — right up until your actual workflow asks for more than one heavy thing to run at the same time.
16GB has become the commonly recommended baseline for a development laptop because it's genuinely enough to run an OS, a modern IDE, and a browser with a reasonable number of tabs open at once without constant memory pressure — for a large share of day-to-day development work, that's actually enough.
It stops being enough the moment your workflow asks several memory-hungry things to run simultaneously rather than one at a time. A handful of Docker containers, a local database, an IDE with a large project indexed, and a browser with dozens of tabs all resident in memory at once adds up fast, and 16GB gets consumed well before any single one of those pieces feels unreasonable on its own.
Local AI work raises the floor further. Loading a model's weights into memory — whether on a unified-memory Apple Silicon machine or a traditional laptop relying on system RAM for anything that doesn't fit in a smaller discrete GPU's VRAM — adds a large, fixed memory cost on top of everything else already running, which is a big part of why 32GB is increasingly treated as the real comfortable floor for developers doing that kind of work regularly, not 16.
Checking a specific application's actual memory footprint rather than guessing is worth the five minutes it takes — most operating systems ship a built-in activity or task monitor that shows exactly how much of your current 16GB a typical working session is already using, before you've even opened the thing you're actually trying to test.
The practical check: 16GB is a reasonable default for straightforward, single-service development. The honest question to ask before settling on it is how many heavy things — containers, a database, a model, a memory-hungry IDE — you actually expect to run at the same time, not just how demanding any one of them looks in isolation.
