A subtitle of this talk could be: How to Grow by Giving.
Ali is pretty well known in the Dev.to community and has built a sizeable following on Twitter by investing heavily into other developers. She is a writer, podcaster, developer, and teacher in the software engineering industry.
I was lucky enough to grab some time with Ali back in February on my podcast.
During the interview, Ali shared her experience, not just as a developer, but also as an accomplished teacher. She reinforced the idea that teaching is an incredible vehicle for testing and solidifying your knowledge. She told me that her students would ask incredibly challenging questions, forcing her to understand concepts from first principles.
As Ali put it, teaching forces you to understand the mechanics of a subject.
Ali's story has encouraged me to invest in teaching others in my community and online.
Here are some of the things that came up in the interview:
Teaching doesn't have to mean a classroom. It certainly can, and Ali is very comfortable in that environment, but it's not the only way. I've learned plenty of lessons from Ali, but we've never met in person.
Ali has become undeniably good at distilling her teaching ability and knowledge into articles that she can post online.
The experience of reading Ali's articles is much like being in a classroom because you're reading something written by a person who is exceptionally skilled at passing information to others.
This is something that anyone can emulate (see: this blog post), and it's a skill that you can learn. I'm practicing it right now, and I would advise anyone reading this to give it a shot.
Also, it doesn't have to be a blog post. If you're good at speaking start a podcast or a vlog, if you want to do screencasts, go for it. Livestream some coding sessions. Do something to upload your experiences so that others can learn from you.
If you decide you're ready to commit to sharing your experiences online and teaching asynchronously, you will initially struggle to define your audience.
There is an easy way around this problem: Create content for a younger version of yourself.
Ali shared this advice, and it struck a chord with me immediately. Literally, all of my content is targeted at me in the past or me in the future.
Anyone can do this. It can be technical or non-technical. I write about git a lot because I use it every day and I forget details constantly. My articles give me a place to remember those details.
There is also a mental health component to this (and mental health is essential when your job is to reason about code). Focusing on building followers, creating a vast repertoire of blog posts, or streaming enough each week is exhausting and unhealthy. Don't make content for the approval of others.
A few of the other guests on my podcast have described writing for yourself as simply Open Sourcing your notes. That is an infinitely healthier way to grow by giving your knowledge to the developer community.
Ali is incredible at exemplifying this in her work.
During our chat, she mentioned that there were some nerd-isms that she felt left out of: Star Wars, Lord of the Rings, etc. So she embraces that with her teaching style, she finds opportunities to make tech content more accessible and relatable to those who don't fit the traditional engineering mold.
Her guide to linked lists is one of the best examples of her ability to turn a theme on its head.
This is vital because it refutes something everyone who has ever considered blogging has thought, "Someone else is already writing better content than me."
Fine. Whatever. Maybe someone has written more technically thorough or entertaining content than you can write today, but no one has captured your voice in their content.
Your voice might speak to people that can't relate to the content that exists, so it is important to the growth of the developer community that you try to share your voice and your perspective.
How do you build that unique voice? Varied life experiences.
Ali received a CS degree, she learned web development on her own, and she taught at a bootcamp. If you ask Ali for an opinion on learning to code, she is going to have a lot of experiences to pull from.
If you can expose yourself to a lot of varied experiences, you will find yourself drawing connections that others do not see, and that is the essence of your unique voice.
Follow Ali's example and walk multiple paths.
Ali shared her experiences in the DC developer community and advised other developers interested in sharing their knowledge to find communities in their areas.
If you really feel the drive to connect with others in a one-on-one classroom-esque environment, start by finding low-commitment opportunities in your local community.
Go to meetups and coffee shops where other developers might have questions. Give 15-minute talks. Host an Ask a Dev event.
Dipping your toes into real-world, synchronous teaching might unlock a new perspective for you, and it will absolutely force you to do your research and understand the topics you're teaching on.
Being a teacher doesn't have to be a serious commitment and contributions to the developer community at large can be relatively painless, but those actions will have a positive effect on your career. Ali is a wonderful example to follow in that regard.
If you're interested in learning from veteran engineers like Ali, subscribe to my newsletter and follow along with the podcast. I have upcoming interviews with engineers all around the world who have built amazing careers for themselves.