If you do not know Richard P. Feynman, after you read these quotes you will want to know him better. I recently read the fantastic book, "Surely You're Joking, Mr. Feynman!": Adventures of a Curious Character (check it out at amazon).
And, by "teach", he means LEARN. Learn foundational principles in Software Development and you will be able to learn any technology.
So many developers forget that they can easily fool themselves and begin believing their own lies : "Oh, yes, I understand exactly how that works." Then things go haywire in production and they remember that they don't know every detail of how it works.
This is why many of us got into Software Development. We thought if we could build it then we could understand it.
There are places you will work where "they" have all the answers and "know" everything. Learn what you can and get out of there.
And to learn, you have to first know that you don't really understand the thing as well as you could. You cannot believe you know everything.
Science was invented to be doubted. So you'll keep on asking questions and learning more. Doubt your code will work too. It'll make you stronger.
Programmers should always be learners (explorers) too. Sadly, paid work often turns programmers into mimics and hucksters.
Yes, a lot of times that means you have to do those things after a complete day of work (what others wanted you to do) but never give up on what you want to learn.