A few months ago, I stumbled onto an excellent post about learning in public that made me reconsider how I have been learning to keep up with my field and further myself as a software engineering professional.

It took a while to decide how to proceed but I’m moving along now, so here we go 👇

Table of contents

Introduction

To remain competent, and especially to grow, every software engineer must continue to learn throughout their professional life. While learning methods vary, I recently noticed a stark contrast in our field: learning in the dark versus learning in public.

For most of my career, I’ve been learning in the dark — quietly absorbing information, practicing in isolation, and keeping my failures and successes to myself. This personal site and the article you’re reading mark my transition toward learning in public.

In this post, I’ll recount what inspired me to embrace learning in public.

Inspiration

I don’t recall exactly how I found the article Learn In Public because it had remained a bookmark for so long. Written by Shawn Wang, also known as swyx, it has a straightforward message that engaging with the community, sharing your work while you learn, seeking feedback, and teaching what you’ve learned to others are key to personal and professional growth.

I’d wondered for a long time what the difference was between people whose works I’d read and learned from, who all seemed to have a public voice, and everyone like me who didn’t. Turns out, all you need to do is speak up and learn in public.

It’s easy to say that, I know, but there is another thing I learned recently that makes it easy to do that I’ll get into further on.

Dark mode

The amount of time I have spent grinding through online tutorials, digital books in the O’Reilly digital library, books I’ve purchased, examples from experts, educational platforms, etc., is vast. How much does anyone know about what I learned that way? Very nearly nothing.

I’ve made thousands of Git commits to private repositories that remain unseen. I’ve tried a lot of silly things no one has ever seen. But I’ve also made some neat stuff no one has ever seen, as well. And no one — not even me — has gotten the most out of any of it.

A view down a dark city steet at night with tail lights and the glow of neon lights in the distance

Dark mode.

Learning in the dark prevents feedback from peers and mentors. It’s inefficient, allowing obvious mistakes to persist and blatantly wrong paths to go unchecked. It also allows accountability to be avoided.

Not only have I deprived myself of all of the benefits of feedback and engagement from peers and mentors, I’ve deprived others in the community of learning from my efforts and the opportunity to engage with me. The community can’t contribute to you if you don’t contribute to the community.

Learning in public

It’s easy to say, just learn in public, but doing it has been almost entirely just a mental shift for me.

The way I’m doing it, by resurrecting this personal website, learning a new static site generator (Hugo) as I go, setting up various things on Amazon Web Services, and embarking on a whole campaign of producing public content, is just my personal expression of that shift. There are easier and quicker ways to do this, but I believe this approach is most beneficial for me as a software professional.

A vivid cloudy sunrise with deep purples, oranges, and blues

Dawn.

The key to this idea is that I’m talking about all of this in the public sphere. Most of the work I’ve done so far is in public repos and I plan to publish the articles in a public repo so issues and pull requests can be opened against them once I figure out how to keep the drafts private.

If you think my work is terrible, cool, please tell me why or explain how I can improve it. If my work has helped you, awesome — let me know that, too! And always feel free to ask questions or reach out for whatever reason.

When you contribute to the community by learning in public, the community has the chance to contribute to you, too!

Do it ugly

I mentioned earlier that I’d come across something that helped get my mind to a place to actually learn in public. Not long after reading swyx’s article on learning in public, I came across a story on Instagram by Dr. Shanté Cofield, @themovementmaestro, with the caption, “DO IT UGLY”.

She describes an idea related to learning in public with that great phrase. Their original idea meant to share even if you don’t think your personal appearance looks the best in the content but I think this applies to any content when learning in public, too! Just share it, go from there!

It might be ugly, or maybe it’s just imperfect, but that’s okay! Just get it out there.

I shared this story with a colleague shortly after seeing it and we now regularly say or message the phrase to each other as a reminder to just do the thing, just get it working, get it out there.

Dr. Shanté Cofield sitting on stairs outside in a burgandy shirt and black pants holding a microphone with the caption, Do it Ugly.

Click through to watch the story!

The message in this aligns so well with learning in public.

Do it ugly.

Translation: It’s ok to post things where you don’t think you look your best.

Have your feels about how you look AND still show up and post that shit.

You’ve got a message to share, you’ve got people you want to help.

Work on your shit WHILE you post your shit.

Do it ugly.

— Dr. Shanté Cofield (IG: @themovementmaestro)

I suppose it wouldn’t be fair if I didn’t walk the walk after talking the talk. So here I am, doing it ugly, and doing it in public.

A man in a black v-neck shirt sitting at a desk looking down at a tiny chihuachua in his lap

Need a haircut.

A man in a black v-neck shirt sitting at a desk looking into the camera smiling with a tiny chihuachua in his lap

Tiny dog.

Final thoughts

Transitioning to learning in public has been empowering, benefiting both myself and the community that has given me so much. I’m glad to return the favors.

Do you spend a lot of time learning in the dark? Consider giving learning in public a try.

Learn in public.

Do it ugly.

Do it ugly in public.

Credits

Always give credit where it’s due.

These are the people and things I’ve referenced in this article that deserve recognition.

  • Shawn Wang, also known as swyx, for his excellent article, Learn In Public, that inspired me to begin moving on this path.

  • Dr. Shanté Cofield, @themovementmaestro on Instagram, for giving me that last push I needed to just do it ugly.

  • All of my coworkers and colleagues who have encouraged me to speak up.

Last commit: 7d599fa on 2024-08-29, with message: Merge pull request #72 from EngJay/staging.


Personal blog by Jason Scott. I enjoy making software, electronics, practicing jiu-jitsu, and spending time with my tiny dog, my partner, and even her rude cat.

✉️ Feedback or corrections? Let me know.

Further reading