Por Luís Simões (*)
À 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 júnior 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 júnior 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.
1.º - 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.
2.º - 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 júnior 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.
3.º - 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
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;
4.º - 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. 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 aplicação, em que não fizeres alteraçõ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.
5.º - 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.
6.º - 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! É 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.
7.º - Se és um júnior developer, mantém a mente aberta a mudanças
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! 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 juniores 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 é 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 nossa área profissional 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.
(*) Senior Developer da Xpand IT, no âmbito da XTech Community
Pergunta do Dia
Em destaque
-
Multimédia
20 anos de Halo 2 trazem mapas clássicos e a mítica Demo E3 de volta -
App do dia
Proteja a galáxia dos invasores com o Space shooter: Galaxy attack -
Site do dia
Google Earth reforça ferramenta Timelapse com imagens que remontam à Segunda Guerra Mundial -
How to TEK
Pesquisa no Google Fotos vai ficar mais fácil. É só usar linguagem “normal”
Comentários