Learning by Teaching for your Community

Learning by Teaching for your Community


4 min read

This post was inspired by Cassidy Williams' live stream on Github Univers(ity). In her live stream, she talked about the 3 pillars to building great communities:

  1. Advocacy
  2. Advising
  3. Acceleration


Advocacy starts out by setting a code of conduct. A code of conduct ensures that community members feel safe and respected. It goes on to include acts such as openly promoting creations and suggestions of community members.


Advice basically consists of helping people by answering their questions and guiding them at the various stages of their career growth. At some point in your career, you'll ask noob questions. When you move past this stage someone else will be at this stage. You are meant to help those at the stages you have passed. This ensures your community members feel inclusive.


Learn and grow.

All these can be achieved if you teach your community.

Teaching your community

Teaching your community is a great way to incorporate these principles and also the ultimate principle that you learn more by teaching. Teaching can take several forms.

  1. Writing blogs
  2. Organizing meetups
  3. Creating youtube videos
  4. Organizing text + voice note sessions

By teaching your community, you motivate, inspire and most especially, learn the intricacies of what you are teaching. Cassidy gave an example of teaching React. Although she has been using React for over 5 years, she still doesn't know all the intricacies of the library. Every time she teaches it, she discovers new ways of presenting the intricacies of React.

I'm not an expert, why should I teach?

Newsflash, no one is. But here's the thing, when you teach without ego, you build your expertise. The process of teaching helps you understand more than you ever would have if you just read a material or saw a video.

A practical example

Let's assume you just started learning HTML last week. You know the basic elements: headers, paragraph, anchors etc. Now, you decide to write a blog on what you currently know. You first go this way.

HTML is a thing that makes us see things in browsers.

See how vague this example is? Someone with no HTML knowledge may get confused by your defination. You decide to make it more descriptive.

HTML is a markup language composed of tags such as <h1></h1> and <p></p> that is inpreted by browsers to display text and media. The browser converts these tags to visible text such as



<p>This is markup</p>

This is markup

Now, trying to be more descriptive may lead you to learn how the browser takes in the markup and makes it visible text. This may lead you to learn about the Document Object Model (DOM). See how teaching helped you learn more? It applies everywhere.


Teaching helps you learn better. Teaching your community helps both you and the people around you.