Taking a look at what influenced me as I grow
Tags: career
Published: 2023-06-26 12:00:00

I've wanted to write down what/who has helped me grow as a developer for quite some time. Well... here it is :smile:.

Here is a tweet where I shared talks that I enjoyed a ton, and helped me grow:

{% twitter 1540783019862024194 %}

In this post, I'll share my retrospective about what has influenced me. I'll mention a few videos on that tweet that really molded who I am :smile:

## Communication and Leadership

The person that taught me the most about communication and leadership was [Paulo Neto](https://paulonetocoach.pt/Blog.html). I'd had the privilege of participating in many group or 1-1 sessions with Paulo, with other colleagues from Create IT.

You don't need to be the Tech Lead to be a leader on your team. Give feedback to your colleagues on what they did great, or what they can improve. This doesn't mean "always give specific instructions on how to get from point A to point B". The strategy we use to give feedback depends on the other person, but sometimes it's just better to ask questions, not give solutions. This challenges the other person to come up with a solution and think critically about the problem.

I used to help by giving all the answers to the problems people asked me. By giving my opinion even if nobody asked for it. If I give away the solution right away, let's say to a junior dev, it means I just stole an opportunity for that person to grow.
Now of course, it depends on the scenario (PRD bugs can have some nasty consequences), but I believe stepping aside and asking more questions, to make the other person think for themselves and get to the solution, is way better.

When you give feedback, the focus is on the other person's growth, not your own.

I'm still getting better at being a human, but Paulo helped me a lot in being on the right path.

## Learning to learn

{% youtube ujxvy5NjeRQ %}

This video really taught me what meant **to learn**. Re-learning is a part of the process! This completely changed how I look at certain topics.

One more thing that is crucial, is to **reserve time to learn**! Saying "I don't have time to learn k8s" is the equivalent of saying "Learning k8s is not my priority right now". We have time for everything in this world, it's all a matter of priorities :joy:. I've sacrificed my learning/growing time to deliver user stories on the sprint, for several occasions. If you are saying **yes** to every request someone asks you, it usually ends up with you prioritizing those requests, and not your own time to learn k8s, for example.


## Learning to teach

Sharing knowledge is a key differentiator for a software developer. Have you ever tried teaching something to your colleagues, then get follow-up questions? Are you able to answer all of them :sweat_smile: ?

Teaching helps you discover gaps in your knowledge, and it's something I'm still improving. To feel like an expert in a subject, you need to first explain it to someone that has no knowledge about it. If you try and you fail to get the other person to understand the subject, it means you have work to do. I've used many meetings with colleagues as a means to know if I deeply understand a subject like idempotency, microservices, BFF, CQRS, etc.

Imagine you're onboarding a new teammate and you are the senior dev. Your capability to teach about the codebase, business domain, and other subjects is important. It can be the difference between having a new dev that is productive after one week, instead of one month.

I've talked mostly in this post about my own growth... but that doesn't mean all I need to do is develop my own skills.
IMO, **the hardest challenge in this industry is making other people more productive**! Not just making myself more productive and better at engineering :sweat_smile:. Some people do this amazingly well, but I'm still growing in this regard :smile:

Like [Einstein said](https://www.goodreads.com/quotes/19421-if-you-can-t-explain-it-to-a-six-year-old):
> If you can't explain it to a six year old, you don't understand it yourself.

## People I've followed

In retrospect, I follow just a few key people. As time passed, I focused on other interesting topics, instead of "simple tutorials" (the amount of content I consume didn't exactly decrease). Here is a list of the people I follow the most nowadays:
- [ThePrimeTimeagen](https://www.youtube.com/@ThePrimeTimeagen)
- [Derek Comartin](https://twitter.com/codeopinion)
- [Scott Hanselman](https://www.youtube.com/@shanselman)
- [Dave Farley](https://www.youtube.com/@ContinuousDelivery)

One of the videos I loved the most from Scott was this one:

{% youtube 8HE5LJwAv1k %}

What he shared really resonated with me. I felt powered up inside to keep learning and sharing, perhaps make more blog posts in Portuguese... but I never did that :sweat_smile:.
It has some really good gems of advice inside, I do recommend you watch it.

Also someone I have learned a ton is [Emily Freeman](https://twitter.com/editingemily). I absolutely loved this talk she made at GitHub Universe!
{% youtube Z66-us_VDu8 %}

Recently I shared another list of more front-end people I follow and recommend:
{% devcomment 26ff1 %}

-------

## Conclusion

I'm way more confident now, and all those people I mentioned made and shared content that helped me grow.
I still have ambitious goals, so I'll just have to keep growing!

If you're interested in AsyncAPI and CloudEvents, take a look at my post: 
{% link https://dev.to/bolt04/getting-started-with-cloudevents-and-asyncapi-8db %}