Three years into IT, and I still have to think for a second before some CLI commands come out right. Not the obscure ones. The basics: cd, sudo, ls and ll with their flags, nano, cat, grep. Meanwhile composer, npx, npm, node, php came easy, because those were "expected" of a programmer. Nobody expected me to know the terminal itself.
I'm self taught when it comes to self-hosting, and that gap showed. Cordova Public College taught npm, node, and php as the basics, which makes sense for producing developers who can ship code. But it left out the layer underneath: the shell you're actually typing those commands into. SSH is the clearest example. Most of my colleagues don't touch it unless they're a sysadmin. It's treated as a specialist skill instead of something every backend developer should have muscle memory for.
I keep going back and forth on whether this is an AI problem or something that was always true and AI just makes it more visible. My guess is it's mostly the second one. Bootcamps and CS programs optimize for the tools that get you hired fastest, and a shell prompt doesn't show up on a portfolio site. It was already a hurdle before AI could autocomplete your way past it. Now it's just easier to skip entirely, because you can ask instead of learn.
That thought got more concrete for me this week with a git command I'd genuinely never used: git restore --source=<commit-hash> <file>.
In three years of shipping code, "restore" to me always meant one of two things: undo everything in the working directory, or revert an entire commit. Pulling back a single file to an earlier version, while leaving everything else alone, never occurred to me as a workflow. I don't know if that's because nobody taught it or because I never hit the exact situation that would have forced me to learn it. Probably both.
The part that actually matters, and the part I almost got wrong, is the ~1 or ~10 suffix on the commit hash. If a file was already changed in the commit you're pointing at, restoring to that exact commit gives you back the same broken state you're trying to escape. You have to go one step further back, to the commit before the change, which is what <commit-hash>~1 does. Miss that detail and the command runs fine, does nothing useful, and you walk away thinking git restore doesn't work the way people say it does.
Fundamentals like this used to get absorbed by accident, through years of getting stuck and digging yourself out. AI is closing off that accidental path faster than most of us are noticing. If the next generation of developers can ask instead of learn, and mostly does, what happens to the muscle memory that only comes from being stuck with no one to ask? Are we doomed?
