feat: add learning in public post
Some checks failed
Code Analysis / SonarQube (push) Failing after 20s
Node.js CI / Lint and Test (push) Has been cancelled

This commit is contained in:
2025-10-31 14:52:44 -07:00
parent 2de1f4e36e
commit f1f6bfcee5

View File

@@ -0,0 +1,59 @@
---
title: "Learning In Public"
date: "2025-10-31"
summary: "Why Naomi hates answering DMs"
---
If you have ever tried to DM me, there is a very good chance that I advised you to ask me the question in a server instead. This is NOT just because I hate DMs - though I do, because running multiple prolific communities means I am absolutely buried in DM request. No, this is actually for YOUR benefit.
Because when I redirect you to a public community instead of my DMs, I am encouraging you to **learn in public**. But why is learning in public so important? Well, there are a number of reasons. Let's explore some!
## Single Source of Truth
When you ask me a question in DMs, I implicitly become the single source of truth. Whatever answer I provide you is *hopefully* accurate, but I am wrong way more often than I am right (even this article should be taken with a grain of salt). But the burden of fact checking my answer now falls entirely on you.
Consider a DM where you ask me "What is the time complexity of a merge sort?". And let's pretend I say it is `O(n log n)`. It might be, it might not be, I'm honestly not sure - even after looking it up. BUT my lack of knowledge isn't the point here. The point is that whatever information I give you is now your burden to confirm.
What if you asked me that question in a public server? I'll give you the same answer: `O(n log n)`. But now because this is a PUBLIC conversation, Jeremy could chime in and say "Actually it's `O(n)` and here is a source". The burden of fact checking has shifted off your shoulders, because the entire community can now weigh in and call out my incorrect answer. And *generally* the collective knowledge of a group will be more accurate than the isolated knowledge of an individual.
## Helping Others Grow
Here's another benefit! I presume that, like many people, you agonised about reaching out to ask me your question. Let's pretend you asked me "How do I centre this `div`?". I cannot speak to your emotions, but I *can* state that it is rather common for developers (especially those in their early learning stages) to be afraid of, embarrassed by, or too shy to ask questions.
The fact that you worked up the courage to ask the question should be celebrated! It can be super duper scary! But when you ask me that question in DMs, *no one else can see it*. Instead, if you ask that question in a server, you and I can have our conversation in a public forum. And maybe Danny had the same question, but was too uncomfortable to ask it. Your initiative has now sparked a conversation from which Danny, and anyone else in the community, can potentially benefit.
## Networking!
If you regularly follow this blog, you probably saw my [post about networking](https://blog.nhcarrigan.com/post/networking) and how it is vital, especially in our current economic downturn. Did you know, though, that asking questions in public IS a networking opportunity??
We've already written at length about how a DM is completely isolated, so let's skip right to the part where you ask me the question publicly. This time, you ask me about the considerations between choosing JavaScript or Python. This is a "juicy" question; that is, questions like this are great catalysts for some in-depth discussions. And that's exactly what we do in this scenario - we have a killer discussion, with multiple people chiming in.
During this discussion, you've effectively demonstrated your ability to learn, curiosity for new information, and technical proficiency all at once. And because this happened in public, someone like Jessica might see the conversation thread. And maybe her team has an opening for a junior developer. That conversation could very well be the spark that leads her to reach out to you for a referral for that role! You never know who is reading a conversation.
## Building a Portfolio
Now, a lot of my work happens on Discord. Which is not the best platform, because it's not indexed by search engines. But EVEN SO, your public conversations can become part of your portfolio! I have conversations waaaaaay back from when I first started my learning journey that I still look back on fondly years later. Because those conversations serve as a lovely reminder of where I started, and thus how far I have come.
But your conversations aren't just beneficial for your own self-actualisation! They're also a great demonstration of your long-term growth and commitment to your craft. If you have spent the last five years engaging in increasingly technical conversations, asking progressively more in-depth questions, and engaging in more complex discourse... then that's something you can leverage on your portfolio to show your own evolution!
And if your conversations are on an indexable platform, like the [freeCodeCamp forum](https://forum.freecodecamp.org), then you even get some free exposure through search engine results!
## Confidence is Key!
I've been scared to ask questions before too. I promise it gets easier. Now I'm running my mouth all day asking questions about everything! But I'm only confident enough to do so because I started asking those questions at the *beginning of my learning journey*. I've gone through all of the "oh god what if people think I'm completely incompetent" anxieties over and over again. And it turns out... No one has ever thought that.
BUT! I know you won't believe me. Just like I didn't believe the folks who told me the same thing in my initial learning. I can tell you it's okay until I am blue in the face, but the most powerful confirmation comes from *experiencing it yourself*. So asking your "silly" questions NOW, when you are still in your first steps of learning to code, will better prepare you to be comfortable asking those questions on the job - where it is VITAL that you are comfortable doing so!
## Learning by Teaching
I, personally, am a HUGE fan of the Socratic Method. SO MUCH SO that I formally adopted it as our [instructional approach at freeCodeCamp](https://www.freecodecamp.org/news/how-to-help-someone-with-their-code-using-the-socratic-method/). I think that there is a lot of value in being guided to reach the solution through your own cognitive reasoning.
Part of that process, then, requires you to explain your understanding along the way. In having to explain your understanding, you are effectively teaching others! In fact, when you do this in public there is a significant chance someone will chime in to ask questions about bits they didn't understand. Which then causes you to dive into your explanation further. And every time you have to break something down and convey it in a way someone else can understand, you strengthen your own competencies!
Not only is that a win for everyone, but being challenged to articulate your thoughts can help you better succeed in your professional career. Part of our work as developers involves explaining our ideas to others - some audiences are technical, and some are not. But all audiences need to be able to understand you. So getting that experience NOW just further positions you for success in your career.
## The Takeaway
I know I rambled on and on. I do that. I'm always yapping. So here's the key takeaway I want you to carry with you forever:
The next time you want to hit that "Send DM" button, consider all of these benefits you will lose out on by asking me a question privately instead of in a public community.