What can be done with software is pretty immense now, but I think we tend to underestimate how much code being written in the industry is aimed at the maintenance of applications with only mild to moderate complexity.
If you're a decent generalist, maintenance of pretty much anything isn't that hard unless you're jumping into something low level like C++.
Architecture / building major applications from the ground up is harder, but this isn't that common of a task, and if you're building something mission critical and important, odds are you have a team. Or at least you should.
This is a good answer although I think someone with this ability is approaching the level of lead. It's an ideal senior, but many seniors don't demonstrate all of these qualities.
At a bare minimum I think you're looking at someone who has a solid understanding of the code base and business they're working in.
A 'well-defined career development framework' is a nice to have for most companies, but ultimately beholden to the lived reality of the business. Does the tech being used offer this possibility? Does anyone with clout in the company have the incentive to make it happen?
Most businesses are a collection of people filling roles, doing exactly what they're supposed to do to keep their job. That doesn't often lend itself to nice to haves like career development frameworks.
If the business has a major incentive to provide it, it'll likely come into existence.
I took a class on it around 2013 in college, mainly out of interest, not because I wanted to use it. It was that experience that convinced me I'd never actually want to work with it for money.
It was an interesting experience, but absolutely nothing about it was enjoyable, the language, the tooling, the support. All of it.
In my career books have paled in comparison to real world experience, and finding myself far outside of my comfort zone. The two major advances I've gained in skill were a) completing a college diploma b) being thrown into the deep-end at a fortune 500. You can read all the books in the world, but challenging work experience will have far more impact.
The 'mental model and scientific process' has less to do with code alone, and more to do with the holistic act of working for a business. Development is just a part of it. Books will teach you best practices (and you should know best practices), but they won't teach you how to be an effective team-member, or cog in the business.
I have a similar problem with a different background. Great pension and salary with a stress-free job that I leave at home.
It's also a problem with the modern world. We lack community, we lack physical, important work, and we spend our lives doing only one thing (programming). No matter what part of the industry you're in, this is going to get boring after a while.
My take is that there's no way around it - if you want excitement you're likely going to experience more stress. If you want stability, security, and a stress-free lifestyle you're going to be in a malaise with a bit of unease. There's no real silver bullet here beyond defining what you value, what your long-term goals are, and enjoying the ride toward those goals.
For me I think it was more about making the process of learning explicit, and the corollary that there is no such thing as 'complete knowledge'.
Where I think for a lot of people they learn about a thing, or a group of things, until they come to accept something as absolutely and definitely true - "what I know IS reality". Then the learning process just kind of stops there because they think they know, when really they just know slightly more.
I see it all the time, people with the illusion of knowledge when there is a ton more to the story.
I've been studying history privately for about 8 years now, and 'Maps of Time' by David Christian has fundamentally changed the way I look at the progression of mankind. Essentially, he's described from the highest possible level how modernity has come to be. There is too much detail in the book to go into depth, but it's a fascinating, and more than worthwhile read for the knowledge-seeker.
Another I'd add is 'The Selfish Gene' by Richard Dawkins. I have a Bachelor degree in science and never thought I'd be able to add to my understanding of evolution, but this book accomplished it. Almost everything I've studied can be broken into two periods - that I studied before reading the Selfish Gene, and what I studied after.
Lastly, I'd add Hume's 'Treatise on Human Nature', specifically his theory of substances. The basic idea was that as you learn more information about a substance, how you define that substance changes. First you see an orange ball, and you think it's just an orange colored ball. Later someone tells you it's a fruit, and your understanding of it changes.
How this is relevant is that I realized this can be applied to the world at large. Our understanding of any given phenomena is intrinsically linked to what we know about it. So there is no such thing as 'enlightenment' 'self-awareness' etc, there is only ever increasing awareness as we move through life, and we can also make a point to be intentional about increasing our own awareness.
If you're a decent generalist, maintenance of pretty much anything isn't that hard unless you're jumping into something low level like C++.
Architecture / building major applications from the ground up is harder, but this isn't that common of a task, and if you're building something mission critical and important, odds are you have a team. Or at least you should.