There's a lot of waiting for and blaming others in this article.
I never waited on anyone else to teach or train me. I read everything I could find, spending literally thousands of dollars on books (before the Internet) and tools.
"I kept working with my head in the sand" ... "I saw no alternatives".
It doesn't sound like you were really looking. These are choices you made. Blaming others (or "the industry") is not only unfair; it is the lie that will continue to hold you back.
Invest in building up your skills, knowledge, and experience and in keeping them current. If you believe that making presentations and training others are keys to success, then get busy making presentations and training others.
I have succeeded for 30+ years in this industry because I walk into a new environment, immediately identify problems (duplication of effort, lack of a plan or design, etc), and begin to create solutions. If my work isn't appreciated, I move on until I find a place that's serious about quality.
I don't wait to be asked. I don't stop even if I'm told to. I see what's needed and get to work creating it.
Why are we stuck with so many incompetent programmers? Because so many of them are waiting for permission to be great and so few invest the time and energy required to be great at their craft.
Conditions (employers, culture, etc) are rarely conducive to doing things right. Do it anyway. Every time.