Rather the best way to learn programming I find was to master the basics, memorize the most used routines and commands to avoid having to google it every time (ex. CSS)
The problem now is we have LLM which kind of negate the need and we have lot of engineers who don't have good fundamental systems design.
The other major issue is most of us engineers are scaling for a future that won't come. It's sufficient to squeeze ton of performance out of a single vertically scaled Postgres instance for example without the need to do exotic architectures.
So prerequisites are important like in the article but less so now but the fundamentals and only learning what is needed is critical more than ever (ex. Kubernetes for a blog)