10 passos para ser um desenvolvedor excepcional

Como em outras profissões, a área de desenvolvimento tem uma série de habilidades, não necessariamente técnicas, que são essenciais...

Data de publicação: 18/12/2019

Como em outras profissões, a área de desenvolvimento tem uma série de habilidades, não necessariamente técnicas, que são essenciais para tornar um profissional acima da média. Nesse artigo vamos listar algumas delas e dar algumas dicas de como desenvolvê-las. 

1 – Trabalho em equipe

Dificilmente um desenvolvedor vai trabalhar sozinho. Na maioria dos projetos o desenvolvedor vai precisar ter contato com os designers, POs, gerentes de projeto, QAs, além de obviamente com outros desenvolvedores.

Assim sendo, saber trabalhar em conjunto será sempre fundamental para o desenvolvimento na carreira de um programador. Trabalhar de forma colaborativa te permite evoluir muito mais rápido, tendo acesso a opiniões e pontos de vista diferentes.

2 – Comunicação

Inquestionavelmente, uma habilidade que geralmente precisa ser trabalhada na maioria das vezes em desenvolvedores é a comunicação. 

Tomadas de decisão e criação de novas idéias são constantes no dia a dia dos projetos e é fundamental saber como conversar com as pessoas e como ajustar seu discurso dependendo de quem vai ouvir.

Por exemplo,  compare como você vai apresentar uma ideia de solução técnica a outro desenvolvedor ou a alguém leigo na parte técnica. O vocabulário utilizado vai precisar ser adequado a quem está ouvindo, senão, dificilmente você irá conseguir passar a mensagem necessária.

3 – Argumentação

Do mesmo modo, outro ponto bastante importante é a argumentação. Frequentemente você vai precisar defender suas ideias e propostas de melhorias para o projeto e por mais que sua ideia seja boa, sem bons argumentos dificilmente você vai conseguir convencer as pessoas a “comprar” sua ideia. 

Saiba levantar bons pontos que justifique sua proposta. Exponha qual problema você pretende resolver com isso. Tente ser mais crítico com suas próprias ideias e levar em conta quais possíveis pontos fracos e como seria possível contorná-los. 

Nunca deixe de levar em conta os pontos de vista das outras pessoas sobre o assunto. 

Fazendo isso, você chegará muito mais preparado para defender uma idéia, ou talvez, descobrirá prematuramente que na verdade aquela não seria a melhor opção para solucionar o problema e pode repensar o caso e chegar em uma solução ainda melhor. 

4 – Versionamento

Principalmente em projetos onde mais de uma pessoa compartilha um mesmo código, ou mesmo em projetos solo, é muito importante ter alguma forma de manter o histórico de tudo o que é criado ou alterado. 

O controle de versões pode evitar que arquivos sejam alterados paralelamente ou que uma alteração sobrescreva outra por exemplo. Outra vantagem é poder recuperar  versões anteriores caso necessário. 

Não importa qual a tecnologia utilizada. A mais usada sem dúvida é o git. Mas o mais importante é que você entenda os conceitos, saiba ao menos o básico de gitflow e com certeza o gerenciamento do seu código será muito mais fácil e produtivo. 

5 – Testes automatizados

Sem dúvidas, a automatização vem para facilitar a vida de todos. É exatamente isso que nós vendemos hoje: Automatização de processos. E porque não nós desenvolvedores também não podemos nos beneficiar disso?

Praticamente todo processo repetitivo pode ser automatizado de alguma forma. No nosso caso, um processo importantíssimo durante o desenvolvimento são os testes. Eles garantem que o projeto segue funcional após as alterações feitas.

Uma ferramenta que pode facilitar esse processo, são os testes automatizados, onde você tem uma espécie de robô que testa os seu código para você. Esse tipo de processo te oferece muito mais confiança ao fazer modificações no projeto.

6 – Arquitetura de sistemas

Seguramente, outra área de extrema importância para o trabalho de um desenvolvedor, é uma boa base sobre Arquitetura de Sistemas. Boas escolhas estruturais no início de um projeto, podem tornar a vida de um desenvolvedor muito mais fácil e aumentar consideravelmente a produtividade dos envolvidos no projeto. 

