From Amateur to Pro… The BEST way to learn (imho)
Do YOU want to know the best way to learn?? Teach!
I got into programming for a whole host of reasons…
- Freedom to work wherever I wanted
- The ability to be a creator of the future
- Job security for an ever-changing world
One of my ever-present goals… no… one of my ever-present missions is to bring that same joy for learning to others, and to be able to pass an extremely valuable skill onto those who can also use it for good.
I am a true believer that learning to program is something that everyone should do at some point in their lives. Not that programming is necessarily needed or even wanted by everyone, but it teaches some fundamental principles that everyone can use in their lives. I read an amazing article a few years ago, just as I was deciding that I wanted to learn to program, called “Don’t learn to code, learn to think”. One of the points of the article and my driving force is that learning to program is simply the process of solving a problem.
That problem can be big or small, complex or simple, and everything in between, but by learning the process of breaking a problem down into tiny and workable chunks, ANY PROBLEM can be solved. In my humble opinion(*imho*), this is the essence of programming, and ANYONE can do it.
Now, because I am a true believer of this concept, I made myself a promise. After I learn how to code like a champ, I am going to pay it forward and do what I can to pass along those skills to others.
Little did I know that I could gain more from helping others learn to code than I could from just putting my head down and grinding out challenges alone.
The first time I jumped on a mentoring call I was scared as hell. I was supposed to be the smart one on this call?? How was I ever supposed come across as some programming guru to this person now depending on me??
It was a hard case of imposter syndrome all over again!
But then… I did it! I actually helped someone!
I remembered the #1 rule for truly helping someone learn a tough concept:
DON’T JUST GIVE THEM THE ANSWER
The best thing my mentor ever did for me was asking the right questions, forcing me to think through every single step of my problem solving process until I got to the answer myself!
Not to knock some of the big learning platforms and tutorials that walk you through step-by-step, but real learning happens best through struggle. Those platforms do provide a very valuable service, most notably learning syntax and how to apply language specifics to a problem, but they can’t honestly teach you how to become a professional problem solver.
Soooooooo…. Getting back to the real point of this article, what good was this for me?
Well this was just the first of many times that I would walk through these skills with many incredibly talented and intelligent individuals. Each and every time I did, it forced me to do the same exact thing that I was holding them accountable for.
Each time I forced someone else to break down a problem into smaller pieces, I started thinking about every problem I was facing and how much I could break it down. Every snippet of code that we walked through made me think of all the different ways there were to solve a problem, and just because I was the ‘mentor’ doesn’t mean my ‘students’ couldn’t bring incredibly valuable insights into the process. And every single time we both had to stare at a debugger, trying valiantly to find (enter common bug here) a missing semi-colon or incorrect recursive base-case, I found new ways to find and fix issues in my own code.
Bottom line, you don’t need to be some well-known industry expert to teach, mentor, or just help someone out, and gain all the amazing benefits that come from opening your time for this cause. I promise it also feels quite amazing to know that you just made an impact, however small, on someone’s life.
Everyone should learn to program, and the world will be a better place because of it. And everyone should give some time to teach something to someone else.
You will be better because of it
Hope this article was helpful and gave you some reasons to try teaching! If you liked this article, you can show your appreciation by giving some 👏 👏! Follow me for more great articles… I try to only put something out when I have something good to say. See ya next time!