Learn In Public

The fastest way to learn

Translations welcome! (한국어, 日本語, Español 1, 中文, Español 2, Español 3, 中文, 中文 2, Português 1, Português 2 Português 3, Deutsch, Français, فارسی, हिंदी. Add yours here!)

If there’s a golden rule, it’s this one, so I put it first. All the other rules are more or less elaborations of this rule.

You already know that you will never be done learning. But most people “learn in private”, and lurk. They consume content without creating any themselves. Again, that’s fine, but we’re here to talk about being in the top quintile. What you do here is to have a habit of creating learning exhaust:

  • Write blogs and tutorials and cheatsheets.
  • Speak at meetups and conferences.
  • Ask and answer things on Stackoverflow or Reddit. Avoid the walled gardens like Slack and Discord, they’re not public.
  • Make Youtube videos or Twitch streams.
  • Start a newsletter.
  • Draw cartoons (people loooove cartoons!).

Whatever your thing is, make the thing you wish you had found when you were learning. Don’t judge your results by “claps” or retweets or stars or upvotes - just talk to yourself from 3 months ago. I keep an almost-daily dev blog written for no one else but me.

Guess what? It’s not about reaching as many people as possible with your content. If you can do that, great, remember me when you’re famous. But chances are that by far the biggest beneficiary of you trying to help past you is future you. If others benefit, that’s icing.

Oh you think you’re done? Don’t stop there:

  • Enjoyed a coding video? Reach out to the speaker/instructor and thank them, and ask questions.
  • Make PR’s to libraries you use.
  • Make your own libraries no one will ever use.
  • Clone stuff you like, from scratch, to see how they work.
  • Teach workshops.
  • Go to conferences and summarize what you learned.

If you’re tired of creating one-off things, start building a persistent knowledge base that grows over time. Open Source your Knowledge! At every step of the way: Document what you did and the problems you solved.

The subheading under this rule would be: Try your best to be right, but don’t worry when you’re wrong. Repeatedly. If you feel uncomfortable, or like an impostor, good. You’re pushing yourself. Don’t assume you know everything, but try your best anyway, and let the internet correct you when you are inevitably wrong. Wear your noobyness on your sleeve.

People think you suck? Good. You agree. Ask them to explain, in detail, why you suck. You want to just feel good or you want to be good? No objections, no hurt feelings. Then go away and prove them wrong. Of course, if they get abusive block them.

Did I mention that teaching is the best way to learn? Talk while you code. It can be stressful and I haven’t done it all that much but my best technical interviews have been where I ended up talking like I teach instead of desperately trying to prove myself. We’re animals, we’re attracted to confidence and can smell desperation.

At some point you’ll get some support behind you. People notice genuine learners. They’ll want to help you. Don’t tell them, but they just became your mentors. This is very important: Pick up what they put down. Think of them as offering up quests for you to complete. When they say “Anyone willing to help with __ __?” you’re that kid in the first row with your hand already raised. These are senior engineers, some of the most in-demand people in tech. They’ll spend time with you, 1 on 1, if you help them out (p.s. and there’s always something they want help on). You can’t pay for this stuff. They’ll teach you for free. Most people don’t see what’s right in front of them. But not you.

“With so many junior devs out there, why will they help me?”, you ask.

Because you learn in public. By teaching you, they teach many. You amplify them. You have one thing they don’t: a beginner’s mind. You see how this works?

At some point people will start asking you for help because of all the stuff you put out. 80% of developers are “dark”, they dont write or speak or participate in public tech discourse. But you do. You must be an expert, right? Don’t tell them you aren’t. Answer best as you can, and when you’re stuck or wrong pass it up to your mentors.

Eventually you run out of mentors, and just solve things on your own. You’re still putting out content though. You see how this works?

Learn in public.

p.s. Eventually, they’ll want to pay you for your help too. A lot more than you think.


Author’s Note: I have written an expanded version of this essay and its related canon (below) in The Coding Career Handbook.

Read this next: The Ultimate Hack for Learning In Public (expanding on “Pick Up What They Put Down”)

This essay was originally drafted in a gist and republished in Letters to a New Developer.

