Entraste agora do mercado de trabalho e ainda “andas às aranhas” sobre o que realmente queres fazer dentro do mundo da programação? Bem, então não és o único/a! Também o nosso consultor Francisco Vaz, que trabalha connosco como Frontend (FE) Developer, foi descobrindo o seu caminho, nem sempre linear, até chegar ao lugar onde se encontra hoje e que serve de inspiração para todos os profissionais. Estivemos à conversa com ele sobre a programação, as tecnologias mais importantes para um FE Developer, as maiores dificuldades neste mundo e ainda conseguimos algumas dicas sobre o que acompanhar nas redes sociais para crescer no meio!
Porque escolheste estudar Engenharia Informática?
Na altura quando escolhi engenharia informática eu não sabia bem o que era efetivamente engenharia informática. Tínhamos aquela ideia de tecnologia mas não sabia bem que tinha tanta programação, até porque antes de ir para a universidade nunca tinha feito uma linha de código. Quando lá cheguei foi assim um mundo completamente diferente, mas que eu fui aprendendo a gostar.
O que te fez ter interesse pelo Frontend?
O gosto pelo Frontend, costumo dizer que veio logo quase do primeiro ano, porque eu via como construir sites e via as coisas logo ali a acontecerem. Logo no início do curso tive uma cadeira em que demos HTML/CSS e fizemos um site pequenino e muito básico que começou logo a despertar aquele interesse. Depois, como faço parte de uma associação na minha terra, decidi logo fazer um site para nós, embora tenha usado o Wordpress em que quase não programamos, mas comecei a ganhar um gosto, apesar de não saber na altura que aquilo era Frontend. Na altura não sabia que havia um Backend que lhe ia dar as informações todas e tudo mais, mas sempre fui pela parte do Frontend e depois quando entrei no mundo do trabalho é que comecei a ver que existia ali uma diferença entre Backend, Mobile e Frontend. Como sempre gostei de ver as coisas a acontecerem e tu poderes fazer um site e até mesmo dar a tua identidade, acho que o meu gosto veio daí.
Então e o que é um Frontend (FE) Developer?
Basicamente um FE cria uma interação e a experiência do utilizador num determinado website. Quando vamos ao Facebook, por exemplo, e carregamos em botões que lá aparecem, são aqueles que o Frontend disponibiliza às pessoas. É aquilo com que interagimos. O FE dispõe as informações de uma determinada forma e o Backend é que envia aquela informação.
Sentiste dificuldades para entrar no mercado de trabalho?
Quando eu saí da faculdade já tinha uma proposta que surgiu de contactos que tinha feito, ou seja, não tive dificuldades. Mas tenho a perfeita noção de que se fosse hoje se calhar tinha escolhido outro caminho e procurava outra forma de chegar às coisas, não ia logo para a primeira coisa que me surgiu. Hoje em dia também vejo que há muitas empresas que pedem perfis juniores mas com muita experiência, com tudo e mais alguma coisa e quem sai sem ter conhecimento acho que se sente um bocado confuso e muitas vezes nem se candidata para algumas vagas porque pensa que tem de ter aquilo tudo e não é bem assim. Eu acho que o mais importante nisto tudo é nós irmos fazendo e, mesmo ainda estando na universidade, irmos procurando estágios. Lá fora eu sei que existe muito e no Brasil eu tenho visto em comunidades que eu sigo, mas cá não temos muito essa cultura de mesmo quando ainda estamos a estudar, já estarmos a estagiar. Assim, é mais simples entrarmos numa empresa através de um estágio curricular que nos dá logo outros caminhos.
Sentes que as empresas são mais exigentes com os recém licenciados agora?
Isso eu não sei dizer ao certo, mas as empresas quando contratam pessoas que estão a sair da universidade e que já têm os seus próprios projetos, ou seja, quando podemos ir ao Github da pessoa e vemos que ela tem muitos projetos e vai aprendendo fora da universidade, é sempre uma mais valia. Assim a pessoa fica ligada àquilo que se passa fora da universidade. Se participa em associações, se estão ligados a voluntariado etc, acho que as empresas hoje em dia também ligam muito a isso, principalmente nesta fase inicial, pois estão todos no mesmo patamar quando saem da universidade. Quem tem estas atividades acaba por desenvolver as suas soft skills, por exemplo o trabalho em equipa.
Ser frontend developer
Quais as tecnologias mais usadas nos projetos e valorizadas no mercado?
A nível do Frontend e pelo que eu tenho visto do mercado, quando eu saí da universidade o Angular sem dúvida que era o mais popular. Agora existem três, o Angular, o React e o Vue.js . Isto são as frameworks que basicamente é o que as empresas procuram, mas o que está por trás e que as empresas também pedem é o HTML, o CSS e Javascript. Um Frontend que queira seguir esta área tem de seguir estas três componentes.
Eu na altura dei um salto, passei o Javascript por cima e fui logo para o Angular. Ainda não tinha muita noção do Javascript e isso foi um erro que eu cometi e que depois me apercebi.
Então e sendo estas as frameworks mais usadas, quais achas que são as suas vantagens e desvantagens?
Estas tecnologias têm empresas por trás e é isso que as faz também crescer muito. No caso do Angular, foi a Google que deu origem ao Angular e só isso dá logo um boost enorme. Isto também é orientado a componentes, ou seja, o poder de reaproveitarmos código para reutilizar em projetos tão grandes em que repetimos coisas. Com esta [framework] podemos reaproveitar sem grande dificuldade. Por fim, a comunidade que existe, também por ser da Google, e que foi crescendo. Nós hoje em dia podemos procurar Angular no Youtube ou no Google e existem montes de coisas. Antigamente existiam comunidades, mas não havia tanta informação disponível e isso hoje em dia é uma vantagem que nós temos.
Como desvantagens para o Angular, comparando com a primeira versão que muita gente utilizou e quando saiu o Angular 2 até agora (penso que saiu o Angular 11 esta semana), é a dificuldade em migrar aquela primeira versão para as restantes. Hoje em dia isso é um problema que quem usa já não tem de lidar com isso. Depois há a aprendizagem. Aprender Angular requer uma curva de aprendizagem muito maior e isto também se aplica ao React, não são assim tão simples de aprender.
Passando para o React nas suas vantagens, este não tem a Google por trás, mas tem o Facebook que também é outra grande tecnológica. Hoje em dia, se formos ver ao Stack Overflow, nas tendências o React já passou o Angular e o Vue.js, porque foi crescendo e a comunidade que se foi gerando é enorme. Outra das vantagens é o facto de ser opensource, ou seja, toda a comunidade contribui para evoluir aquela tecnologia e isso é muito bom. Já a principal desvantagem é mesmo a curva de aprendizagem e a evolução. Como está sempre a evoluir, uma pessoa que quer aprender aquilo tem de estar sempre a acompanhar as novas releases que vão saindo e, como às vezes são um bocado grandes, mudam a forma de pensar da linguagem.
O que é que te levava a escolher uma framework em detrimento da outra?
Isso foi uma dúvida que eu tive ao sair da universidade, mas na altura optei pelo Angular. Quando eu saí o Angular estava por cima, apesar de estarem ali quase no mesmo patamar, mas se eu saísse agora na Universidade, eu ia ver as estatísticas do Stack Overflow e via que o React está a crescer muito mais. Se formos a ver na Internet, vemos que o React está a ser muito mais usado do que o Angular. No entanto, umas das coisas que também temos de ver é que, e focando em quem sai da Universidade (eu saí de Coimbra e sabia que ia trabalhar em Aveiro), se fosse hoje eu via as empresas de cá de Aveiro e ia ver o que é que elas querem a nível de Frontend. Se querem Angular (porque isso depois varia de empresa para empresa) ou se querem React e consoante isso eu iria adaptar-me. Eu também não tinha essa noção no início, mas se nós soubermos bem uma framework aprendemos outra muito mais facilmente porque a framework muda, mas o que está por trás é Javascript, os conceitos são semelhantes. O melhor conselho que se pode dar é,se tivermos noção da empresa para a qual se quer ir trabalhar, ver o que é que lá está, se é Angular, se é React ou até as duas. Se for as duas, o ideal é ver qual é a que está mais evoluída neste momento e depois pode-se fazer pequenas aplicações para ver o modo como elas funcionam.
Quais acreditas serem as frameworks de futuro que ainda não têm um grau de maturidade que possibilite a sua utilização em ambientes reais?
Hoje em dia está tudo a rodar à volta do mesmo. Podemos ver que o Vue.js pode aparecer aqui mais porque ainda não está tão madura quanto as outras duas. Pelo que tenho visto ela tem uma curva de aprendizagem muito mais simples, mas se calhar por não ter uma grande empresa tecnológica por trás as pessoas não a usam tanto.
Quais as ferramentas mais importantes na vida de um FE developer?
Uma das coisas mais importantes é um code editor, eu estou a trabalhar com o IntelliJ IDEA, mas isso é num ambiente mais profissional. O que eu uso em casa e que muitas empresas usam é o Visual Studio Code que é onde nós fazemos a programação e acho que é muito importante. Depois temos os controlos de versões que neste caso é o Git, e com isto leva-nos ao Github que é um sítio onde nós podemos pôr os projetos que nós fazemos. Eu na altura da faculdade lembro-me que no final do estágio guardava o meu projeto todo no Google Drive e todos os dias eu fazia um backup à hora de almoço e à noite e isso não fazia sentido nenhum, mas eu não tinha conhecimento. Nós ouvíamos falar no GitHub, mas como ninguém explicou... eu fazia assim. Nesta ferramenta temos lá os nossos projetos, eu baixo para a minha máquina e está sempre actualizado e nunca tenho problemas.
Depois aponto também as frameworks, acho que hoje em dia temos de saber as frameworks.
Para um Frontend Developer o Chrome Dev Tools que é a ferramenta que permite inspecionar as páginas web onde se navega, é daquelas ferramentas que nenhum FE Developer abdica.
Por fim, outra que eu uso muito e acredito que muitos programadores também usem é o Notion. É como um bloco de notas, mas os templates e aquilo que ele permite fazer se calhar é muito mais vantajoso que um Evernote ou outros deste género que eram mais conhecidos. Eu hoje uso para os meus projetos pessoais, pois podes criar vários cadernos e acaba por ser uma ferramenta que até uso para motivar. Uso também aquelas ferramentas clássicas, o Slack e o Discord que é uma plataforma que nos permite falar com outros programadores, algo que considero muito importante também.
Já falaste um pouco sobre o que um recém licenciado deve fazer para evoluir na área, mas o que sentes que tens de fazer na fase em que te encontras para continuares a crescer?
O mais importante é não parar. Comecei a ter noção disto já quando estava a trabalhar e mesmo nas tecnologias conseguimos ver isto. Inicialmente o Angular era mais forte, mas dentro de um ano o React tornou-se muito mais. Nós temos de estar sempre a aprender, sempre a estudar. Eu acredito que neste momento estudo muito mais horas do que o que estudava na universidade e tenho tempo para fazer tudo. Aqui acho que também a organização do tempo é um fator muito importante para nos mantermos atualizados e conseguirmos fazer tudo, porque o mais importante é nós irmos acompanhando as tecnologias e irmos fazendo pequenas aplicações.
Ter objetivos também é importante, podemos não conseguir fazer logo um Facebook, mas é bom irmos fazendo pequenas aplicações para não desmotivar. Penso que também não devemos só assistir a tutoriais, o mais importante é estabelecermos que queremos fazer uma pequena aplicação e vermos o que precisamos de fazer. Por exemplo: quero fazer uma página de login. Do que é que eu preciso? Vou ver à Internet. Ou seja, não podemos mesmo parar de estudar nem de pôr em prática. Tem de existir gosto!
O que é mais valorizado na área?
Eu acho que a experiência profissional é muito valorizada. Quando sais da universidade não é, mas aí valorizam-se os projetos pessoais. Eu sinto que em Portugal isso ainda não acontece muito. Se formos ver as propostas lá de fora, as empresas procuram pessoas que tenham projetos no GitHub. Estes projetos são pessoais, ou seja, mostram que a pessoa, para além do seu trabalho, dedicou tempo a aprender coisas novas, a aprofundar outros conhecimentos. Lá fora vemos que as empresas querem isso e cá não. Depois de saíres da universidade, ao longo da tua vida tem que existir muita proatividade, tem de existir muitos projetos.
As soft skills hoje em dia também são muito procuradas, principalmente quando sais da universidade as empresas ligam muito a isso, à comunicação, ao facto de saberes ou não trabalhar em equipa, se és proactivo, se não estás à espera que as coisas caiam do céu… Eu acho que é o mais importante.
E falando em soft skills, quais achas que são as soft skills mais importantes para um FE developer?
Eu acho que o principal é a comunicação e o trabalho em equipa, porque se tu vais para uma equipa e não consegues socializar nem trabalhar em equipa tu podes até ser muito bom tecnicamente mas depois cria mau ambiente. Como costumo dizer, as tecnologias tu aprendes num mês ou dois, agora estas soft skills são coisas que levam tempo.
Sendo jovem, como te manténs atualizado?
Eu uso muito o Instagram para isso. Hoje em dia eu sigo muitas pessoas e muitas hashtags que me levam a páginas de programação, mas também passo muito tempo a ver vídeos sobre programação no Youtube. Eu acho que nós devemos tirar proveito dessas tecnologias e não só utilizá-las para diversão. Para além de tutoriais existem outros programadores que agora até são denominados de Self-Taught, aqueles que são autodidatas, que não estavam na programação ou que saíram de uma área distinta e foram estudar programação. Com essas pessoas tu consegues ver a evolução delas porque elas documentam a sua jornada e consegues motivar-te a ser melhor.
Passo também muito tempo a ver vídeos no Twitter, para seguir aquelas pessoas, por exemplo do React, os fundadores do React e quem trabalha na equipa, essas pessoas vão sempre lançando aquilo em que estão a trabalhar e as próximas releases que vão sair. Acho que isso também é importante para nos mantermos a par.
Hoje em dia também surgem muito aqueles vídeos de “um dia como software developer numa determinada empresa” e apesar de muitas vezes o que lá se passa não ser bem a realidade, o facto é que nós vemos um vídeo desses e sentimo-nos motivados.
Tens sugestões de comunidades, fóruns ou podcasts (EN, PT e BR) para quem gosta de se manter atualizado nas últimas novidades da área?
Há uma que para mim é das mais importantes e que se foca bastante no React, que é a RocketSeat que sendo brasileira, facilita para muitas pessoas para as quais o inglês é um entrave. Esta [comunidade] tem podcasts, tem canal no Youtube, tem blogue… eu vi muito conteúdo gratuito, mas depois comprei um bootcamp porque sabia que valia a pena. Hoje em dia se tiver uma dúvida num projeto pessoal eu vou aos canais que eles têm e começamos a dialogar e sendo em português é muito mais simples.
Depois no Instagram temos o @fidalgodev que é português e que está numa empresa em Londres, mas que vai documentando a jornada e dizendo aquilo que está a fazer. Acho que para motivar isso é muito bom até para quem está a começar. No Twitter aconselho a seguirem as pessoas que são fundadoras como o @dan_abramov. No Youtube temos o Filipe Deschamps que é brasileiro e explica de forma simples e motivadora. A nível de podcasts temos Developer Tea e o Modern Web que são alguns que eu gosto de dar uma espreitadela.
Descobre mais sobre tecnologia e carreira no nosso podcast: