Lições que aprendi com um Dev experiente.
Published: 2022-08-19 20:25:00


Recentemente fiz uma Call de mais ou menos 40 minutos com o [Sibelius Seraphini](https://twitter.com/sseraphini)(CTO da Woovi/OpenPix), referente a uma mentoria que eu tinha pedido e nessa conversa foram esclarecidos varios pontos que me ajudaram a entender meu momento atual e o que é necessario para que eu possa avançar e acho que pode ajudar outras pessoas também.
Durante a conversa foram apresentados varios gists e referências legais que vou linkar nos tópicos.

Para começar minhas principais duvidas eram sobre como estudar, aprender mais rápido, ser contratado e depois foram surgindo outras.

#### Como faço para fixar os conhecimentos? como sei ceritificar que eu sei de algo?

Foi me apresentado um gist muito interessantes com diversas dicas para se melhorar como desenvolvedor ([Advice for developers](https://gist.github.com/sibelius/a347a5a49d3731eab27bdc99b7af478e))
Eu tenho que praticar, seja com projetos Open-Source ou com exercícios na linguagem que estou aprendendo, você só aprende com pratica, só a teoria não serve de nada.
Você sabe como as coisas que você esta aprendendo funciona? não sabe? então por que não constrói isso que você não sabe como funciona? ([Build your own X](https://github.com/codecrafters-io/build-your-own-x))

Pergunte mais, você tem que usar a comunidade a seu favor, perguntar sempre no twitter ou outras comunidades pois outras pessoas ja tiveram o mesmo problema que eu, assim como outras podem ter problemas que ja tive, Também é importante saber pesquisar da maneira correta e fazer perguntas de maneira correta, em inglês de preferência.

Escrever artigos, você só escreve sobre o que você sabe, se você diz que sabe de algo e não consegue escrever sobre essa coisa ou criar ela do zero, você não sabe.

As vezes você tem que dar um passo para trás, para que aquilo que esta na sua frente fique mais fácil.
por que estou com dificuldades em aprender relay? não sei o suficiente de GraphQL? não sei o suficiente de Javascript? então vou dar um passo pra trás e estudar mais o que esta faltando. 

#### Contribuir no open-source: 
 Aqui eu disse que sempre quis contribuir no open-source mas nunca vi oportunidade (kkkkkkk)
Sibelius disse a realidade, eu não contribuo porque não quero, se eu quisesse estava contribuindo, tem milhares de issues para serem resolvidas, mas é mais facil falar pra sí mesmo que não sabe e ficar sentado de boa, Pra saber resolver uma issue eu tenho que ir la e resolver ela.

#### Fullstack:

 Perguntei se era o ideal era ser fullstack e se eu poderia ser bom ou até o melhor nos dois.
a resposta foi que, ser fullstack não era sobre tecnologia e sim sobre resolver o problema dos clientes, então ele me perguntou sobre os problemas que as pessoas ao meu redor tinham e como eu poderia resolver eles, e em toda resposta ele me fazia outra pergunta tentando fazer com que eu chegasse na raiz do problema.
e chegamos na solução que eu não estou acostumado a pensar realmente no problema a ser resolvido e sim nas soluções, é o [XY Problem](https://xyproblem.info/).

#### O que estudar:
 Podemos tratar programação como a escola onde a gente aprendia de tudo um pouco(matérias), eu tenho que saber um pouco de tudo no começo, justamente pra descobrir o que eu gosto mais.
eu tenho que me perguntar o que eu vou precisar e não sei e estudar isso. (exemplo: auth, basico e usado em toda aplicação)

#### Busca do primeiro emprego
 Disse ao Sibelius que não conseguia a primeira vaga, e nem recebia feedaback e ele disse que eu não estar recebendo feedbacks já era um feedback, oque eu tenho pra mostrar não é suficiente nem pra me por no processo.
Como eu aplico pras vagas? vejo a vaga e aplico(mando curriculum, github, etc...) 

Sibelius disse que essa era a pior maneira de se aplicar para uma vaga, pois todas as pessoas que estão aplicando ali são iguais, não tem nenhuma diferente, inclusive eu não sou diferenciado dos outros , se eu mandar curriculum vou ser só mais um numa pilha de 1000, não estou nem participando do processo, porque, geralmente quem contrata desse jeito usa o método errado pra contratar (liga pra certificados, etc) e não no que realmente importa, se eu sei fazer oq eles querem que eu faça.

O melhor jeito de aplicar é resolver algum problema que a empresa tem. a empresa contrata devs para resolver problemas, se você resolve algum problema usando o Plugin da empresa e manda pra ela por exemplo.
Estudar a stack da empresa, quanto mais você souber das tecnologias da empresa mais isso te coloca na frente de pessoas que não sabem.

Você não precisa ser bom em tudo que esta nos requisitos da empresa, mas precisa ter um conhecimento básico de tudo aquilo, a empresa quem dos candidatos esta disposto a aprender aquilo([Procurando seu primeiro emprego](https://gist.github.com/sibelius/d8cf0d8b4a68bc36952a37006bb84109)).

Escrever artigos sobre o que você esta aprendendo, se eu procuro sobre uma tecnologia e vejo um artigo seu sobre ela, eu vou contratar você ou uma pessoa que não mostrou nada daquilo?



#### Como aprender mais rapido?

 Ele me falou a teoria de grafos, onde os grafos são formados por vértices e arestas, cada aresta que se conecta num vértice é um conhecimento novo, quanto mais conhecimento você tem mais fácil é de adquirir mais conhecimento relacionado ao que aprendeu. qual a maneira mais fácil de resolver um problema? já tendo resolvido ele antes. 

#### Trabalhar em Big Techs ou Startups?

Para quem esta começando o melhor sem duvidas é Startup, você vai codar muito e ter mais problemas pra resolver logo conseguirá evoluir como desenvolvedor muito mais rápido.
Numa Big Tech você vai ser praticamente um Read-Only.

Pra finalizar ele me disse os próximos passos que eram, ler os gists que ele me mandou sobre os temas que foram abordados, ler sobre os conceitos que foram conversados, escrever artigos e contribuir pro Open-Source e praticar muito.

Além disso tiveram outros pequenos tópicos e foram recomendadas leituras muito interessantes que vou deixar são:

[O melhor jeito de fazer decisões inteligentes](https://fs.blog/mental-models/)
[Faça isso grudar: A ciência do aprendizado bem-sucedido](https://www.amazon.com.br/Make-Stick-Science-Successful-Learning/dp/0674729013)
[Princípios: Vida e trabalho](https://www.amazon.com.br/Principles-Life-Work-Ray-Dalio/dp/1501124021/ref=sr_1_2?crid=2CF244112LV02&keywords=principles+ray+dalio&qid=1660855477&s=books&sprefix=principle%2Cstripbooks%2C195&sr=1-2&ufe=app_do%3Aamzn1.fos.6d798eae-cadf-45de-946a-f477d47705b9)

#### Quer fazer uma mentoria com o Sibelius?

Siga os passos desses gist:
[Async Mentorship](https://gist.github.com/sibelius/a2b333fa006bdd932e5a3c0c0de914b4)