Como se destacar como programador Jr
Tags: webdev, javascript, beginners, programming
Published: 2024-02-12 20:15:33




Fazer um clone da Netflix seguindo um tutorial no youtube te faz tão programador quanto preparar um miojo torna alguém um chef.

Infelizmente, o mercado de tecnologia tem se tornado mais e mais exigente com os recém-chegados, e muitos chegam aqui por caírem no conto dos vendedores de curso que juram que HTML, CSS e Javascript irão te garantir um emprego remoto ganhando 5k em alguns meses 

![Gif da xuxa falando "Senta lá claudia"](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/va95w5joxbdozqkyyc8i.gif)


Nesse artigo eu irei abordar pontos importantes que não são tão comentados pelos vendedores de curso internet afora e que **definitivamente** irão te tornar mais atraente para os recrutadores, Também vou jogar na roda algumas ideias de projetos pra você sair do zero. Bora lá?

#Resolva problemas reais

Um dos grandes desafios em fazer seus primeiros projetos é a pura e simples falta de criatividade, todos estivemos lá, você acabou de terminar o seu cursinho de **[**_insira o framework da moda aqui_ **]** e quer construir algo, mas o que?
Bom, não há uma resposta simples para isso, olhe ao redor e encontre um problema real para resolver. Que tal criar um site ou app para uma pequena empresa local de graça? Calma, eu sei que trabalhar de graça parece maluquice, mas isso pode te dar experiência real com feedback de clientes e, quem sabe, abrir portas para futuros freelas.

#Teste o seu código
Escrever código que funciona é só a metade do caminho; garantir que ele continue funcionando conforme esperado, sob diversas condições, é onde a arte de testar entra. Testes automatizados (unitários, de integração, e end-to-end) são essenciais para qualquer projeto que se preze. Eles não só ajudam a evitar bugs mas também garantem que mudanças futuras no código não quebrem funcionalidades existentes.

**Projeto sugerido**: Implemente testes automatizados para uma aplicação existente ou para uma nova que você está desenvolvendo. Utilize frameworks como Jest para JavaScript, ou PyTest para Python. Isso não apenas vai te ensinar a importância dos testes mas também como implementá-los de forma eficaz.

#Soft Skills: O Diferencial
Não subestime o poder das soft skills. Comunicação eficaz, trabalho em equipe, resiliência, e a capacidade de aprender com os erros são habilidades altamente valorizadas em qualquer ambiente de desenvolvimento. Projetos em equipe são ótimas oportunidades para desenvolver essas habilidades, busque por comunidades no Reddit ou Discord e encontre pessoas que se interessem.
Se você busca trabalhar remotamente, recomendo fortemente que aprenda sobre [No hello](https://nohello.net/pt-br/) pelo seu bem e pelo bem dos seus colegas de trabalho.

#Algoritmos e estruturas de dados

> one leetcode problem a day keeps unemployment away

Se um dia você pretende trabalhar pra uma empresa gringa, esse aqui é um passo obrigatório. Saber resolver problemas e desafios do leetcode pode te colocar **muito** a frente da concorrência, entender sobre complexidade de tempo e saber como tornar seu código mais permormático é um verdadeiro level up
sugestão de conteúdo gratúito: 
[Algoritmos e estruturas de dados em typescript](https://frontendmasters.com/courses/algorithms/) (Inglês)

[Algoritmos e estruturas de dados em javascript - playlist de 6H](https://www.youtube.com/watch?v=9hFn6Bhe63I&list=PLpfKv2Mn_c-HTFozSx8iplzzBlQJnPs2j)(Português)

#DevOps e Cloud Computing

Esse definitivamente é um dos pontos mais ignorados por quem está entrando na area, você aprendeu a construir um milhão de apps pelo youtube, mas sabe dar deploy neles?

###Docker e Kubernetes
Essas ferramentas são essenciais para lançar suas aplicações de maneira eficiente. 
**Projeto sugerido**: monte uma aplicação com frontend, backend, e banco de dados, cada um rodando em seu próprio container. Orquestre tudo isso com Docker Compose ou Kubernetes.
[Curso de docker](https://www.youtube.com/watch?v=c2y_yz9B6_M&list=PLg7nVxv7fa6dxsV1ftKI8FAm4YD6iZuI4)


###AWS, Azure, ou Google Cloud
Dominar esses serviços é crucial. Se puder tirar uma certificação (AWS é uma boa pedida), melhor ainda. 
**Projeto sugerido**: configure um pipeline de CI/CD para sua aplicação usando AWS. Utilize o AWS CodeBuild para compilar o código, o AWS CodeDeploy para automatizar o deployment, e o AWS CodePipeline para integrar tudo. Esse projeto vai te dar uma boa base em automação e deployment na nuvem, habilidades altamente valorizadas no mercado.
[AWS na prática](https://www.youtube.com/watch?v=j6yImUbs4OA&list=PLOF5f9_x-OYUaqJar6EKRAonJNSHDFZUm)


#Contribua com o Open Source
Contribuir para projetos open-source pode ser uma ótima maneira de aprender e mostrar suas habilidades. Mas só mergulhe nisso se você achar um projeto ou biblioteca que realmente te empolgue, não sinta que é a obrigação de todo programador.

#FAÇA UM PORTFÓLIO!
Por último, mas definitivamente não menos importante: tenha um portfólio. E não, seu GitHub não conta. Um portfólio bem montado, mesmo que simples, pode ser o que vai fazer você se destacar para os recrutadores. Mostre uma gama de projetos e habilidades, e principalmente, coisas únicas que você criou ou contribuiu.

#Conclusão
Entrar no mundo da programação pode parecer uma maratona, e às vezes, você pode se sentir perdido na linha de partida. Mas com foco nos pontos certos você vai estar no caminho certo. Lembre-se, ser desenvolvedor é mais do que seguir tutoriais; é sobre criar soluções. 
Então, bora codar e transformar esse miojo em um prato gourmet!