Technical folks in OSS communities often find themselves in permanent learning mode. Technology changes constantly, which means learning new things — whether it’s a new feature in the latest OSS release or an emerging industry best practice — is, for many of us, simply a natural part of our jobs. This is why it’s important to think about how we learn, and improve the skill of learning itself.
“Learning in public” — which simply means sharing your learnings on the internet — is how OSS communities have evolved to educate their members. It’s a way to speed up learning by taking advantage of community expertise, and is also a great way to build trust and relationships.
Learning in public entails 3 simple practices:
- Ask lots of questions.
- Share what you’ve learned (even if you’re uncertain about it).
- Say what you know and ask for help with the things you don’t. If you make a mistake or get something wrong, admit it. Ask the person who corrected you to provide the right answer and discuss.
Let’s take a closer look at the value of learning in public, some real-world examples, and why, despite sounding so simple, it takes a lot of courage to get right.
How knowledge-building works in online communities
For me, one of the funniest bits of internet and community culture is Cunningham’s Law, which states: “the best way to get the right answer on the internet is not to ask a question; it’s to post the wrong answer.”
This may sound tongue in cheek, but it’s true. Wikipedia, which can be considered an open source community, is probably the best proof of this law: one person writes an article, and a progressive army of people expand, correct, and improve the initial article (or “wrong answer”).
This is how online knowledge-building works across all communities, including technical ones: somebody posts something they’ve learned and it serves as the basis for other people to riff on and improve. This collective process is what ultimately produces the right answer. And, since technology is constantly advancing, open source communities operate in this constant, never-ending learning “loop.”
In a previous blog post, I wrote about “good reply game” and how community members can productively respond to one another. Combined, Cunningham’s Law and good reply game can produce a constant uplift in information and understanding across an entire community.
Building an OSS community: A series
This blog post is part of a series of posts we’ve written on OSS communities and what makes them thrive. Check out these other posts to learn more:
An example of learning in public
Let’s look at an example to understand how we, individually, contribute to our communities by learning in public.
Software developer Julia Evans demonstrates what “good” learning in public looks like. Julia writes technical comics and zines that explain complex computing ideas. She’s been at it for years and knows quite a lot.
If you follow Julia on social media platforms, you can see how she’s a big proponent of learning in public. Her online presence is not one of an expert delivering the truth to the masses. It’s much more like a community discussion, and that’s precisely why it’s fun and engaging.
when I started writing this DNS zine I thought it would be easy to write a clear explanation of how DNS works— 🔎Julia Evans🔍 (@b0rk) March 30, 2022
I was very wrong but after many weeks of editing, we're getting there!!
This simple post is a good example of learning in public: Julia admitted she was wrong and showed evidence of a struggle, but stuck with it and saw improvement. She’s being real, because this is what learning complex technical topics actually looks like in practice. It is not only wise to be honest about these things — it is also kind. Many other people struggling with the same issue will no longer feel alone.
Why learning in public takes guts
Again, learning in public may sound simple — but it doesn’t always come easy.
Many technical people, particularly towards the earlier parts of their career, feel some form of imposter syndrome. It appears the community is full of people who are more experienced and smarter than they are. To learn in public, many folks have to face certain fears they may not even know are there. What if you’re wrong? What if someone calls you out on a mistake?
What if you’re not an expert, and people know?
Meta Imposter Syndrome: When you feel like you're not smart enough to have Imposter Syndrome.— Mark Johnson (@markjohnson_io) May 9, 2018
In reality, nobody is the global expert and nobody is an imposter (though many people feel like they are!). Everybody is trying to learn something or get a job done. Those who can internalize this start to learn in public and really fly.
So… what if you get called out?
Let’s face the fear head on and talk about what folks who learn in public do when somebody points out a mistake.
Imagine you write a paragraph about something you’re learning. You ask some colleagues to review it and they point out there’s a large error in what you wrote. You have two options:
- Shrink into your shell, apologize for your error, and feel bad about it.
- Thank the person for spotting the error, ask them to clarify/explain, and tap into the free educational benefits of being part of an OSS community.
I have seen a lot of data from community forums, and I know people appreciate it when you choose the second option. In public, there are the people who are speaking and the onlookers. Many of those onlookers appreciate it when posters ask questions, because they were wondering the same thing, but didn’t have the courage or confidence to ask.
What’s the alternative to learning in public?
The two alternatives to learning in public are to be a “silent student” or to go into “expert mode.” Neither is great for you, or the community at large.
Silent students don’t ask questions; they study diligently on their own. This process works (it’s how a lot of us got through school), but it can be slow and painful. Without someone to bounce ideas off of, and without taking the risk you’ll be wrong, you need to do everything for yourself. This is really inefficient when there’s an entire community at your fingertips.
Expert mode is something you’ve seen many times; it’s when a technical pro projects an image of being bulletproof, and believes what they say is always right and unquestionable. It’s almost always a facade, though; plenty of people are in expert mode even if they’re not actually experts. And, even if they are experts, they’re still eliminating the possibility for discussion and learning.
Things I don’t know — and some next steps
In OSS communities, we like to “dogfood” and use our own products to make them better. This post is in that same spirit. I am attempting to summarize what I’ve learned about the process of learning. I’m taking my own advice, posting the best version of what I know, with hopes others might show up to add nuance or correct me. Many years in, I’m still learning in public.
There are many things I still do not know, including:
- What’s the best way to get people started? What’s a low-risk baby step toward learning in public that we can encourage others to take?
- Is the way I’m describing silent learners and expert mode (in the call-out box above) incomplete? What other patterns do people follow? What have you done?
I encourage you to reach out in our Grafana Labs community forum — feel free to tag me, @davidallen5 — and add your own voice if you know about any of these topics. Corrections to this article are also welcome!
Finally, this post reflects some of our core values here at Grafana Labs — namely, helping each other thrive, sharing openly and transparently by default, and keeping OSS in our DNA.
If these values resonate with you, we’re hiring! Check out our careers page to learn more about working at Grafana Labs, including how we approach remote work and some of the perks of being a Grafanista. You can also peruse our open positions to see if there’s an opening for you.