Quando falo em profissionalismo, frequentemente menciono que um desenvolvedor de software profissional faz testes (preferencialmente com TDD), faz de tudo para evitar bugs, não escreve código que sabe que não vai atender o cliente, entre outras coisas. Um dos comentários que ouço frequentemente é que isso tudo é muito bonito, mas depois não sou eu quem deve voltar para o escritório onde alguém ou algo determina que não podemos fazer testes, que o deadline é mais importante que a qualidade, ou outra coisa parecida.
Acho muito interessante a narrativa que coloca nas costas de outra pessoa ou coisa a responsabilidade pelo falta de profissionalismo.
- Eu não escrevo testes porque meu gerente não permite (ou porque o prazo do projeto não permite, ou por algum outro motivo).
- Eu sei que o código que estou escrevendo não vai atender o negócio, mas foi o analista quem especificou a regra.
Sugiro a todos nós que passemos a assumir a responsabilidade total pelo código que escrevemos. Ninguém está apontando uma arma à nossa cabeça, nos impedindo de escrever testes ou pensar por conta própria sobre a regra de negócios. Portanto, vamos mudar as duas frases acima:
- Eu não escrevo testes porque eu quero atender meu gerente e manter meu emprego (e meu salário).
- Eu sei que o código que estou escrevendo não vai atender o negócio, mas eu vou escrever ele mesmo assim porque eu quero que se algum problema aparecer na regra, que ele não seja meu, mas do analista.
A ideia é mudar o que você fala, que coloca a responsabilidade nas costas de alguma outra coisa que não você. Toda frase que explica porque você está fazendo algo deve ter no meio o “porque eu quero” seguido do motivo.
- Eu fiz o código de qualquer jeito porque eu quero…
- Eu sabia que ia dar erro, mas eu não conferi direito e resolvi porque eu quero…
- Eu trabalho das 9 às 18 porque eu quero…
- Eu gostaria de ser ágil, mas eu aceito trabalhar no modelo waterfall da empresa porque eu quero…
- Eu adoraria poder trabalhar com as últimas tecnologias, mas estou dando manutenção em código de 10 anos de idade porque eu quero…
Pense em algo que você faz e não gosta. Pensa em porque você faz. A primeira reação é colocar a responsabilidade no colo dos outros. Mas no fim das contas ela é sua. Porque você faz o que faz? O que você quer em troca? Porque não muda?
Dessa forma, pelo menos, paramos de reclamar que o mundo é injusto. As pessoas são racionais e fazem o que querem. Cada um aceita ou não ser coagido, aceita ou não ser pouco profissional.
Pense nisso.
Giovanni Bassi
Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.