in Uncategorized

“For $10,000 and 92.7 days of your life, you can code with the best of them. Starting wage? $90,000!! “

 

You’ve heard those lines countless times by now. By dedicating a short chunk of your life to learn Rails, Python, and emerging front-end technologies, you can code like a champ. Buried by student loans? Go to a code camp. Struggling to support your family? Code camp!! Want a Maserati?!

You get the idea.

 

There’s something missing though: the art of teaching. 

Do you really want complex concepts to stick? It’s simple. And free.

 

Teach someone.

The concept is simple, really. By focusing on something or someone other than yourself, your personal knowledge will rapidly progress, without you even acknowledging it. Key concepts will start sticking, and you will find that your skills are progressing rapidly. It doesn’t cost one cent, and believe it or not, you’ll feel much better about yourself by the end.

Naturally, computer programming is a rather isolated endeavor. You sit down at your laptop, open your terminal and text editor, point a browser to your local host, and go to town. It’s just you and a machine that is waiting for your every command, and it’s incredibly rewarding when the otherwise-incapable machine does exactly what you tell it to do, millions of times in a row. It’s…..awesome. But…

If you aren’t constantly, actively teaching someone, you are missing out. 

 

Why teaching works:

  1. You are focused on someone other than yourself. As the other person learns and displays competencies, you are instantly rewarded when intrinsic reinforcement kicks in. Albert Bandura touched on this in his social learning theory of 1977, and it is absolutely the case with programming. In short, you feel awesome when the other person gets it.
  2. During the process of teaching, you will actually be verbalizing, explaining, and displaying important concepts. By simply answering questions, white-boarding a for-loop and its termination conditions, or explaining modularity, you will end up covering much deeper subjects than via purely passive learning. At it’s core, teaching is really an exercise in active learning. In his early Socratic Dialogues, Plato not only suggested the implementation of active learning, he demanded it. In doing so, Plato presented his students with the skills needed to overcome real-world challenges and temptations, and armed them with an appreciation of the depth and complexity of wisdom. Code quickly becomes deep and complex. If one does not have the stamina to overcome its challenges, he or she will promptly fail. Want to know why your college professors were so intelligent? They were engaged in active learning by actively teaching.
  3. By teaching, you will prove to yourself and others that you actually know the material. One of the hardest things about programming is the fact that it’s difficult to explain to others. Does your mom know about asynchronous, non-blocking javascript? Probably not. And if you try to explain it to her, she’ll probably give you a blank stare before asking you to do the dishes. Who cares! Simply verbalizing it and drawing a diagram will stamp the material into your own head. Then, when you go for an interview, you’ll be able to access the information instantaneously.
  4. Your emotional intelligence will skyrocket. There are many books and self-help materials out there for increasing your EQ levels, but it really comes down to one thing: not being wrapped up in yourself, and being proactively involved with others. The more time you spend helping other people, the better you will feel. You’ll become accustomed to reading other’s emotions, and you’ll find that certain scenarios get easier to overcome. Are you completely self-absorbed, and answer every interview question with “I….”? It’s going to be much more difficult to get a job. By teaching someone, your focus instantly turns to them. As soon as that happens, you’ll learn more!

 

If it wasn’t totally clear by now, you will learn much more if you help someone out and teach them how to code. Want to start? Teach someone how to set up a WordPress site or the basics of html/css. If every person that wants to get better at programming simply taught two others, the world would have an enormous coding army in no time at all. Try it sometime! 

 

Want to teach someone how to code? Check out the list below for some awesome resources:

Safari Books Online

Codecademy

Rails Tutorial 

Treehouse

Code School

Teaching Kids Programming

Want to read more about teaching theory, and the importance of active learning? 

National Education Association: Theories of Learning and Teaching. What do they mean for educators? 

What is Social Learning Theory?

The Educational Value of Plato’s Early Socratic Dialogues; Heather L Reid

Dialogues of Plato

Want some ideas on how to start? 

  • Build something. It doesn’t have to be the next Facebook, but you do have to learn.
  • Start a business with someone. Even if it’s building WordPress sites with someone and selling them. You’ll learn a ton.
  • Volunteer! There are many coding camps and organizations like Code.org, Rails girls, etc. 

 

 

Read, teach, repeat.