I first heard the expression, “learn one, do one, teach one,” in relation to a practice used in the United States Navy for acquiring and transferring knowledge and skills. Since then I have learned that the medical profession has a similar teaching method of, “see one, do one, teach one,” and I suspect there are other variations in professions around the world. What struck me, however, was that the progressive process of learning how to do something, doing it, and then teaching someone else how to do it is a highly effective way to lock in new knowledge because you don’t really know something until you are able to teach it to someone else. Over the years, and in wildly different areas of expertise, I have consistently found this to be true, and I have recently come to realize that this philosophy has other applications that can change the world for the better.
The cognitive potential of learning, doing, and teaching is obvious, but I can also see how this practice can easily be adapted as a way of community building. For example, within the hacker/cybersecurity community, I see a lot of people giving back by writing scripts, posting videos, and teaching classes on various tips, tricks, and techniques that we use for various scans, attacks, and mitigations steps we use professionally. I am lucky in that the people I work with who do this are amazing professionals with years of real world experience, but what about people who are just getting started?
For me and many others, the idea of contributing to a robust tool like Metasploit seems daunting, if not overwhelming. To someone who is still working on wrapping their brains around the various aspects of infosec, there may also be the feeling that they have nothing to contribute because they are n00bs who still struggle with using a command prompt. To anyone who is thinking these thoughts, or something similar, I would like to suggest that you have more to share than you realize, and that the “learn one, do one, teach one” philosophy can help you and those around you. Don’t get me wrong. It will require effort, and stepping out of your comfort zone, but if you give it a try you may surprise yourself in a good way.
Start off by learning something new yourself. It may be something as simple as how to open a shell window and check the operating system version of the computer you are working on. If you have never done this before, you will have to do some research, but search engines are your friends and there will be lots of tutorials online to help you.
Next, do the thing you just researched. Personally, I like to practice a new process or technique three times to make sure I understand who it works, what to expect, and that I can duplicate my results consistently. You may feel comfortable performing your new skill only two times, or as many as five. The number doesn’t really matter, though. What matters is that you do the thing enough times to feel comfortable in your ability to do it again in the future.
Finally, teach this new skill to someone else. If you have a blog, you might publish a short “how to” post describing your new skill in your own words, along with any personal observations or insights you gained while you were learning. If TikTok or YouTube is your jam, use one of those. Or Twitter. Or even (gasp!) tech someone you know face-to-face! (Shocking, I know, but I also know you can do it!)
From there, lather, rinse, and repeat. If you weren’t content with your ability to teach someone else your newly acquired skill, go through the process on that skill again until you are. Then try teaching it to someone new. People have different learning styles, so one teaching method probably won’t work for everyone. If you are writing a blog post or making a video, prepare your next version for a different target audience. If you were writing or recording for a geek the first time, try preparing your next version for someone like a grandparent, a neighbor down the street, or a friend who can never seem to find the “any” key.
After you are content that you have truly mastered your new skill, pick another one and do it all again. If possible, try to make this a regular habit, say, something you do once a week. I don’t recommend setting too lax a schedule, though. If you set yourself to only do this once a month or whenever you feel like it, it is likely that you will “forget,” get distracted, or find some other reason not to get it done.
I would also like to suggest that technical skills are not the only kinds of learning this technique can be used to share. For example, I know a lot of people who are afraid of public speaking. Or maybe you want to teach your dog some cool new tricks. Or maybe you have always wanted to make the perfect crème brûlée. This process of learning, doing, and teaching will work for things like that, too. And who wouldn’t want to enjoy a tasty dessert while watching their dog perform? 😉
Ultimately, it is up to you what you choose to learn, do, and share with the world. And if you need additional motivation, think about this. Every time you learn something new, you are doing something to improve yourself, bit by bit. And every time you share what you have learned, you are doing something to improve the world, bit by bit. Those bits add up quickly, and before you know it you will have a body of work to share, present, or otherwise use to show what an amazing person you are.