I continue to talk about it on podcasts even in 2022 - see the live updating list here: https://www.swyx.io/ideas/?filter=learn%20in%20public


In some places, Knowledge Management is about creating systems that get around people’s knowledge deficiencies. At Goddard, it really seems like it is about empowering people to share and reflect on what they know best. It’s a subtle distinction, but I really like that they put people in the center of this work, and start from a place of abundant knowledge in people rather than a lack of information in systems. Social media has a lot of potential, but you need to think about how to facilitate different kinds of (online and offline) relationships between people so that their thinking is improved, innovation occurs, they can get quick answers to complex problems, in order to enhance and accelerate business outcomes. One of the great benefits of using social media as a KM tool is that you are creating and capturing the knowledge at the same time. However, in order for this to truly work people have to be willing to collaborate in the open throughout the project lifecycle. “Learning in Public” is scary for many reasons – people can find and cling to outdated information and users are exposing their knowledge during a vulnerable time in the project (i.e. when they don’t yet have all the answers). However, during this part of the process is when learning can be most valuable. If you share what you know and what you don’t know in the middle of a project, you give people an opportunity to share specific knowledge that can help you in the moment. If it works, this can help save time and money.

  • Nathan Barry in his book Authority:

Back in 2007 Chris Coyier launched a site called css-tricks.com. It was a site dedi- cated to teaching people how to code websites. (CSS is the language that describes how websites should look.) When CSS-Tricks first came out I remember reading a tutorial and arrogantly thinking, “I know that already.” Chris and I were at about the same skill level, so I didn’t learn anything new from him. This continued for a while as he kept putting out new tutorials. But over time, as friends started asking me CSS questions, I found it easier to link to one of Chris’s articles (since they were really well written) than explain everything myself. Years later Chris ran a Kickstarter campaign to redesign his site. Those who con- tributed would get behind-the-scenes access to additional tutorials and content re- lated to the redesign. The goal was set fairly low at $3,500. He quickly blew past the goal and by the end of the campaign had raised $89,697. Incredible. The point is that he did it with relative ease, all because he had built up an audi- ence who loved his work. He and I started at the same point and our skills progressed at about the same rate. The difference was that he taught and shared, whereas I kept what I was learning to myself. That made the difference between being able to make tens of thousands of dollars on a new project versus releasing to no one.

Nathan in general has a lot of riffs on LIP:

Tagged in: #advice #principles #learn in public

