How learning in public helped me in my journey
Tags: opensource, career
Published: 2023-03-13 12:11:53

Learning in public became a lifestyle adopted for me last year when I started learning software development. If you don't know what it is or don't do, I strongly recommend starting as soon as possible.

This is probably the main reason why I know what I know today and how quickly I have increased my knowledge. 

I would say I move faster than most who started studying with me, and one of the reasons for that was learning in public. 

You can learn more about my thoughts in my [zettelkasten](https://vinibgoulart.github.io/zettelkasten/docs/about).

Today, I'm here to share how this lifestyle helps me combine creating a product with learning a new technology. 

## The mindset

I have a "job" where I create a list of names for an event, but all this work was done manually, and I didn't like it. I was wasting a lot of time, and there were usually some mistakes. 

I had a goal of learning new JavaScript frameworks such as KoaJS and RelayJS. Moreover, I had a few side projects, and I had rarely used other frameworks like Next. 

I had a pain point and a goal, and I just combined them and made good use of my time.

I basically started from scratch on both challenges. I had never managed a product and didn't know anything about it, and I had never worked with these frameworks before.

### What most people would do in this situation;
- Not create a product because they're too inexperienced in the area;
- Create a lot of unusual side projects before;
- Wait for the best moment (which doesn't exist);
- Be afraid to fail;
- Give up halfway;

My thought was the opposite; I knew that in the end, I would acquire a lot of knowledge.

## How I started
As I knew and admitted that I had no knowledge in the area, I needed to find a way to acquire that knowledge. I needed a way to move faster, to move consciously and correctly. And that's where learning in public came in.

### Github
Most of what I learned about the technologies was by looking at other people's code on GitHub. I studied and saw how the code worked, how it ran, and why that code was there. I tried to get content from people I knew were good and believed in their potential to have written good code so I could learn from it. 

Much of the base technologies I learned there; I say "base" because it is difficult to have an open-source system/product that would give me everything about the product I want to build. 

Looking for issues and discussions in the technology project was also crucial. As I was learning, my doubts had most likely already been answered in some issues. Also, I learned a lot by watching people's discussions and problems.

### Community
Having contact with a community of good developers was essential. I sought and followed people who dealt with what I was looking for.

#### Twitter
I posted my doubts on Twitter, and many people helped me. I wasn't afraid to ask stupid questions or something like that because, after all, my doubt could be someone else's in the future. Additionally, I found answers to my doubts in issues on GitHub or in other tweets.

#### Discord
On Discord, I had a more direct interaction with other developers, being more focused on chat. Discord provided a fluid and quick discussion on subjects.

### Finn
After doing all these things, I learned a lot about how to achieve my goals, but I hadn't worked on a real project using these technologies. Then came the [Finn](https://twitter.com/finntechbr), an idea and project by [Danilo Assis](https://www.linkedin.com/in/danilo-assis-005717a7/), tech lead at [Woovi](https://woovi.com/), who proposes mentoring in a real project. Finn helped me on how to work well and following good practices with the technologies I learned... having access to a good, solid and organized code makes all the difference. In addition, I was able to learn the creation of the product and brand and how to deal with the problems that the product is trying to solve.

---

And that's how learn in public helped me extremely in moving quickly into topics I didn't know about.

I'm sure if I hadn't adepted this "lifestyle" I would still be doing projects consuming pokemon's API. Hahaha!

Finally, the Event List is a product in final stage of development, when it is ready I will update the link here! [Landing page](https://event-list-landing.vercel.app/)

---

## Related articles:
[Just do it](https://dev.to/vinibgoulart/just-do-it-3eon)
[Ways to get knowledge](https://dev.to/vinibgoulart/ways-to-get-knowledge-35p6)
[You shouldn't need to watch videos or lessons to learn something](https://dev.to/vinibgoulart/you-dont-need-to-watch-videos-or-lessons-to-learn-something-52j5)
[blazu Thoughts](https://vinibgoulart.github.io/zettelkasten/docs/category/thoughts)

---

Foto de <a href="https://unsplash.com/@manuros?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Manu Ros</a> na <a href="https://unsplash.com/pt-br/fotografias/ObcS2QL33RU?utm_source=unsplash&utm_medium=referral&utm_content=creditCopyText">Unsplash</a>