Self teaching


I’m pulling an all nighter preparing to teach an “Intro to Servers” class with Girl Develop IT - Boulder.

I thought the class would be boringly straight forward. Describe HTTP request/response cycle, setup SSH authentication, install and setup NGINX for static HTML site and simple nodejs reverse proxy. I was completely wrong.

I realized my complex objective when I had to draw simple diagrams for technical concpets I took for granted (eg, SSH handshake). It turns out SSH has 3 transport layers and the 3rd layer has 3 embedded channels. If you’re like me and started your “programming” after the rise and fall of the first internet age, I lived on top of very helpful developer tools. I was told to accept SSH and write code faster.

But here I am, pulling another post college all nighter and I’m loving it.

Don’t get me wrong. I love sleep, AND REALLY NEED IT. I’m not encouraging all nighters. I am, however, encouraging us to journey into “simple and maybe boring topics” so we can explain how stuff actually works. But not through worlds. Books help, but breaking stuff in front of people explains things that a pile of books cannot teach. Breaking things helps others digest how systems work on since they see the impact and usefulness of “theoretical” concepts.

This got me thinking about how I best digest information when someone isn’t teaching me. I think it’s worth asking yourself the same question, “How do you effectively learn new concepts?”

Here’s my answer. Maybe this helps you derive your own process, maybe not.

  1. compare topic to already known concepts
  2. create a visual illustration
  3. create state based flow

First, I start by comparing new concepts with other ideas and hopefully make an anaology. If I can get the digestion process into an analyically comparative operation I’m 3x more effective than if I’m straight up leanring new material. Second, I take the simpler aspects of the new concept and create a visual illustation. Again, I’m 3x more effective with knowledge if I have create a visual representation. Up until now, all the knowledge and understanding I’ve process is devoid of state or order based dependencies. Third step is to introduce an order list of how the new concept can be explained by building the concept from no previous knoledge.