Os top cinco erros não técnicos cometidos por desenvolvedores

Eu gostei tanto deste artigo que resolvi traduzí-lo e publicá-lo aqui.

Atenção: Este artigo não é de minha autoria. Ele foi traduzido do artigo escrito por Alberto Gutierrez, disponível em: http://www.makinggoodsoftware.com/2009/07/07/5-top-non-technical-mistakes-made-by-programmers/


Existem dois conjuntos de habilidades que um bom desenvolvedor precisa cultivar: habilidades técnicas e não técnicas. Infelizmente, alguns desenvolvedores focam somente na parte técnica. Quando isso acontece eles desenvolvem alguns maus hábitos dos quais os seguintes 5 são os erros não técnicos:

1 .- Falta de disciplina.

Disciplina é a ponte entre estabelecimento de objetivos e o cumprimento de metas.” Jim Rohn.

Sempre achei que disciplina fosse uma das habilidades mais valiosas, não só por ser um desenvolvedor de software, mas também para ser bem sucedido em qualquer outra área da vida também. E é bem verdade que, geralmente, é muito difícil encontrar pessoas que são tanto brilhantes quanto disciplinados.

Steve Pavlina destaca os 5 pilares da auto-disciplina … “[…] Aceitação (Acceptance), força de vontade (Willpower), trabalho árduo (Hard work), esforço (Industry) e persistência (Persistence). Se você pegar a primeira letra de cada palavra, você terá a sigla “A WHIP” (Um Chicote) – uma maneira conveniente de recordá-las, uma vez que muitas pessoas associam auto-disciplica como uma forma de chicotear-se em forma.[…] Eu altamente recomendo que leia sua série de artigos na auto-disciplina.

Como expliquei no meu artigo anterior: 5 dicas para criar bons códigos todos os dias, a minha abordagem pessoal é seguir estes passos todos os dias.

-Prepare sua própria lista de afazeres do dia. -Faça uma coisa de cada vez -Faça-o direito -Não finalize nada até que tenha completado tudo. -Antes tarde do que arrependido, PORÉM antes arrependido do que nunca.

2 .- Grandes egos.

Pela minha experiência posso dizer que grandes egos e programadores vão de mão em mão, o principal problema de ter um grande ego é que, na realidade, ele te impede de perceber que você o tem. Alguns indicadores que podem ajudar você a saber se o seu ego é grande são as seguintes:

  • Você se considerar o melhor programador.

  • Você bloquear conversas.

  • Você pedir verificações de códigos não para obter opiniões críticas, mas para mostrar quão bom o seu código é.

Existem artigos muito bons na internet sobre programadores e seus egos, eu recomendo dois deles, este artigo de Mike Bernat: “Programação sem ego algum” e esta dicussão em stackoverflow.com.

3 .- Ser um mau comunicador.

Se eu for falar por dez minutos, eu preciso de uma semana de preparação; se quinze minutos, três dias; se meia hora, dois dias, se uma hora, estou pronto agora”. Woodrow Wilson

Como a comunicação é nossa principal atividade. Ser um bom comunicador é difícil, porém essencial à nossa profissão, estamos continuamente trocando opiniões sobre designs, códigos, fazendo revisões, escrevendo documentações, tentando convencer os outros que nosso projeto é melhor, escrevendo código…

Bons comunicadores são pessoas que, quando estão explicando alguma coisa, sua explicação é a seguinte:

  • Foco. Eles só falam sobre o que é preciso para se compreender.

  • Clareza. Fácil de entender.

  • Breve. Nada a acrescentar, nada a retirar.

Para ser um melhor comunicador, tenho dois conselhos:

  • Se você acha que não é um bom comunicador, prepare o que vai falar até ficar focado, claro e conciso.

  • Se entrar numa conversa, primeiro ouça, depois pense e depois fale.

Há mais algumas dicas para melhorar a comunicação quando tiver uma reunião neste artigo que publiquei anteriormente “7 melhores práticas para tomar decisões no desenvolvimento de equipe”.

4 .- Esquecer o cliente.

Se não cuidarmos do cliente … alguém vai cuidar.

Você está aí por uma razão apenas, seu cliente. É fácil, as vezes, esquecer isso. Estive em equipes que se concentraram em tecnologias e plataformas, em vez de ter um cliente feliz. Gastaríamos meses criando uma estrutura que não proporcionaria valor algum para o cliente, e pelo tempo que começaríamos a usá-la, iríamos acabar descobrindo que não se encaixa nas nossas necessidades.

5 .- Não priorizar o trabalho corretamente.

Os programadores que estão sempre se atualizando muito, pesquisando novas e mais interessantes tecnologias, mais soluções de engenharia ou simplesmente fazendo tudo o que acham mais legal, são empecilhos para o projeto. Não estou dizendo que não é normal que se engaje em atividades paralelas ao longo do tempo, pois todos nós precisamos de distrações, mas se você se encontra normalmente nas situações ditas antes, você deve reconsiderar a forma como prioriza seu trabalho, mais uma vez vou recomendar que leia as ‘5 dicas para criar bons códigos a cada dia’.