Learning in Public simply means documenting and sharing what you are learning and working on with other people.
Us developers are creators, and documenting the creating process only improves our skills. Writing about something solidifies the learning process. It’s easy to say you’ve done some reading on X, but if you have a blog post and a GitHub project to back it up, it really makes it more believable. Not just that, it has the potential to help someone. A small contribution is always better than no contribution. Whatever you are learning, create the content that you wish existed while you were learning it.
It’s not about reaching as many people as possible with your content. If you can do that, that’s great! But, the biggest beneficiary of your content is future you. If other people benefit from it, that’s icing on the cake! There have been so many times that I forgot some “thing” and went back to my blog post that I had written about that “thing” while I was learning it to recall it. And because I have written it, its very easy to re-grasp the mental model of that “thing” in minimal time by just reading my post again.
I have talked about this with many of my peers, and one thing they worry about “what will people think?“. Well, if you feel uncomfortable, or like an imposter, that means that you are pushing yourself! Of course no one knows everything perfectly, but we have to try our best any way! One quote I like from Shawn Wang’s blog is Try your best to be right, but don’t worry when you’re wrong.
Learning in Public will also help you be more confident about your skills. When you work on some content, you have to do meticulous research, which will help rough out the edges and fill the gaps in your mind about the topic you are learning. Being confident about your skills goes a long way. Many a times, I have found myself in technical interviews where I just imagine that I am teaching someone / writing a blog post about something rather than desperately trying to prove myself to the interviewer, and it works wonderfully!
There are many ways one can “learn in public”. You can make YouTube videos, tweet about what you are doing, start a newsletter, start a blog, and many other ways. Which one should you go for? Well, that’s entirely up to your preferences. I particularly am a fan of “Digital Gardens”.
Simply put, a Digital Garden is your very own place to “plant” disorganized notes in public - the idea being that these are evergreen things that grow as your learning does. This is my preferred method of learning in public.
I recently stumbled upon this article by Joel Hooks on HN explaining the concept of a Digital Garden.
It is a blog, sure, but it is also a spot where I can post ideas, snippets, resources, thoughts, collections, and other bits and pieces that I find interesting and useful. Instead of always being a “performance” level of blogging, it can be a looser, more human endeavor that drops the idea of robots sorting the content and embraces the idea of curation, by me, for you.Joel Hooks
This analogy is perfect. In a real garden, you plant seeds, water them, and take care of them for the fulfillment and satisfaction that they bring onto you/give you. These plants yield fruits, of course, but the feeling of contentment while watching them grow is very rewarding.
Even though I call my site a “blog”, it just refers to the reverse chronological ordering of the list of posts on the homepage. It’s not about putting up polished, heavily edited 5,000-word “showpieces”, but it’s place where I let myself grow. It’s a place for writing small, opinonated posts about things that interest me and the things that I’m interested in.
Thinking about the blog in this way not only removes the pressure to be perfect, but also eradicates the worry about what others will think about a post. I just write what I want to write. Most of the things that I publish here are “how-to” instructions on how I fixed a bug, or how I developed a particular feature or simply notes on the things that I learned. The other posts are just reflections or “work in progress” thoughts.
All of this opens up the possibilities to add many more things on this “digital garden” of mine and I look forward to exploring more about this idea.
Looking back, learning in public has helped me a lot. It is a surefire way for employers or peers to see what I have been upto, and a great way for me to showcase my ideas, learnings, and projects. If you are starting your developer journey, I will strongly recommend you to document your learnings and publish them as you go. Trust me, it will definitely help in the long run. Thanks for reading, and I wish you all the best!