Careers Xpand IT Careers Xpand IT
Contact Us
marketing.talent@careers.xpand-it.com
Careers Xpand ITCareers Xpand IT
  • Procurar Oportunidades
    • Oportunidades de Emprego
    • Estudantes & Universidades
  • Life at Xpand IT
    • Trabalhar na Xpand IT
    • Os nossos Valores
  • Recursos
    • Blog
    • Webinares e Conteúdos
    • ITalks lives @Instagram
  • Quem Somos
    • Equipas Tecnológicas
    • Equipas Corporativas
    • O que fazemos
    • Imprensa
  • Contactos
  • Português
  • Inglês
Info
Junta-te a nósJunta-te a nósJunta-te a nós
Search website
Search
Close

Sete conselhos que um junior developer deve saber

  1. Home
  2. Blog Xtech Community
Sete conselhos que um junior developer deve saber
16-09-2019
Tempo de leitura: 7 minutos

Sete conselhos que um junior developer deve saber

Por Luís Simões, Senior Developer @Xpand IT

À medida que crescemos, cada um de nós tem de decidir o que quer fazer da sua vida. “Que área profissional queremos seguir?” Se estás a ler este artigo, então provavelmente devemos ter escolhido caminhos semelhantes e este conteúdo é para ti que és um junior developer.

Ser um software developer dá-nos a sensação de que muitas vezes podemos mudar as pessoas ou as organizações com as nossas ideias, do dia para a noite, e isso é fantástico! No entanto, quando iniciamos esta journey, ficamos extasiados com a grandeza da área tecnológica.

Paul Robinson, principal engineer na CircleCI, tem uma perspetiva interessante sobre o código, tendo partilhado num blog post:  

Just another day writing tomorrow’s legacy code. Coding for a living is learning for a living
Paul Robinson

Esta citação ilustra bem como as coisas podem mudar rapidamente no mundo tecnológico e como devemos estar realmente preparados para os múltiplos desafios que todos os dias surgem ao nível da melhoria constante da tecnologia, metodologias e necessidades das sociedades.

Chegados aqui, partilho, sete conselhos e boas práticas a ti que provavelmente és um junior developer e estás a começar a dar os primeiros passos. Espero que consigas ter a melhor experiência possível enquanto developer, ao longo deste caminho que se inicia agora e poder ajudar com as minhas tips a concretizar esse objetivo.

Pratica os teus skills para te tornares expert

Esta é a razão pela qual o teu professor de matemática te deu tantos trabalhos de casa: a matemática tem tudo a ver com praticar. O mesmo se aplica ao software development: estás sempre em constante aprendizagem. Quanto mais praticares, mais vais aprender e melhores resultados terás. Mais importante ainda: com o tempo, estarás também mais preparado para desafios maiores e mais complexos.

A melhor forma de praticar é desafiares-te a fazer coisas diferentes e em que tens potencial para melhorar, saindo da tua zona de conforto. Cria um conjunto de mini projectos, talvez um “atalho” para te ajudar a melhorar o processo nas tuas tarefas diárias. Isto pode ajudar-te de muitas maneiras: a seres criativo, a encontrares as tuas próprias soluções, a explorares novas tecnologias e, acima de tudo, a arriscares, sem temeres possíveis erros, no caminho.

Abraça os teus erros

Não penses que estás perdido só porque falhaste no teu último compromisso. É habitual termos medo de ver o nosso código repleto de sublinhados a vermelho, concordas? Ou até pior: “E se alguém repara?” Não é o fim do mundo, acredita!

Errar é comum e devemos aceitá-lo para poderes crescer enquanto junior developer.

Enfrentares os teus erros pode ser desafiante, mas dá-te o conhecimento necessário para não os cometeres novamente.

It’s hard enough to find an error in your code when you’re looking for it; it’s even harder when you’ve assumed your code is error-free
Steve McConnel

Para prevenir bugs, o meu conselho mais importante para ti é que definas, planeies e estrutures guidelines para o projeto que vais desenvolver.  Desta forma, vais conseguir minimizar os erros. Aqui é também importante aprenderes a utilizar ferramentas de debug, essenciais para detetares erros e perceberes como chegaste lá. Estas ferramentas ajudam-te não só a ir a fundo à origem do problema como também a planeares como resolver o bug que encontraste.

