O método sem comprovação nenhuma de eficácia que seguirei para conseguir minha próxima vaga
Tags: estudo, notion, planejamento, networking
Published: 2023-12-09 00:54:52

Estou voltando ativamente a procurar uma vaga como dev e, após quase 2 anos nessa área, e passar por uma mentoria que me ajudou a conseguir meu primeiro estágio, decidi sistematizar meus conhecimentos em uma metodologia. Compartilho ela aqui para
1. Ajudar pessoas que também estão tentando entrar no mercado, principalmente quem está começando;
2. Me comprometer a seguir o planejamento e continuar progredindo;
3. Obter feedback e ajustar pontos passíveis de serem melhorados

Essa metodologia parte de 2 pilares fundamentais: evolução técnica e networking.   

## Evolução técnica
- Estudo teórico
- Idealização e execução de projetos

### Estudo teórico
Apesar de ser praticamente senso comum que quem não tem experiência profissional deva criar projetos pessoais, eu percebi, após passar muito tempo fazendo apenas projetos, que eu não estava evoluindo tão bem tecnicamente como gostaria. Sim, eu codava mais rápido e, sim, conseguia desenvolver projetos cada vez mais robustos, mas eu sentia no processo que faltavam conhecimentos e que eu simplesmente negligenciava essas deficiências, desde que determinado problema do projeto fosse solucionado. A refatoração, que eu percebia ser necessária, era sempre deixada para um momento posterior que nunca chegava, porque, terminado um projeto, eu partia para outro, afinal precisava construir portfolio. Por isso, decidi separar uma quantidade considerável de tempo para me aprimorar tecnicamente, não só investindo na minha base de JavaScript, como também dedicando meu estudo para fundamentos da programação como algoritmos e estruturas de dados.
1. **Avançando com JavaScript**
A plataforma Frontend Masters está repleta de workshops sensacionais e será minha principal fonte de estudo de JavaScript. Estarei escrevendo vários artigos aqui sobre o que considerar importante aplicando a exemplos práticos.

2. **Fundamentos de programação**
Por não ter cursado formalmente um curso de computação, sempre me sinto como um intruso na área e que estou sempre um passo atrás das outras pessoas. Por isso, decidi que vou estudar também tópicos considerados mais "acadêmicos", ou pelo menos que não estão diretamente relacionados com a parte prática do desenvolvimento. Os livros serão minha principal referência nesse sentido, e deixarei registrado resumos e aplicações do livro que estou lendo para cada capítulo.

