Se você é estudante ou pretende iniciar um curso na área de desenvolvimento de sistemas você deve ter dúvidas sobre como ingressar no mercado de trabalho.
No post anterior, eu separei 5 razões para você se tornar um desenvolvedor. Mesmo nesse momento de crise que estamos passando, há diversas vagas sendo abertas todos os dias. Há uma demanda cada vez maior por desenvolvedores, mas as vagas disponíveis exigem experiência mínima na aplicação tecnologias, mesmo se você estiver buscando uma vaga para estágio.
"Mas como se tornar um desenvolvedor? Cursar apenas uma faculdade é suficiente?"
Essa é uma dúvida muito comum, e eu gostaria de compartilhar minha experiência com você. Tenho certeza que isso vai te ajudar a se destacar e ingressar nesse mercado que não para de crescer. Se eu conhecesse essas dicas, no início da minha carreira, com certeza isso me ajudaria a economizar tempo e esforço, tomando decisões melhores desde o início.
A primeira coisa que você precisa ter em mente é que a faculdade vai fornecer alguns fundamentos, como lógica de programação, escrita de algoritmos e estruturas de dados, mas não vai retratar o dia a dia do desenvolvimento de software. Um dos motivos para que isso aconteça é que a formação universitária é a mesma para diferentes áreas que vão além do desenvolvimento propriamente dito. Afinal, uma empresa possui diversos tipos de profissionais: pessoas que cuidam da rede, prestam suporte aos usuários ou garantem a qualidade do que foi desenvolvido.
Se você quer se tornar um desenvolvedor, precisa aprender mais sobre programação. Vale lembrar que as tecnologias de um projeto podem variar de acordo com o propósito para ao qual foi criado. Antes de mais nada, podemos segmentar todo projeto Web, ou de construção de um aplicativo, em duas linhas de desenvolvimento.
Front-end
Toda aplicação possui uma interface para que o usuário possa utilizá-la. Pode ser desde um simples botão, ou até mesmo algo mais complexo, como um mapa, por exemplo. Tudo compõe a interface. Usando uma analogia podemos dizer que essa é a parte frontal de nossa aplicação, o chamado front-end.
Por mais bem construído que seja, ele não funcionará sozinho. Sempre haverá regras para exibição de informações, ou até mesmo você precisará obter informações salvas em algum servidor. Esse processo acontecerá nos bastidores de nossa interface, ficando oculto ao usuário.
Back-end
O processo que acontece por trás da interface, seguindo a analogia, podemos chamar de back-end. Ele é responsável por armazenar, e disponibilizar dados para consulta, geralmente em forma de API. Nos dias atuais é cada vez mais comum que as aplicações funcionem em vários dispositivo, ao mesmo tempo, que estão acessíveis via internet. Desta forma, é preciso que toda fonte de dados, e inteligência, da aplicação fique armazenada em um servidor remoto.
Após essa explicação resumida, fica evidente que o back-end e o front-end são complementares trabalhando em harmonia para tornar nosso aplicativo funcional. De um app de mensagens, ao aplicativo do seu banco, todos possuem ambas estruturas.
"Nossa, mas parece tanta coisa! Qual tecnologia devo começar a aprender?"
Existem desafios diferentes para cada parte, exigindo habilidades diferentes. Mas não é tão complexo quanto parece!
Minha recomendação é que você pelo que mais gosta. Assim você ficará mais motivado em aprender.
Quanto as tecnologias necessárias, caso você opte por começar pelo front-end é importante que você domine tecnologias como HTML, CSS e JavaScript. Um framework reativo, como Vue.js também pode tornar o resultado ainda melhor.
Se sua escolha for pelo back-end é importante que você domine como armazenar informações em um banco de dados e aprenda uma tecnologia para construção de suas APIs. Eu recomendo que você utilize Ruby on Rails, pois além de ótimas oportunidades no mercado, você poderá notar sua evolução em pouco tempo.
Mas se você quiser ver um pouco sobre "o melhor dos dois mundos", também é possível. Esse tipo de profissional, muito procurado no mercado de trabalho, é conhecido como Desenvolvedor(a) FullStack. Se estiver disposto a investir um pouco mais de tempo e esforço, isso pode te trazer infinitas possibilidades, desde um maior conhecimento de como back-end e front-end se comunicam, até mesmo criar projetos inteiros do absoluto zero.
"Mas como eu posso começar?" A melhor forma de aprender é praticando.
Comece criando projetos simples, mas que podem te ensinar algo sobre o funcionamento da linguagem em que pretende desenvolver. Como por exemplo, uma calculadora ou um conversor de unidades de medida. Neste exemplo simples você aprenderá a usar as operações matemáticas dentro da tecnologia que você escolheu, e aí as possibilidades são infinitas!
Depois de superado este desafio, tente automatizar alguma coisa do seu dia a dia: uma planilha de controle de gastos, um pequeno sistema para anotações, ou algo do gênero.
E o mais importante: desde o início, armazene seu código-fonte no GitHub. Isso vai permitir com que você comece a criar um material para consulta, e que pode te ajudar em projetos futuros. Além claro, de todas as vantagens que o versionamento Git pode trazer. Falaremos mais sobre isso em outro artigo.
Se você ainda não tem uma conta no GitHub, crie uma hoje mesmo!
E não se esqueça: seja visto! Crie uma conta no LinkedIn, caso ainda não tenha, e compartilhe seu progresso com seu círculo de amigos. Afinal, um marketing pessoal não faz mal a ninguém!
Espero que você tenha gostado desse conteúdo. Caso tenha alguma dúvida sobre como começar, ou queira saber mais como se destacar no mercado, deixe um comentário aqui em baixo.
Até a próxima!