junior developer rami malek
Rami Malek as Elliot Alderson in Mr. Robot. Gif via noluyo.tv

Diz sim aos testes

É de senso comum que quando algo está a ser criado tem de passar por várias fases: uma das mais importantes, neste caso, é testar o produto. No desenvolvimento de software, deves testar em todos os momentos do projeto. Não deixes para o fim.

Existe uma metodologia de desenvolvimento em que os testes são a base de tudo. Talvez já estejas familiarizado com a metodologia TDD (Test Driven Development) em que a primeira fase de todas é escrever test cases e só então depois criar o código capaz de passar nos test cases criados.

Naturalmente não tens de usar TDD, mas deves testar sempre, independentemente da metodologia que escolheres.

Existem várias técnicas que podes aplicar durante o processo:

  • Testes unitários, ao nível de código, ajudam-te a prevenir possíveis bugs
  • Testes de integração para garantir que a feature que estás a criar funciona corretamente com todas as outras na aplicação
  • Testes de regressão permitem-te garantir estabilidade na app quando os requisitos se alteram
junior developer unit testing

Vantagens de testar

Olha para o projeto atual em que estás envolvido e criar alguns testes unitários para compreenderes como podem ser úteis.  Entre as várias vantagens, estas são algumas das que destaco, quando aplicares técnicas de teste durante um projeto:

  • consegues otimizar a qualidade do software
  • Reduzes a probabilidade de cenários inesperados
  • Certificas que estás a responder às especificações do projeto
  • Garantes a satisfação dos teus stakeholders

Dá forma ao teu código

Sam Morgan, head of product na Makers, diz algo que deves ter sempre em mente quando escreves código:

Your code has two users: the computer, and every other person who has to work with what you wrote
Sam Morgan

Isto significa que provavelmente não serás o único na equipa a trabalhar com o código que estás a criar. Mantém-no “limpo” e acessível para o próximo developer.

junior developer foundations programming

Enqunanto junior developer, vê o teu código como um conjunto de gavetas da tua secretária: mantém-nas limpas e organizadas. Partilho algumas das boas práticas para te ajudarem na manutenção e evolução do teu código:

  • Organiza o teu código o mais separadamente possível
  • Identifica, com clareza, todas as funcionalidades que vais desenvolver e cria packages para cada uma. Assim, vais melhorar a escalabilidade e a manutenção de cada uma, reduzindo possíveis impactos em outras partes da aplicacação, em que não fizeres alteações
  • Evita rescrever o mesmo código repetidamente. Compila aquelas funções que respondem a diversos propósitos, criando a tua ferramenta de utilitários que te permitirá usar em diferentes pontos do projeto.

Para além disto que estamos a falar, deves documentar objetivamente o código que escreves ao longo do projeto. É uma forma também de protegeres o teu trabalho.

No futuro, será mais fácil olhares para o mesmo e teres uma ideia clara do que fizeste para trás. Criar diagramas que te permitam ter uma visão técnica geral da tua solução é recomendável, bem como mantê-la atualizada ao longo do projeto. Documenta os passos que deste para resolver os requisitos do projeto e regista todas as alterações que fizeste. Isto vai ajudar-te a ti e a outros a ter uma ideia clara sobre a solução, simplificando o processo de manutenção.

Compreende o que estás a fazer e porque estás a fazer

Se alguém te disser para pores sal no teu café, presumo que não o irás fazer. Porquê? Porque sabes que o café não saberá tão bem e é daquelas coisas que precisas para te manteres “forte”.

Compreender o quadro geral de um projeto vai não só ajudar-te a construir uma solução mais robusta como também a compreenderes melhor como integrar todas as partes da aplicação.

Assim, tem tudo que ver com fazer uma análise do projeto apropriada, fazendo as questões necessárias para começar. Estas são algumas das questões que, eventualmente, te vão ajudar a perceber o propósito do projeto e o quão valioso serás nele:

  1. Qual é o desempenho atual da aplicação? O que está a funcionar mal?
  2. O que é preciso alterar funcionalmente para corrigir os problemas?
  3. Como é que as alterações vão afetar cenários reais do dia-a-dia?
  4. Existem outros exemplos semelhantes a este?

