That is an interesting comparison. I think it highlights that engineers may need to constrain the design a few levels of abstraction lower than where they typically operate at any given time. I think performance constraints is a key motivating factor for when we need to peel back the layers of abstraction and tweak something under the hood(s).
I think another analogy is like building a skyscraper. The construction worker needs to worry about the floor below him and the floor he is working on. Everything below him is an implementation detail from his perspective.
If N is the cutting edge level of abstraction, N+1 is what research is doing, N-1 is where I like to operate at while I wait for N to stabilize.
Take a stack of AWS services for example. AWS comprehend medical is an abstraction built on a bunch of NLP building blocks. AWS health lake is an abstraction on top of AWS comprehend medical. At this point I don't care about the NLP underlying AWS comprehend but I don't want to use AWS health lake until it has a chance to stabilize and another abstraction is built on top of it.
The most notable theocracies - Iran and Saudi Arabia, do fairly well compared to the other two forms of government. I wonder why they're do better than one might expect.
Saudi Arabia is not a theocracy, it's a regular old monarchist dictatorship with some window dressing, and on pretty much any measure they do worse than their capitalist competitors like the UAE or Qatar.
Iran, Afghanistan and the Vatican are the only modern theocracies.
There are a number of open source projects looking for contributors. I know wesnoth.org is one. The downside of contributing to open source projects full time is you will have to find alternative income.
One example I can imagine you can help with: if your city doesn't have it, you could put its train timetables in an app. There's one for Sydney, it's called TripView. A train timetable available in a convenient manner will help people rely on trains more and reduce CO2 emissions.
You might have seen aldjemy already but I thought I might mention it https://github.com/Deepwalker/aldjemy - let's us use SQLAlchemy queries in our django code without requiring redefining the models in an SQLAlchemy manner. It's easy to put a wrapper around it to convert SQLAlchemy results back into Django model instances.
Yep I'm using Aldjemy as a bridge for now and it works great. I still really don't like having two completely different db layers in the same codebase. Whilst we're plugging the ecosystem/extensions, I also use Alembic which is amazing.
You can get some working experience doing freelance gigs. You could probably find better ones than upwork.com, but otherwise, do some jobs there, do bigger and bigger ones, until you've got a couple of 1-month long gigs and some good reviews. Then go after the 1-2 year work experience ones. The lower end you go, the less onerous the requirements are, and it's possible you can build up your work experience that way.
These days, he may even use a brick robot to automate bricklaying, and still be interested in the mortar used.
Same for software ?