Reactions: ❤️ 15
Loading comments...
Webmentions
❤️ 0 💬 210
  • numericaideas.com  mentioned this on 2024-01-27
  • faychutech.com  mentioned this on 2023-02-08

    Introduction

    Like many other people out there, I have quite a few digital documents and pictures that are important to me.

    Although I know I have at least one copy of these locally, and I do use Dr

  • wazooy.com  mentioned this on 2023-01-20
  • angiebowen.com  Angie Bowen mentioned this on 2023-01-19

    This digital garden is my experiment on learning in public. Developing the ability to teach something well is the best way to learn it yourself. Once you start trying to put

  • jonya.com  Jonya mentioned this on 2023-01-09

    Get your writing on.

    I’ve been following a thread through websites that started with something I’ve forgotten, but I ended up on Monique Judge’s writing and I’m sharing part of a comment from uteki on the post Br

  • avatar of Uva Be
    Uva Be mentioned this on 2022-12-30

    @adoran2 I've done this with working drafts of a couple large fiction projects, a lot of people sorta don't get it, but... I agree. It helps to not be working in the vacuum of space that is worki

  • avatar of Andrew Doran
    Andrew Doran mentioned this on 2022-12-30

    @Uva_Be I’ve tried doing it via weeknotes for the past few years. They have been super useful to me, and (very) occasionally to other people. I now need to try and get other posts out of the draft

  • www.codersjungle.com  mentioned this on 2022-12-19
  • mylaidbacklife.com  mentioned this on 2022-12-18
  • mike-taylor.org  Mike Taylor mentioned this on 2022-07-22

  • makingofthings.com  mentioned this on 2022-06-23
  • www.codequoi.com  mentioned this on 2022-06-20
  • www.codequoi.com  mentioned this on 2022-06-20
  • www.soysoliscarlos.com  mentioned this on 2022-05-09
  • www.recentic.net  mentioned this on 2023-01-18
  • wonz.ru  mentioned this on 2022-09-12
  • www.reddit.com  mentioned this on 2022-08-30
  • culturedsummer.com  mentioned this on 2022-05-26
  • kilabi.xyz  mentioned this on 2022-01-15

    プログラマーとして、あなたは危険なことを十分に知っているように感じることができます。 状況によっては、これで問題ありません。 知っておく必要があるのは、このプログラミング言語のこれら3つのメソッドだけです。 また、専門知識を開発したい場合もあります。 この記事では、TypeScriptスキルを次のレベルに進める方法について説明します。

    以下は、TypeScriptの能力をさらに高めるためのさまざまな方法です。 これらは順不同です。

    公の場で学ぶ

    私の好きな動きの1つは

  • sakhin.xyz  mentioned this on 2022-01-15

    ایک پروگرامر کے طور پر، یہ محسوس کر سکتا ہے کہ آپ خطرناک ہونے کے لیے کافی اچھی طرح جانتے ہیں۔ کچھ حالات کے لیے، یہ ٹھیک ہے۔ اس پروگرامنگ لینگویج میں آپ کو صرف یہ تین طریقے جاننے کی ضرورت ہے۔ دوسری بار ہم مہارت تیار کرنا چاہتے ہیں۔ اس مضمون میں، ہم آپ کی TypeScript کی مہارت کو اس اگلے درجے

  • bogos.xyz  mentioned this on 2022-01-15

    Bilang isang programmer, maaari itong pakiramdam na may alam kang isang bagay na sapat na upang maging mapanganib. Para sa ilang mga sitwasyon, ito ay maayos. Ang kailangan mo lang malaman ay ang tatlong pamamaraang ito sa programming language na ito. Sa ibang pagkakataon gusto naming bum

  • swalif.xyz  mentioned this on 2022-01-15

    Ca programator, se poate simți că știi ceva suficient de bine pentru a fi periculos. Pentru unele situații, este în regulă. Tot ce trebuie să știți sunt aceste trei metode în acest limbaj de programare. Alteori vrem să dezvoltăm expertiză. În acest articol, vom acoperi modalități de a vă

  • hirra.xyz  mentioned this on 2022-01-15

    Jako programista możesz mieć wrażenie, że wiesz coś wystarczająco dobrze, aby być niebezpiecznym. W niektórych sytuacjach jest to w porządku. Wszystko, co musisz wiedzieć, to te trzy metody w tym języku programowania. Innym razem chcemy rozwijać kompetencje. W tym artykule omówimy sposoby

  • kasita.xyz  mentioned this on 2022-01-14

    Kā programmētājam var šķist, ka jūs kaut ko pietiekami labi zināt, lai būtu bīstams. Dažās situācijās tas ir labi. Viss, kas jums jāzina, ir šīs trīs metodes šajā programmēšanas valodā. Citreiz mēs vēlamies attīstīt zināšanas. Šajā rakstā mēs apskatīsim veidus, kā uzlabot savas TypeScript

  • bogosa.xyz  mentioned this on 2022-01-14

    כמתכנת, זה יכול להרגיש כאילו אתה יודע משהו מספיק טוב כדי להיות מסוכן. עבור מצבים מסוימים, זה בסדר. כל מה שאתה צריך לדעת אלו שלוש השיטות בשפת התכנות הזו. פעמים אחרות אנחנו רוצים לפתח מומחיות. במאמר זה, נסקור דרכים לקדם את כישורי ה-TypeScript שלך לרמה הבאה.

    להלן דרכים שונות

  • limada.xyz  mentioned this on 2022-01-14

    프로그래머로서 위험할 정도로 무언가를 잘 알고 있는 것처럼 느껴질 수 있습니다. 일부 상황에서는 괜찮습니다. 이 프로그래밍 언어에서 이 세 가지 방법만 알면 됩니다. 다른 경우에는 전문성을 개발하고 싶습니다. 이 기사에서는 TypeScript 기술을 다음 단계로 발전시키는 방법을 다룰 것입니다.

    다음은 TypeScript 능력을 향상시킬 수 있는 다양한 방법입니다. 이것들은 특별한 순서가 없습니다.

    공개적으로 배우기

    내가 가장 좋아하는 움직임 중 하나는 <

  • webpro-tech.ch  mentioned this on 2022-04-20

    I fell in love with Frontend development ten years ago, and since the beginning, I learn in public. Sharing my everyday web development discoveries while drinking coffee in bed is my favorite Sunday morning activity.

    Whenever I read someth

  • sindhushivaprasad.com  mentioned this on 2022-04-04
  • avatar of Brittney Postma
    Brittney Postma retweeted
  • mike-taylor.org  Mike Taylor mentioned this on 2022-03-25

    “The greatest enemy of knowledge is not ignorance, it is the illusion of knowledge.”

    Stephen Hawking

    Happy Friday! Today officially starts the countdown until we head out of town for spring break. T-minus 14 days and counting. I’m packing my swim trunks, sunscreen

  • codecharacter.dev  mentioned this on 2022-03-21
  • learntrepreneurs.com  mentioned this on 2022-02-21
  • blog.michaelhochmuth.de  mentioned this on 2022-02-17
  • www.pieterboerboom.nl  mentioned this on 2022-02-14
  • thelearningalpaca.wordpress.com  mentioned this on 2022-01-31
  • nicovibert.com  Nico mentioned this on 2022-01-27

    I’ve been keeping an eye on eBPF for a little while. In fact, the first time I properly paid attention was when listening to one of my favourite Cloud podcasts:

    Worth a listen for everyone in the cloud/netwo

  • learndaily.life  mentioned this on 2022-01-09
  • api.follow.it  mentioned this on 2022-01-06
  • dev.to  mentioned this on 2022-01-06
  • gretar.xyz  mentioned this on 2022-01-02

    I’ve been going down a rabbit hole on how to create your own luck, recently, and this is a short synthesis.

    While luck is always somewhat random, any board-gamer can tell you that you can engineer random events to be more helpful if you

  • sijal.xyz  mentioned this on 2022-01-14

    Kaip programuotojas gali jaustis taip, lyg kažką žinai pakankamai gerai, kad būtų pavojinga. Kai kuriose situacijose tai yra gerai. Viskas, ką jums reikia žinoti, yra šie trys metodai šioje programavimo kalboje. Kitais atvejais norime tobulinti žinias. Šiame straipsnyje apžvelgsime būdus,

  • sahafi.xyz  mentioned this on 2022-01-14

    En tant que programmeur, vous pouvez avoir l’impression de savoir suffisamment bien quelque chose pour être dangereux. Pour certaines situations, c’est très bien. Tout ce que vous devez savoir, ce sont ces trois méthodes dans ce langage de programmation. D’autres fois, nous voulons dévelo

  • softbranchdevelopers.com  mentioned this on 2022-01-01
  • coderhub.ru  mentioned this on 2021-12-25
  • softbranchdevelopers.com  mentioned this on 2021-12-03
  • dzone.com  mentioned this on 2021-11-16
  • techsumo.net  mentioned this on 2021-11-16
  • techmark.pk  uzair mentioned this on 2021-11-16


    Twenty years ago, I landed my first gig as a freelance web developer. Twenty years later, I’m still doing it. In hindsight, I see four habits that I wish I had developed in myself earlier rather than later.

  • softbranchdevelopers.com  mentioned this on 2021-11-01
  • chinmoybiswas.com  mentioned this on 2021-10-24
  • softbranchdevelopers.com  mentioned this on 2021-10-01
  • softbranchdevelopers.com  mentioned this on 2021-09-01
  • softbranchdevelopers.com  mentioned this on 2021-08-01
  • www.dylandavis.net  mentioned this on 2021-05-16
  • reddits.contractwebsites.com  mentioned this on 2021-05-01

    Previous Beginner’s Threads can be found in the wiki.

    Ask about React or anything else in its ecosystem 🙂

    Stuck making progress on your app, need a feedback?
    Still Ask away! We’re a frien

Subscribe to the newsletter

Join >10,000 subscribers getting occasional updates on new posts and projects!

I also write an AI newsletter and a DevRel/DevTools newsletter.

Latest Posts

Search and see all content