Você é um bom programador?
Seguindo a tendência do artigo anterior (Sua equipe de desenvolvimento está no caminho certo?) vou falar um pouco sobre algumas questões que nem sempre são observadas pelos programadores, mas competem para a sua imagem como bom profissional.
É muito comum, principalmente entre programadores mais novos, o ideal do código perfeito. Muitas vezes o programador novato trabalha suas habilidades com a meta de se tornar um melhor codificador a cada dia. Essa fase é plenamente justificável, e faz parte do desenvolvimento do profissional, entretanto, conforme o programador for ganhando maturidade e experiência, é necessário que ele trabalhe outras habilidades não relacionadas à codificação, que podemos chamar de habilidades não técnicas.
Desenvolvi uma lista com algumas questões que devem ser observadas por todo programador. (lista baseada no artigo de Alberto Gutierrez ).
1. Seja disciplinado:
No nosso dia-a-dia nos deparamos com diversas interrupções e tarefas paralelas. Telefone tocando, email, mensagem instantânea, colega chamando e diversas outras. Ser disciplinado significa estabelecer uma metodologia para que essas interrupções prejudiquem o menos possível o seu desempenho e produtividade. Utilização de técnicas como a técnica do pomodoro, por exemplo, é uma excelente metodologia para manter o foco em uma tarefa por vez.
2. Seu ego não é tudo:
Ser autoconfiante e ter uma boa auto-estima é diferente de ter um grande ego. Programadores precisam ter segurança e domínio do que fazem para serem colaborativos expressando sua opinião, mas, não exagere. Escute o que os seus colegas têm a dizer. Mantenha a mente aberta e analise as opções de todos antes de se apegar a sua solução como se fosse a melhor de todas. Se estiver errado sobre algo, não se envergonhe de dizer “você tem razão” ou “eu estava errado”.
3. Seja um bom comunicador:
Facilidade em falar e desinibição são apenas algumas das habilidades requeridas para uma boa comunicação. Seja conciso ao falar. Evite fugir do assunto e usar termos prolixos sem necessidade. Em uma discussão, procure ouvir e entender a outra parte antes de responder. Ser educado também faz parte de uma boa comunicação. Evite gírias fora de contexto.
4. De novo…o cliente:
Não faça de uma tarefa de codificação a sua diversão acima de tudo. Acredito que muitos programadores devem adorar ficar experimentando e especulando arquiteturas e algoritmos, mas não exagere. A entrega para o cliente nunca deve ser penalizada. Se houve um comprometimento de prazo com o cliente é melhor abrir mão de “seu código-arte” e focar na melhor estratégia que de retorno imediato para o cliente. Resolva o problema primeiro.
5. Não esqueça o que é prioridade:
Sempre existem funcionalidades que são mais importantes que outras, e essa priorização deve ficar clara e ser respeitada. Esse item é um complemento ao anterior. A procura por novas tecnologias, componentes e arquiteturas devem ser feitas com cautela de forma a não prejudicar o que foi priorizado.
6. Existe um mundo além do código:
Codificar é apenas umas das competências que um programador deve ter. Existe um mundo lá fora. Autogerenciamento, atenção aos prazos e metas, colaboração com a equipe, atenção aos horários, manutenção de um bom ambiente de trabalho evitando que o mau humor e o pessimismo contaminem os demais membros da equipe são apenas algumas das coisas que o programador deve ter em mente.
Excelente artigo!
Muito bom mesmo.
Muito bom mesmo, todos os envolvidos com desenvolvimento de software deveriam ter essa consciência….
Fazer isso não é fácil, mas com o tempo eu aprendi a disciplinar tanto o controle de IM e interrupções que consigo abstrair-me do mundo “real” quando preciso e focar totalmente. Custa caro e não é fácil.