Como ser um desenvolvedor melhor

Como ser um desenvolvedor melhor

18/04/2016

Conhecer com maestria uma determinada tecnologia pode não ser suficiente para definir um ótimo desenvolvedor de softwares nos dias atuais. Os conceitos de agilidade acabam por determinar comportamentos esperados dos envolvidos na criação de softwares.

As habilidades ou “Soft Skills” do profissional diferenciado no mercado atual seriam:

Consciência

Saber no que você é bom e no que você não é. Isso é um diferencial nas equipes que tem foco em desenvolver softwares com qualidade, principalmente nos momentos em que é preciso definir quais serão suas atividades para a próxima entrega.

Se você possui um emprego que te permite fazer o que gosta e que te paga bem, tenha a consciência de que tem sorte. Vivemos em tempos que a demanda por programadores excede a oferta, mesmo assim, nem todos tem essa sorte.

Humildade

Estar aberto à possibilidade de estar errado é fundamental para fazer parte de um time. Aprenda, melhore sempre e reconheça seus erros sempre que estes aparecerem. Quanto menos as pessoas do time tiverem medo de estarem erradas, mais confiantes elas serão.

Confie que as pessoas farão seu trabalho!

Empatia

Pratique isso com todos que você conhece e que interagem com seu trabalho. Entenda que a equipe de negócios e o seu time serão os maiores afetados pelas decisões que você tomar. Não é possível ter colaboração com o cliente sem se colocar no lugar dele, muito menos responder a mudanças de forma satisfatória.

Nunca assuma que sabe o motivo de uma decisão, a não ser que esteja na sala quando ela foi tomada.

Espirito de Time

Indivíduos e a interação entre eles são essenciais para entregar valor da melhor forma. É importante saber que suas atividades vão impactar as pessoas ao seu redor e as suas entregas vão melhorar a vida de várias pessoas. Pessoas relacionadas a negócios e desenvolvedores devem trabalhar em conjunto e, diariamente, durante todo o curso do projeto.

Compartilhe o que sabe e o que aprendeu com as pessoas ao seu redor e sempre peça para que elas façam o mesmo com você. Lembre-se: o método mais eficiente de transmitir informações é através de uma conversa cara a cara.

Cuidado ao entrar em discussões do tipo A contra B. Raramente isso vale o tempo e, com certeza, não vai entregar valor. Ja comentei sobre isso em Guerra das Linguagens.

Criatividade

A tecnologia não para e muita coisa nova e interessante aparece todos os dias. Os profissionais devem considerar separar um tempo semanal para conhecer o que está surgindo na comunidade.

Se for até algum congresso ou conferência, não deixe de participar de, pelo menos, uma palestra de uma tecnologia que você não domina. Conhecer outras abordagens e soluções vai te ajudar a ser um desenvolvedor melhor.

Cuidadoso

Seja cético com posições extremas. Normalmente quando conhecemos algum ‘evangelista’ nos deparamos com a solução para tudo.

Seja liberal ao aprender algo novo mas, seja conservador em realmente utilizar. Afinal, qualquer tecnologia pode ser a melhor escolha dependendo da necessidade do projeto e da capacidade do time.

Enfim, as melhores arquiteturas, requisitos e designs emergem de times auto-organizáveis.

Lealdade e respeito com as pessoas

A lealdade com as pessoas é um valor importante na construção de um grupo de trabalho. Não seja leal a marcas, empresas ou tecnologias. Quem vai sempre te apoiar é o seu time.

O respeito entre todos é essencial para que as pessoas possam refletir e tomar descisões sobre como o time pode se tornar mais efetivo, se ajustar e otimizar os comportamentos dos indivíduos para atingir os objetivos.

Valores

Se para você os valores acima são óbvios, então é bem provável que você já os tenha impregnados em seu dia a dia. Neste caso, tenha empatia para com aqueles que não mantêm esses comportamentos e os apoie a evoluir.

Caso não seja seu caso, é um bom momento para revisar seus valores e pensar sobre como serão suas atividades no futuro. O mundo está mudando, talvez seja hora de mudar com ele.