Do ponto de vista técnico, deves saber identificar como é que a tua solução funciona da forma como funciona. Às vezes, terás de dar o máximo para chegares lá, mas colherás frutos mais à frente. Tenta compreender como o teu código funciona como um todo, sem ficares preso ao fascínio de teres conseguido finalizá-lo com sucesso. Na verdade, não é um truque de magia. Portanto, consegues encontrar respostas mais rápidas quando algo não corre bem. Por outras palavras: dá-te a capacidade de entenderes a razão de uma tecnologia específica ser mais indicada para um objetivo do que outra ao mesmo tempo que consegues trabalhar em antecipação e prevenção.

Foca-te numa tarefa de cada vez

Sempre que estiveres numa reunião de projeto, isso significa que mais tarefas irão aparecer para adicionares ao teu backlog. Não entres em pânico, ninguém está à espera que sejas malabarista. Só precisas de ter em mente que deves focar numa tarefa de cada vez, sobretudo enquanto junior developer!

É quase certo que o teu project manager irá organizar tarefas por prioridade, mas mesmo em cada tarefa deves organizar os teus pensamentos e planear como fazê-lo. Podes dividir cada uma em tarefas menores, para orientares melhor o desenvolvimento. Desta forma, vais seguir um workflow passo a passo, definindo como iniciar e terminar, com sucesso.

Se és um junior developer, mantém a mente aberta a mudanças

Tal como já partilhei no início do artigo, as tecnologias alteram-se constantemente. O que sabemos hoje pode já não ser verdade a curto-prazo. A tecnologia que utilizas agora vai, provavelmente, ser substituída por outra nova tendência, uma tecnologia disruptiva que vem mudar a forma como trabalhamos.

No entanto, para os júniores como tu, estas alterações podem ser mais “dolorosas”. Porque ainda agora estás a iniciar esta jornada e não apenas tu como também os teus managers terão de perceber aquilo que melhor se adequa ao teu perfil, para poderes trabalhar o teu potencial.

Não tenhas medo de mudar de uma tecnologia para outra ou até mesmo de uma unidade de negócio para outra. Isso significa que terás a possibilidade de aprender muitas coisas diferentes e saberes aquilo que verdadeiramente mais te apaixona. Continua com o bom trabalho, abraça a mudança e encara isso como o próximo passo para fazeres evoluir os teus skills.

Conclusão

Se chegaste até aqui no artigo, é porque provavelmente (espero) foi útil para ti. Ser um software developer e junior developer é um desafio por inteiro. Confia em mim, as tuas dúvidas e medos, por esta altura, não são só tuas. Aposto que quase todas as pessoas na área profissional de TI sentem ou sentiram a dada altura o mesmo que tu. Mas vais ter de começar por algum lado. Confia em ti e nas tuas capacidades, não tenhas medo de explorar e mantém esse espírito aberto de querer sempre aprender.

Este blog post de Luís Simões, Senior Developer da Xpand IT, foi publicado num artigo de opinião do Sapo Tek.

Categories:
  • Blog Xtech Community
Tags:
  • Careers
  • IT
  • Software Development
Anterior Seguinte
  • Popular
  • Recente
Três dicas para criar um CV de engenharia informática de sucesso
Mai 08, 20

Três dicas para criar um CV de engenharia informática de sucesso

Como ser um bom developer? Não é apenas sobre código
Fev 03, 20

Como ser um bom developer? Não é apenas sobre código

A minha primeira experiência profissional nos estágios de verão da Xpand IT
Set 20, 19

A minha primeira experiência profissional nos estágios de verão da Xpand IT

Como começar a trabalhar em IT? – live instagram
Abr 27, 21

Como começar a trabalhar em IT? – live instagram

Sete conselhos que um junior developer deve saber
Set 16, 19

Sete conselhos que um junior developer deve saber

Teletrabalho: boas práticas para trabalhar em casa (miúdos incluídos)
Mar 31, 20

Teletrabalho: boas práticas para trabalhar em casa (miúdos incluídos)

Cinco razões para continuar a trabalhar na mesma empresa de TI
Jan 22, 20

Cinco razões para continuar a trabalhar na mesma empresa de TI

Data Engineer ou Data Scientist? Descobre a carreira que faz match contigo
Nov 09, 20

Data Engineer ou Data Scientist? Descobre a carreira que faz match contigo

Metodologias ágeis: cinco lições a partir do coaching a diferentes equipas
Dez 26, 19

Metodologias ágeis: cinco lições a partir do coaching a diferentes equipas

Comecei um novo desafio profissional em teletrabalho. Foi assim a minha experiência
Mai 14, 20

Comecei um novo desafio profissional em teletrabalho. Foi assim a minha experiência

De Trainee a Partner: Como chegar a este nível e quais os desafios?
Jun 23, 22

De Trainee a Partner: Como chegar a este nível e quais os desafios?

10 hacks em Javascript que os developers devem conhecer
Mai 17, 22

10 hacks em Javascript que os developers devem conhecer

10 top skills procuradas num Senior Developer
Abr 21, 22

10 top skills procuradas num Senior Developer

A importância de UX e as suas aplicações no futuro – live instagram
Abr 18, 22

A importância de UX e as suas aplicações no futuro – live instagram

Angular vs React: qual escolher? Conhece aplicações práticas
Mar 14, 22

Angular vs React: qual escolher? Conhece aplicações práticas

5 razões para trabalhares numa consultora de IT
Fev 09, 22

5 razões para trabalhares numa consultora de IT

De Native para Flutter: a opinião de um mobile developer
Jan 07, 22

De Native para Flutter: a opinião de um mobile developer

Termos e Condições de Participação no Passatempo Auscultadores Bluetooth
Dez 20, 21

Termos e Condições de Participação no Passatempo Auscultadores Bluetooth

Como aplicar deployments no Tableau Server através de uma abordagem DevOps?
Dez 14, 21

Como aplicar deployments no Tableau Server através de uma abordagem DevOps?

4 lições que aprendi sobre liderança ao correr uma meia-maratona
Nov 17, 21

4 lições que aprendi sobre liderança ao correr uma meia-maratona

pin

Portugal

pin

United Kingdom

pin

Sweden

Carreira em IT logo Xpand IT
Subscrever Newsletter
  • Procurar Oportunidades
  • Oportunidades de Emprego
  • Estudantes & Universidades
  • Life at Xpand IT
  • Trabalhar na Xpand IT
  • Os nossos valores
  • Recursos
  • Blog
  • Webinares e Conteúdos
  • ITalks lives @Instagram
  • Quem Somos
  • Equipas de Produto & Tecnologia
  • Equipas Corporativas
  • O que fazemos
  • Imprensa
  • Contactos
www.xpand-it.com  2022 | All rights reserved
Legal Privacy Policy Terms Of Use
Lisboa 2020 Logo norte 2020
logo Compete 2020
Logo Portugal 2020
Logos CMMI e Pledge 1


X
This website uses Cookies
We use cookies on our website to give you the most relevant experience by remembering your preferences and repeat visits. By clicking “Accept All”, you consent to the use of all the cookies. However, you may visit Cookie Settings to provide a controlled consent.
By browsing our website, you agree to ourCookie Policy
Cookie settingsACCEPT ALL
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessários
Relatório de Consentimento
Os cookies necessários são essenciais para o nosso website funcionar normalmente. Assegurando anonimanente as funcionalidades básicas
CookieDuraçãoDescrição
__rd_experiment_versionsessãoEste cookie é configurado pelo RD Station garante que o utilizador veja sempre a mesma versão de um teste A/B, preservando a experiência e consistência dos dados.
_GRECAPTCHA5 meses 27 diasEste cookie é configuirado pelo Google reCAPTCHA protege o nosso site contra ataques de spam nos formulários de contacto.
cookielawinfo-checkbox-[CATEGORY]1 anoEste cookie é usado pelo plugin GDPR Cookie Consent guarda o consentimento do visitante da [CATEGORIA].
viewed_cookie_policy1 anoEste cookie usado pelo GDPR Cookie Consent plugin para guardar se o visitante consentiu ou não o use the cookies. Não guarda nenhum dado pessoal.
Performance e Analíticos
Estes cookies são usados em análises estatísticas, permitem-nos analisar o comportamente de navegação no nosso site de forma a melhorar os serviços e campanhas que disponibilizamos.
CookieDuraçãoDescrição
__trf.src1 anoEste cookie é configurado pelo RD Station, guarda a referência da origem da visita ao site.
_fbp3 mesesEste cookie é configurado pelo Facebook para exibir anúncios quando estiver no Facebook ou noutra plataforma digital onde é usada publicidade do Facebook
_ga2 anosEste cookie é configurado pelo Google Analytics, calcula dados de visitantes, sessões, campanhas e acompanha o uso do site. O cookie armazena informações anónimas atribuindo um número aleatório para distinguir visitantes únicos.
_ga_[ID]2 anosEste cookie é configurado pelo Google Analytics é usado para distinguir os visitantes.
_gat_UA-[ID]1 minutoEste cookie é configurado pelo Google Analytics, onde o elemento padrão no nome contém um número que identifica o site. É uma variação do cookie _gat usado para limitar a quantidade de dados registados pelo Google em sites de alto volume de tráfego.
_gid1 diaEste cookie é configurado pelo Google Analytics guarda um ID único que é usado para gerar dados estatísticos sobre como o visitante usa o site
_rdtrk9 anos 8 meses 4 dias 9 horas 21 minutosEste cookie é configurado pelo RD Station, guarda a lista de todas as páginas que o visitante acedeu.
AnalyticsSyncHistory1 mêsEste cookie é usado pelo Linkedin para guardar informação sobre quando ocorreu a sincronização com o cookie lms_analytics para os visitantes dos países selecionados.
bcookie2 anosEste cookie é usado pelo Linkedin para guardar informação sobre quando ocorreu a sincronização com o cookie lms_analytics para os visitantes dos países selecionados.
fr3 mesesEste cookie é usado pelo Facebook permite mostrar anúncios relevantes aos visitantes, analisando o comportamento do visitante noutros websites que possuem pixel do Facebook ou o plugin social do Facebook.
rdtrk1 anoEste cookie é configurado pelo RD Station, guarda a lista de todas as páginas que o visitante acedeu.
UserMatchHistory1 mêsEste cookie usado pelo LinkedIn para sincronizar os ID's dos Ads.
YSCsessãoEste cookie é usado pelo Youtube para guardar as visualizações de videos do youtube embebidos em páginas.
yt-remote-connected-devicesnuncaEste cookie é usado pelo YouTube para guardar as preferências de video do visitante nos videos embebidos.
yt-remote-device-idnuncaEste cookie é usado pelo YouTube para guardar as preferências de video do visitante nos videos embebidos.
yt.innertube::nextIdnuncaEste cookie é usado pelo YouTube regista um ID único para guardar quais os vídeos que o visitante visualizou.
yt.innertube::requestsnuncaUsed by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
Outros
Cookies que estão atualmente a ser analisados pela nossa equipa.
CookieDuraçãoDescrição
cookietestsessãoEste cookie está a ser analisado pela nossa equipa.
cxssh_status3 meses 8 diasEste cookie está a ser analisado pela nossa equipa.
Funcionais
Estes cookies são usadas para melhorar a experiência e funcionalidades do nosso website, permitem também guardar as preferências do utlizador para futuras vistas.
CookieDuraçãoDescrição
_icl_visitor_lang_js1 diaEste cookie é configurado pelo WPML WordPress plugin guarda o idioma redirecionado.
bscookie2 anosEste cookie é usado pelo LinkedIn guarda se o utlizador fez login com multi-factor
CONSENT2 anosEste coookie é usado pelo YouTube em videos embebidos e regista dados estatísticos anonimamente.
langsessãoEste cookie é usado pelo LinkedIn para guardar a escolha do idioma do visitante no website linkedin.com.
li_gc2 anosEste cookie é usado pelo Linkedin para guardar o consentimento dos visitantes acerca do uso de cookies não essenciais.
lidc1 diaEste cookie é usado pelo LinkedIn para facilitar a escolha do datacenter.
VISITOR_INFO1_LIVE5 meses 27 diasEste cookie usado pelo YouTube para medir a largura de banda de modo a determinar se o visitante acede à nova ou à antiga interface.
wpml_browser_redirect_testsessãoEste cookie é usado pelo WPML WordPress plugin é usado para testar se os cookies estão ativos no browser.
Salvar e Aceitar
  • Português
  • Inglês