This one is pretty close to what my advice would be. I started out making games at 9 yo, using clickteams klik&play, tgf, and later mmf and mmf2. (They were the creators of amos & stos although that was before my time)
For those unfamiliar with the development experience, its very similar to scratch but with a spreadsheet-like layout.
When I seriously started learning the workings of more complex logic in these tools is when I started reading the "source code" of the 2d platformer Zeb, programmed by Lee Bamber (who would later go out to make Dark Basic), drawn by Nolan Worthington.
This taught me in a very condensed manner lots of advanced programming techniques. Like a teacher of mine used to say, this will feel like drinking Fun Light (concentrated drink supposed to be cut like 1/12) directly out of the bottle.
And that tradition has stuck with me, decompiling dlls and inspecting websites etc.
Dedicating yourself to a specific high quality open source project (popularity doesn't not necessarily imply quality, but in the absence of other indicators start here) can serve in many ways as a mentor would. Some advice on getting started on an open source project:
Open source projects (whether corporately funded or hobby led) are run by people! So it's in your best interest to give before you take. Become active on the communication channels, answer user questions, fix issues where you can, etc... Once the lead developers recognize your name, they will be more willing to review your code (and get your changes merged when review bandwidth is low). Well run projects often have very knowledgeable people that can point out mistakes and teach you in general.
Of course, there's still value in being a "drive-by contributor" where you fix a small bug and never come back. It's just unlikely that you'll form any sort of relationship from such an interaction.