O quão importante a comunidade pode ser
Published: 2023-08-19 18:26:30


Ultimamente eu estava com um certo desanimo, muitas demandas do trabalho, pouco tempo para estudar os tópicos aos quais eu tenho interesse e para quem está lendo, provavelmente já passou por essa sensação de cansaço e baixa vontade de estudar, eu tinha feito investimentos em ótimos treinamentos e mesmo sabendo que teria um ganho após finalizar, ainda sim não estava conseguindo finaliza-los. 

E então rolando a minha timeline do twitter, eu vi que a comunidade da He4rt criou uma comunidade no WhatsApp, mesmo eles tendo uma comunidade no discord, para mim, o discord não é algo do qual eu uso constantemente entao se cria um distanciamento da comunidade, mas como o Whats é algo bem mais usual e que participa do dia a dia, se tornou mais fácil e muito melhor o contato com as pessoas. 


Agora falando um pouco sobre mim, eu trabalho com desenvolvimento BackEnd, mas eu tenho um foco na área de DevOps, então essa semana eu decidi estudar Linux, Docker, entre outros tópicos também e montar meu ambiente utilizando o WSL2 como base. 

Vamos lá, após eu decidir que iria me comprometer com os [100 dias de código](https://www.100diasdecodigo.dev/#como-participar), eu fui começar do zero e nada melhor do que ir montar o meu ambiente de desenvolvimento e para isso eu utilizei algumas ferramentas inicias

* WSL2
* Git
* Docker *lembrando que para utilizar o docker no WSL2, voce vai precisar instalar o Docker Desktop no Windows*
* TerraForm
* Minikube
* Node e TypeScript
* SDKMAN *é uma forma mais fácil de trabalhar com o ambinete java ao invés de instalar na mão*

E após tudo isso instalado e configurado, quais foram os meus passos? 

Configurei o git e github, para a subida de projetos que irei realizar no decorrer dos 100 dias de desafio. 

No **Dia 1** eu fui para a parte mais teoria, pois como meu foco é a área de DevOps, eu quis melhorar meu conhecimento em Linux. 

Vou deixar o link dos materiais que utilizei para ir melhorando em relação ao linux:

1. Eu utilizei o [material da RedHat](https://access.redhat.com/documentation/pt-br/red_hat_enterprise_linux/6/html/performance_tuning_guide/ch-intro) mas aqui tem uns tópicos mais avançados. 

2. Para quem quer o material mais iniciante temos o guia mais importante para quem quer estudar linux que é o [guiafoca](https://www.guiafoca.org/).

Nos **Dias 2 e 3** foi dia de assistir mais conteúdo e realizar algumas anotações e vamos lá, quais foram os tópicos no qual eu parei para ver nesses dias 

1. [git flow is a bad ideia](https://www.youtube.com/watch?v=_w6TwnLCFwA&t=20s)
2. [monolito VS microserviços](https://www.youtube.com/watch?v=kmUW7YCKYmM)
3. [monolito first](https://martinfowler.com/bliki/MonolithFirst.html)
4. [microserviços](https://martinfowler.com/articles/microservices.html)

Vou deixar como recomendação para quem quer se aprofundar mais na parte sobre arquitetura no site do [Martin Fowler](https://martinfowler.com/architecture/).


* Mas vamos lá. porque eu decidi focar nesses tópicos de primeiro momento, em relação ao git flow, foi porque eu já trabalhei com esse modelo quando eu tava atuando como GitOps. foi uma experiência ótima trabalhar como GitOps, dificil mesmo foi trabalhar com o Git Flow, como era o primeiro contato de muitos times, foi bem complexo para eles e eu tinha que fazer alguns treinamentos, tirar dúvidas, e mesmo no médio prazo, não se tornou algo prazero de ser trabalhado, e nesse vídeo do **git flow is a bad ideia**, vai ser explicado vários pontos, e pode ser que para a sua realidade o git flow funcione, mas a experiência que eu tive ao utilizar, não foi nem um pouco prazerosa.

* Monolito Vs Microsserviços, antes de tudo não existe uma motivo para saber quem é melhor ou pior, mas o que devemos entender é qual é o cenário a ser utilizado, razões para escolhermos um ao invés do outro, como mantermos a partir do momento em que decidimos escolher A ou B, entender os custos, as práticas com o(s) time(s). E foi muito interessante ver o Pedro e Mario conversando, trazendo pontos organizacionais, pontos técnicos, pontos teóricos. E isso vai se conectar ao material do Martin Fowler, aonde ele tem posts falando sobre ambas as arquiteturas e outras arquiteturas também. 


E nos **Dias 4 e 5** ai foi revisão do conteúdo da LinuxTips, eu to fazendo o treinamento do [PICK](https://www.linuxtips.io/escolher-plano), então como eu tava voltando a ter animo para estudar, eu decidir rever os Day 1 e Day 2 do treinamento, aonde é ensinado sobre os fundamentos por trás do Docker, como montar um container sem o Docker e depois entramos mais a fundo no Docker. Com isso, eu fui pesquisar sobre o LXC, Namespaces, e dentre tantas outras coisas. 

Os **Dias 6 e 7** serão para por a mão na massa, e uma das coisas que eu quero realizar, é sintetizar meu conhecimento em posts a cada 1 semana, até finalizar os 100 dias de código.



E para vocês que assim como eu, já passaram por esses momentos de desânimo, de nã0 conseguirem ver para onde estão indo ou que sofrem com síndrome do impostor, se desafiem, busquem fazer o desafio dos 100 dias de código e lembre-se que você não precisa codar esses dias, ouça podcast, leia, pratique e anotem, anotem tudo tudo aquilo que você aprendeu de novo, aquilo que você tem dificuldade de fixar, participe de comunidades, converse com as pessoas, elas podem te ajudar, assim como eu fui bastante ajudado ao decorrer da minha carreira, seja no twitter ou no discord. Enfim, interajam e o mais importante, fiquem bem.