Short version of rant, unrefined and unpolished :)
I basically agree about bringing modern software development into science, and I teach grad students and postdocs all over the country as well. But I'm looking for a better way.
A major problem is constant churn. We used to teach Travis CI. That seems to have fallen out of favor, so now we teach GHA. But what about all those projects still using Travis? What happens if/when Github or GHA fall out of favor?
Same with python packaging. setup.py vs. setup.cfg, pypi vs. conda vs. poetry vs. whatever else. Various ways of specifying requirements. Plus docker on top for some people.
How to build/host docs is yet another thing to figure out.
GH Pages, netlify, or RTD? Depends on the language? Now lots of projects are both C++ and Python, and cross language documentation is hacky at best.
And what about git? Lots of non-science software developers have issues understanding that, what chance do informally-trained scientists have?
And now we are starting to see people wanting to use Julia and Rust. Or to program web apis and web pages (html/css/js).
Each of these issues may not be too bad on its own, but they all add up. When you already know about all these things, you drastically underestimate how difficult they can be to understand for someone new.
Tech companies and startups can keep up with this stuff. I'm not sure scientists' time should be spent doing this.
[PS: Not sure why you think my name is Jonathan, unless I said that somewhere. If I did, I was lying :) ]