Por isso, é essencial o conhecimento de alguns padrões e principalmente, ter claro em mente o que se está buscando ao desenvolver uma arquitetura. Sempre se faça perguntas do tipo:

-Quão simples vai ser fazer testes nessa arquitetura?
-Manutenção será um problema no futuro?
-Consigo escalar esse projeto sem perder a simplicidade de trabalhar no projeto?
-Se eu ficar 6 meses sem tocar nesse código, ao voltar, eu ainda entenderia a arquitetura atual? 

Garanto que trabalhar no seu projeto vai ser muito mais simples e prazeroso no futuro, se um tempo for investido em responder essas perguntas. 

7 – Curiosidade e atualização constante

Sem dúvida, uma característica fundamental em um desenvolvedor é a curiosidade e prazer em aprender coisas novas. A área de desenvolvimento está sempre em plena evolução e se não acompanharmos essas mudanças, rapidamente ficamos obsoletos. Portanto, atualização é tudo! 

Siga blogs, pessoas que te inspiram de alguma forma, participe de grupos, busque informação para estar sempre por dentro do que está rolando. Não precisa ser sempre apenas sobre a linguagem ou plataforma na qual você trabalha hoje. Converse com pessoas que trabalham com outras tecnologias, leia sobre.

Conhecimento nunca é demais! Isso vai te ajudar a evoluir a cada dia e te manter ligado nas novas tendências.

8 – Saber usar martelo quando tiver prego e chave de fenda quando tiver parafuso

Igualmente, uma habilidade que parece simples e óbvia, mas que é uma falha mais comum do que parece em muitos desenvolvedores e não necessariamente em iniciantes, é a dificuldade de identificar quando usar determinada ferramenta.

De fato, não existe bala de prata. Portanto, evite buscar arquiteturas e soluções definitivas. Cada ferramenta vem para resolver um problema específico, e é muito importante saber identificar quando utilizar cada uma. 

Como diz a metáfora, uma boa chave de fenda pode ser muito útil com parafusos. Mas não vai te ajudar com pregos… 

Assim sendo, leve isso em conta em suas próximas decisões de projeto!

9 – Criação de soluções, não código apenas

Inegavelmente, cada vez mais máquinas e algoritmos de machine learning evoluem e já produzem código melhor que um ser humano. O que nos diferencia e nos torna ainda fundamentais, é a capacidade de solucionar problemas através de código.

Sendo assim, não se limite a apenas programar. Entenda o negócio, procure entender bem qual o problema que precisa ser resolvido. Não se apegue apenas a convenções ou padrões. Eles são importantes mas não podem te limitar ou impedir que você encontre uma solução para um problema.

Certamente, você vai conseguir ser muito mais assertivo ao propor soluções e vai de fato conseguir fazer a diferença no negócio do seu cliente. 

10 – Compartilhamento de conhecimento

Bem como já dizia a velha frase: “Ninguém é tão leigo que não tem nada pra ensinar, nem tão sábio que não tem nada a aprender”.

Não tenha medo de compartilhar informação. Disseminação de conhecimento é sempre muito positivo não apenas para quem recebe, mas também para quem compartilha. Você sempre vai encontrar um novo ponto de vista, vai acabar repensando aquela idéia de uma forma diferente da inicial, vai fixar o conhecimento, e com certeza vai evoluir, e por fim, todo mundo cresce junto! 

Então, compartilhe!!! 

Em conclusão, essas são as habilidades que podem destacar um desenvolvedor e levá-lo a uma carreira de sucesso na área de desenvolvimento de sistemas. Faça uma auto avaliação em cada uma dessas áreas e veja em quais você acredita que manda muito bem ou que talvez possa melhorar. 

Ao mesmo tempo, peça feedback das pessoas próximas a você! Isso com certeza vai te ajudar muito a evoluir na profissão! Abraço! 

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

17 − dois =

Posts relacionados

  1. Sobre a Dextra

    Somos especialistas em desenvolvimento de software sob medida para negócios digitais. Pioneiros na adoção de metodologias de gestão ágil, combinamos processos de design, UX, novas tecnologias e visão de negócio, desenvolvendo soluções que criam oportunidades para nossos clientes.

  2. Categorias

Scroll to top