16 de outubro de 2015

O programador profissional

O maior diferencial de um programador profissional é a responsabilidade pessoal. Programadores profissionais têm responsabilidade sobre suas carreiras, suas estimativas, seus compromissos com prazos, seus erros e suas habilidades técnicas.

Se você é um profissional, então você é responsável por sua própria carreira. Você é responsável por ler e por aprender. Você é responsável por ficar atualizado com o mercado e a tecnologia. Muitos programadores pensam que os patrões têm a responsabilidade de treiná-los. Me desculpe, mas esse tipo de pensamento está totalmente errado. Você acha que os médicos  fazem isso? Você pensa que advogados agem assim? Não, eles treinam a si próprios em seus tempos livres, gastando do próprio bolso. Eles gastam muito tempo lendo jornais e pareceres. Eles mantêm-se atualizados. Nós também precisamos ser assim. A relação entre você e seu patrão é descrita claramente no seu contrato de trabalho. Em resumo: seu empregador promete te pagar, e você promete fazer um bom trabalho.

Os profissionais têm responsabilidade sobre o código que eles escrevem. Eles não entregam código a menos que saibam que ele funciona. Pense sobre isso por um momento. Como você pode se considerar um profissional se você quer implantar um código sem ter a certeza de que funciona? Os programadores profissionais esperam que o Controle de Qualidade (CQ) não encontre nenhum erro porque eles só liberam código depois de testá-lo rigorosamente. Mas é claro que o CQ pode encontrar alguns problemas, afinal ninguém é perfeito. Mas como profissionais, nossa postura deve ser a de não deixar nada para o CQ reprovar.

Os profissionais são parte de uma equipe. Eles têm responsabilidade pela entrega da equipe toda, não apenas pelo seu próprio trabalho. Eles ajudam os outros, ensinam, aprendem e cobrem os colegas quando necessário. Quando um membro da equipe falha, os outros assumem, sabendo que um dia serão os que precisarão de ajuda.

Os profissionais não toleram listas grandes de bugs. Elas são horríveis. Sistemas com milhares de chamados de bug no banco de dados são verdadeiras tragédias por causa do desleixo. De fato, na maioria dos projetos, a necessidade de um sistema para controlar os bugs já é um sintoma de desleixo. Apenas os sistemas muito grandes deveriam ter uma lista de bugs tão grande que precisam de automação para gerenciá-los.

Os profissionais não bagunçam as coisas. Eles são orgulhosos de suas habilidades. Eles mantêm o código limpo, bem estruturado e fácil de ler. Eles seguem os padrões estabelecidos e as melhores práticas. Eles nunca, nunca se apressam. Imagine que você esteja experimentando uma experiência extra-corporal, assistindo ao médico fazer uma cirurgia cardíaca em você mesmo. Esse médico tem um prazo (literalmente falando). Ele precisa terminar antes que os aparelhos danifiquem muito o seu sangue. Como você gostaria que ele se comportasse? Você gostaria que ele fizesse como um desenvolvedor de software típico, se apressando e bagunçando tudo? Você gostaria de ouvi-lo dizer "Vou voltar e resolver isso depois"? Ou você gostaria que ele se ativesse aos procedimentos, demorando o que for preciso, confiante que essa abordagem é a melhor que ele pode ter? Você quer bagunça ou profissionalismo?

Os profissionais são responsáveis. Eles têm responsabilidade sobre suas carreiras. Eles têm responsabilidade por certificarem-se de que seus códigos funcionam. Eles têm responsabilidade pela qualidade de suas habilidades. Eles não abandonam os princípios quando os prazos apertam. Aliás, quando a pressão aumenta, os profissionais se apegam mais firmemente às disciplinas que eles sabem que são corretas.

— Robert C. Martin (Uncle Bob)

Fonte: 7 ways to be a better programmer in 2014

Eu sou Vinicius Assef, um programador do século passado que gosta de Python, pratica Lean Development e acredita em Deus. Você pode me contactar por email ou twitter.

Um comentário:

Marcadores