Why a senior wouldn’t just head directly to the documentation for a programming language or the equivalent to “The C++ Programming Language” is a different question though. Learning a new language is extremely easy, it’s learning how the compiler, runtime and so on which is hard. You’ll very rarely find that outside of official docs or books written by extremely knowledgeable people.
> I’m going to go against the flow and say nothing.
Whether we're talking about the actual language or the surrounding tooling and ecosystem, very few language and ecosystem experiences are actually different. As a result you're often mapping needs that you already satisfied and can explicitly state to another language. Someone who has already learned their n-th language looks at learning very differently.
This also makes a seasoned learner vastly more capable of extracting value from a friend or colleague who is willing to steer the learning experience.
The easy part is the language, the difficult part is learning to do things the Pythonic way.
Of course, I have to allow for the Dunning-Kreuger effect.
You sound well aware of the fact that being able to put out working python code doesn't necessarily mean you fully understand all of the best practices and idioms that the particular community uses, and that's okay. You are aware of your weakness.
If you were stuck in "tutorial hell" but thought you knew the language, then maybe that would be Dunning-Kreuger. Or if you were unaware of your not writing idiomatic code due to coming from a different language and being new.
Eventually most seniors should come to the realization that expecting there to be a "senior" oriented platform is unrealistic for a variety of reasons (mostly, because the exercise based nature of platform learning in the beginner sense just isn't the sort of thing you need to learn to become senior level in a language and isn't super useful to seniors coming from other languages...).
A real senior that is really trying to learn a new language or ecosystem to a reasonable amount of competence should start with the docs and with a small (but sizeable, enough to have to learn the languages tooling and whatnot) project.
I shouldn't even comment on this, but if you expect there to be video tutorials for the kind of thing you are trying to learn, then maybe you have experienced some form of title inflation. Eventually, people need to learn to read the (f'ing) manual, and I hate to say it like that because it's infamously toxic when inappropriately told to beginners as advice, but it's the truth for somebody that calls themselves a senior.
In the end I bought a “course” that’s 6 practice exams with high quality questions and explanations of each answer. For AWS it’s been a nice approach, so far anyway, because the docs are truly vast and I probably wouldn’t have thought to read the docs for Snowmobile, which I don’t use day to day.
As I see it the programming teaching industry, or whatever you might call it, is similar to other self-help industries where people who are good at marketing sell you empty calories. Even if you created an in dept course on something, you would probably have an issue distributing it in the vast ocean of courses.
For example when learning C++ while being proficient at C# I found useful this blog: https://www.jacksondunstan.com/articles/5530
"C++ For C# Developers: Part 1 – Introduction"
Author compares features between C# and C++ and shows what is similar, the same, different, non-existent, etc.
Differences between languages?
Also, basic exercises are boring because we did them ten thousand and one times already just with slightly different syntax.
Ye Olde “write once, throw it away” concept. Using prior language knowledge can make the first steps much smaller as you learn not just the new language, but environment and tools.
This can give you a quick, solid foundation with which to leverage learning newer ideas and idioms of the new system.