E você, é um profissional?
Ainda continuando com a série “Listen to Uncle Bob“, gostaria de falar sobre profissionalismo na nossa profissão, ou seja, desenvolvedor de software. Não lembra do Uncle Bob? Bem eu comentei do livro dele em meu último post, “Programação, uma atividade social“. Bem, em uma apresentação dele na RailsConf 2009 ele falou entusiasticamente sobre profissionalismo, entre outras coisas.
Voltando a questão do profissionalismo, essa semana eu estava lendo o livro “Scrum direto das trincheiras“, onde em determinado trecho o autor menciona que para ele a qualidade interna de um sistema não é negociável. Você pode conferir um resumo neste post, no blog da Rosana Angelo, minha colega de trabalho, onde ela fala exatamente sobre isso também. Porém, o ponto aqui não é falar de qualidade ou profissionalismo, simplesmente porque o autor do livro falou isso ou aquilo. Vou contar uma histórinha para ilustrar…
Eu ouvi uma vez um amigo, na primeira empresa onde trabalhei como programador, que dizia o seguinte: “com programação a gente só não faz chover, todo o resto a gente consegue fazer de um jeito ou de outro“. Eu sinceramente não garanto o teor das palavras, mas a idéia era essa. Uma frase desse tipo pode levar a interpretações do tipo: “testar é besteira, se ocorrer algum erro, depois consertamos“, ou ainda, “gastar tempo melhorando esse código aqui, pra quê, está funcionando…“, ou “Ok, vamos colocar só mais está coluna aqui na tabela do banco de dados, isso vai facilitar muito as coisas…“.
Esses tipos de abordagens são extremamente nocivas, porque no fundo estão baseadas naquele tipo de pensamento que foi mencionado antes, ou seja, se fizer assim funciona, mas se fizer de outro jeito, também funciona. O ruim é que quase sempre, quem decide, acaba escolhendo o caminho mais curto, que muitas vezes, não é o mais adequado, mas sim o mais rápido e barato possível. É justamente nesse ponto que precisamos mostrar o nosso profissionalismo e fazer como o autor do livro sobre Scrum (Henrik Kniberg), não negociar qualidade. Você pode negociar outras coisas como tempo, o quanto deve ser entregue, o custo, mas não a qualidade do seu código. (Apenas um adendo aqui, código de qualidade é um código no qual você confia, e você só pode garantir o seu código se você o testá-lo).
Não está convencido, então pare e pense sobre outras profissões, como médicos ou dentistas. Não podemos esquecer que em todas as profissões existem bons e maus profissionais, mas em geral esses profissionais tem um padrão de qualidade mínimo, sem o qual eles não tem como trabalhar e não trabalham. Um médico, a não ser em uma guerra, por exemplo, não vai abrir um sujeito em um local inapropriado, sem equipamentos de suporte e sem uma equipe qualificada para lhe dar suporte. Penso sobre isso, e da próxima vez que alguém pedir para você dar aquela “ajeitadinha” no sistema, diga NÃO!
