This made me laugh - not because you aren't right (in theory), but because I just took over a project from a big four consulting company. When I asked about the location of the latest version of the code (after looking in VC and not finding it)...answer: on the production server. "We could have checked it into VC, but didn't want to take the time."
I've seen at least n=6 of these in the past couple of years.
Sometimes the oldies are goodies.
Fortunately there is no opposition to version control in their group, it's just momentum keeping them from changing.
Their compass to locate "over-engineering" is a bit off track. Engineering starts after you have put your artifacts in git or any other VC :-)
Who in their right mind works without version control? Who would want to? And version control has just gotten better and better over the years. I started with SCCS -> CVS -> SVN -> GIT (with a couple of side treks into Perforce and Clearcase). Currently using Bitbucket/Jira, but have also recently used raw git/gerrit. (The organization makes the choice)
I worked at a large fintech company that had serious problems with this. About the only hope we had for mitigating it was moving all the services to run inside docker containers and of course ban developers from accessing the systems directly.
There, I fixed that for you. ;)
When I review the list of tips--which for those unfamiliar, is basically a list of take-aways sprinkled through each chapter--I find the list more timeless than anything.
https://pragprog.com/the-pragmatic-programmer/extracts/tips
The number of times I've told people that "select" isn't broken, or to use tracers, or fix broken windows is more than I can count.
Can you recommend a book akin to Desi...Things that you feel better describes "modern" design?
I didn't get much out of The Pragmatic Programmer myself. Maybe if I'd read it ten years earlier, it would have been my Code Complete.
A pattern I see recurring from teams that were forced to start doing version control begrudgingly:
Pull down code from staging or production to local machine. Make changes. Push to qa or staging to test. All good? Push to production. All good? NOW push it to version control.
W. T. F. F?
Keeps me up at night.
20 years ago this stuff wasn’t prevalent, and now people should at least be able to make educated decisions. But, alas...
Versioned file systems were developed for source code management and go back to ITS and TENEX in the late 1960s. So version control as we know it, as a widespread (at least in the DEC world) practice dates back to the 1970s.
In 1989? Lots of RCS shops who had recently moved to CVS and were excited about the "C" part...
That also makes it really jarring when it recommends something that decidedly hasn't taken off, like the blackboard design pattern.
I had the same experience reading "The Design of Everyday Things". To some extent, these books seem most valuable as historical artifacts of what the tech world was like thirty years ago, rather than current references.