Earlier quoted context omitted.
VCS is something that is interacted with multiple times a day in any codebase. It is a basic tool, not too far apart from being able to traverse a file system. The next step after viewing files, is being able to commit to and view the history of those files. I dont know if that answers "who cares", but a mechanic that does not know how to do something they need to do multiple times every day - there is a skill gap. W…
Any code base?? I question your depth of exposure.
If a codebase has no VCS.. that seems almost ideological. I've done a git init on a linux file system to understand patch changes.
With that aside, what does disaster recovery look like without VCS? Remote backups ate an obtuse form of VCS.
If your laptop explodes, are you losing months of work? I mentor junior devs to push daily, if their laptop blows up I want them set up again in 30 minutes with at most one days worth of work lost (because they push their branches remotely, if only for the redundancy. Doing so daily makes it easy to recreate what was lost, compared to a week or two of effort).
Without VCS, integration is s larger challenge. It can be done, but continuously and also efficiently?
Seemingly we are talking about non collaborative code bases, a vanishingly small subset of projects. Most software is developed by teams.
Last, it is so damn easy to run 'git init'. My last job - the team used git locally and then did the stuff in TFS when they finally had to. The point is how easy and useful it was. The other guy that did his own thing, did not use VCS, his stuff was scary. His code was disaster if it stopped building, of if we lost his laptop.
Which is to say, VCS is an underpinning for CI & CD, DR, and is stupid easy to get the init setup done. Just about any codebase - yeah. Even if that means doing git locally and then throwing it away.
It is different to choose to not use all the tools compared to not being able to use them, and yet another to be unwilling to learn them either due to prejudice.