Guia do programador: Construindo o seu portfólio

Fala galera, beleza? Este é o segundo post do blog (Você pode ler o primeiro clicando aqui), e eu estou muito animado para criar vários posts, por isso decidi começar uma série de posts sobre os principais desafios que um programador iniciante vai enfrentar.

O principal dilema dos iniciantes em qualquer área, quando o assunto é mercado de trabalho é:

"Como trabalhar sem ter experiência, e como ter experiência sem trabalhar?"

Bom, realmente esta é uma dificuldade que todos enfrentaram, ou vão enfrentar algum dia. Porém, nós programadores e alguns outros profissionais da área de tecnologia temos uma grande vantagem, não é necessário ser contratado para adquirir essa experiência, podemos criar clones de projetos conhecidos ou não, e assim ir aplicando conceitos em aplicações reais.

Pode parecer uma dica muito simples, e realmente é, mas o fato é que ela é muito eficaz, mesmo para quem já trabalha. O principal ponto é, se você ainda não trabalha, ter projetos publicados no seu GitHub serve para mostrar aos recrutadores sua capacidade de desenvolver um projeto do começo ao fim.

Inclusive, segue meu Github aí: github.com/maatheusgouveia

O segundo ponto que quero abordar é o seguinte, imagine que você trabalhou durante alguns anos em uma empresa de desenvolvimento de software, nesta situação hipotética a aplicação em questão é um sistema fechado, onde só é possível utilizá-lo através de uma assinatura ou comprando o sistema, obviamente os recrutadores não comprarão o sistema apenas para avaliar suas habilidades como desenvolvedor. O código da aplicação além de não ser sua propriedade, com certeza estará em repositórios privados da empresa o que impossibilitará a avaliação do mesmo.

Por isso, recriar projetos famosos é uma ótima forma de praticar novas tecnologias e de quebra ter um portfólio interessante para apresentar em uma eventual entrevista. Além disso, você não é obrigado a seguir exatamente o projeto do sistema, na minha opinião, o ponto mais interessante disso tudo é pensar em melhorias e então aplicá-las, quem sabe você apresenta em uma entrevista para a própria empresa? Isso com certeza te colocaria à frente de muitos candidatos.

Além de ser um diferencial, muitos aplicativos famosos hoje em dia são ótimos candidatos quando se quer praticar pontos específicos, por exemplo, recriar o WhatsApp seria ótimo para fixar conceitos de websocket e comunicação em tempo real, o Spotify pode ajudar com a criação de componentes e compartilhamento de estado entre eles. Além disso, você também pode dar uma olhada nesse repositório, que lista várias ideias de projetos separados por dificuldade para você desenvolver.

O mercado de tecnologia está aquecido e em contínua ascensão, com certeza não faltam boas ideias, mas infelizmente ainda faltam bons profissionais que realmente dominam uma tecnologia, por isso é necessário fazer de tudo para ser visto, ter presença nas mídias sociais diz muito do profissional que você é, além de ser essencial para de destacar em meio aos que apenas copiam código do Stack Overflow e dos especialistas em "Hello World" em várias linguagens.