### Idealização e execução de projetos
Seu perfil do LinkedIn está perfeito. Foto profissional, descrição concisa e otimizada para buscas e experiências detalhadas. O próximo passo para o recrutador é olhar o seu GitHub. Lá ele precisa ver que você tem o hábito de codar e você está criando coisas novas. Com um olhar mais de desenvolvedor, ele pode abrir seu código, ler o README e verificar se tudos aqueles repositórios foram criados por você ou é tudo _fork_ de outras pessoas. Eventualmente, caso chegue numa entrevista, você será perguntado sobre o que criou e, para aqueles com pouca ou nenhuma experiência profissional, é essencial poder ter projetos pessoas para mostrar e falar sobre. Um projeto pessoal não precisa ser, à princípio, uma ideia revolucionária que lhe tornará bilionário. Tampouco deve ser um clone de Netflix, landing page ou lista de tarefas (claro, são todos projetos válidos e importantes no início dos estudos, mas não para se destacar com a situação do mercado hoje). Eu diria que um bom projeto pessoal tem um escopo bem definido (você sabe claramente quando parar) e precisa passar por desafios que todo dev precisa dominar como validação de formulários, autenticação, gerenciamento de estados globais, banco de dados, envio de emails, pagamentos, etc.
Nunca atuei com outras pessoas em projetos fora da empresa onde estagiei, mas me parece ser uma experiência bastante enriquecedora e será um dos meus campos de atuação nessa metodologia que proponho. Ao trabalhar com outras pessoas agregamos conhecimento de suas respectivas áreas, entendemos melhor os fluxos de Git, aprendemos na prática como gerenciar um projeto com outros contribuidores e ainda trabalhamos nossas habilidades interpessoais. O projeto [SouJunior](https://www.linkedin.com/company/soujunior-labs/) é uma ótima opção para atuar com outras pessoas, mas nada lhe impede também de chamar pessoas no LinkedIn que estão querendo construir portfolio para colocar em prática alguma ideia.
Outra frente que pretendo atuar é na contribuição de projetos _open source_. Além de projetos mais famosos, como bibliotecas de componentes, sempre há alguém aparecendo no LinkedIn ou em algum servidor do Discord com alguma ideia nova que você pode contribuir. Então, sumarizando:
1. **Projeto pessoal**
2. **Projeto em conjunto**
3. **Contribuições em projetos _open source_**

<hr />

## Networking
- Aprimoramento do perfil do LinkedIn
- Postagem frequente para compartilhar artigos e andamentos de projetos
- Atuação ativa em servidores do Discord (Alura, Orange Juice e SouJunior Labs)
- Conversar com profissionais da área

A verdade é que não adianta ser muito bom em algo se ninguém está vendo. Muitas vezes já me empolguei com alguma ideia de projeto ou já passei meses estudando esperando ficar muito bom para aplicar para as vagas quando na verdade o famoso _Networking_ é a porta de entrada para qualquer coisa. Antigamente, para ter um bom _Networking_ seria necessário ir a eventos de tecnologia, conversar com pessoas e, mesmo assim, você estaria restrito ao profissionais da sua cidade. Hoje, ter um bom perfil no LinkedIn e dominar o funcionamento do algoritmo é suficiente para alcançar milhares de pessoas. Por isso, eu diria que o _Networking_ é a prioridade dessa metodologia que proponho. Não é a toa que as atividades relacionadas ao pilar de evolução técnica sempre estão atreladas ao Networking, como quando escrevo artigos trazendo conhecimentos técnicos ou quando me proponho a contribuir e participar de projetos com outras pessoas.

<hr />

## Organização com o Notion
Um aspecto que sempre tive dificuldade foi manter a organização de qual momento estou nos meus estudos e de onde quero chegar. Por isso, decidi utilizar a ferramenta do Notion de organização de projetos para registrar as atividades que estão em andamento paralelamente e subdividi-la em _tasks_ (tarefas). Vamos organizar um planejamento de exemplo para explicar o uso dessa ferramenta. Inicialmente, planejamos a leitura do livro (fictício) "Design Patterns", dar início ao projeto de um design system pessoal, contribuir para um projeto open source e, com os componentes do design system feito, criar meu portfolio pessoal.

**1. Em uma página do Notion selecione a opção para exibir templates e selecione a opção _Projects and Tasks_**
![Criar template](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qiz5i97zld3me83p6uwk.png)

**2. O template vem com alguns projetos e tasks de exemplo. Observe como elas foram estruturadas e quais informações elas trazem e utilize-as como base para criar seus próprios projetos. Note que o projeto de Design System "bloqueia" o de portfólio, pois o segundo depende do primeiro**
![Tela de projetos](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/spfgdvt4gp2a6mmzzf9b.png)

**3. Vamos utilizar o projeto da leitura do livro como exemplo para ver como editamos as informações de cada projeto e adicionamos _tasks_**
![Informações de um projeto](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/81r0yo2lzsxgmqxdgye8.png)

**4. Algumas das informações que podemos modificar de um projeto é seu status, intervalo de tempo em que será realizado, relação de dependência com projetos existentes, _tasks_ e prioridade**
![Adicionando _tasks_](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/20iuskxkrqet8952mfmy.png)

**5. Ao abrir uma das _tasks_ criadas, por sua vez, podemos configurar outras informações como status e prazo para finalizar**
![Informações de uma _tasks_](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7h9jkon2vcqu51pqqatv.png)


**6. A aba _Timeline_ exibe um calendário com base nas informações fornecidas de cada projeto e suas _tasks_**
![Aba _Timeline_](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xpb50kha0hczmdoddkux.png)


**7. A aba _Board_ exibe as tasks em forma de cards. Importante para ter uma visão do que falta ser feito indepdendente do projeto**
![Aba _Board_](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/zclgriode9vxm5fwvzgs.png)

**8. A página de _tasks_ organiza melhor as _tasks_ por projetos. É mais interessante para organizar melhor as informações do ponto de vista das _tasks_ individuais**
![Página de tasks](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/h2gkhpkgayipzqjua4zh.png)

O Notion assusta à primeira vista (à segunda e terceira também). Sua imensa versatilidade traz como custo uma curva de aprendizagem mais demorada, que pode afastar muitas pessoas. Felizmente, eles têm consciência disso e, além dos inúmeros templates fornecidos pela comunidade, há tutoriais disponíveis, como é o caso do template de [_Projects and Tasks_](https://www.youtube.com/playlist?list=PLzaYMdbJMZW3DeRQ_uxdl4DFHFumE_D9Q). Com a prática, fica muito mais fácil ir pegando as funcionalidades mais básicas e depois ir aprendendo cada vez mais. O planejamento é essencial nessa jornada e as potencialidades do Notion, quando bem exploradas, são ótimas aliadas.