As a fellow self-taught developer, I have practical experience with most of the points here and find them to be spot on. One recent example is when I decided to learn React and, according to advice I’d seen elsewhere on this site, I started with create-react-app. A few days into this and I came to the conclusion that this was the wrong approach, create-react-app was hiding away too many details, configuring things in a way that didn’t suit my use case, and introducing all sorts of new concepts that it made no attempt to explain.
Before long, I decided to restart my project and build a minimalist “Hello World” app using only the bare essentials — React, Babel, Browserify — and tie them all together with a Bash script. It took a few hours to create a working build, but I learned a lot along the way, particularly about Babel, and just a few days later was able to explain much of it to a more senior developer with much more front-end experience, but none in the command line.
I highly recommend and endorse the points raised in this article. Sometimes reinventing the wheel by throwing out the productivity tools and starting from bare bones has it’s merits!