Código limpo: agregando valor ao produto

Escrever código limpo é comumente dito como importante mas ao mesmo tempo uma skill técnica que não é valorizada, ou expressando melhor, não é tão visível. De fato, como numa entrevista geralmente não irá ouvir um "nossa, que código incrível e organizado que você escreveu", ou ainda, "nossa! Que excelente código limpo você submeteu hoje" não devemos subestimar o quão importante é escrever um bom código, pois isso gerará valor ao produto, a única variável é o quão breve chegará o valor do mesmo.

O problema

Você ainda pode estar pensando algo como "você pode estar certo, mas sou pago pra gerar valor hoje pro produto do qual estou alocado", e sim, você vai, mas a falta de um código limpo pode tornar a consistência e as possibilidades do produto menos valiosas antes do tempo. O valor que geramos como programadores na construção da solução deve estar contigo em duas coisas: funcionalidade e manutenibilidade. Um bom produto que permanecerá bom e escalável em X quantidade de tempo precisa conter ambos para se manter saudável.

É verdade que principalmente pra parte "não técnica" da empresa o que vai importar realmente é se funciona, entretanto, há valor indireto na escrita de bons códigos perceptíveis até mesmo pra esses membros. Escrever código conciso, fácil de manter e testar trás consigo também manutenções mais rápidas, ótimo entrosamento em equipe e escalabilidade no sentido de expansão do produto: novas funcionalidades, mudanças em regras de negócio, entrada de novos membros na equipe, mudanças nas interações já existentes na ferramenta.

Percepção de valor

Creio que mesmo pra equipe de marketing ou RH é percepitível quando um projeto começa a se tornar insustentável e quando um outro corre bem com o passar do tempo. Lembre-se, nosso objetivo não finda quando o produto sobe à produção, diria que ele se torna ainda mais complicado quando está em produção. Neste ponto todo o código limpo será percebido, não na forma de elogios diretos ao código, mas na forma da fácil correção de bugs, agilidade no incremento de novas funcionalidades, e confiabilidade nas suas regras de negócio. Isso que faz com que a sua senioridade ou até mesmo sua confiabilidade cresça dentro do negócio, consequentemente, suas oportunidades.

Você precisa garantir o produto gerado esteja de de acordo com a expectativa do cliente, e que não falhe no seu compromisso. No mínimo, que as falhas do mesmo mínimas e sejam corrigidas rapidamente. A qualidade do código é um dos fatores que influenciam diretamente nisso.

Claro que a qualidade da entrega não depende somente da qualidade do código em relação ao contexto comentado (código limpo), há também testes automatizados, arquitura do software invovolvido, e outros pontos. Todavia penso que é inegável o valor de um código limpo pra equipe, empresa, e principalmente pra que esse produto que estavam os escrevendo permaneceça saudável e dando frutos pro programador(es) e para a rentabilidade do negócio.

Conclusão

Toda técnica de escrita de código manutenível é, nada mais, que uma forma de garantir uma boa engenharia do produto e garantir seu benefício pra empresa. Livros como "código limpo" de Robert C. Martin e "refatoração" de Martin Fowler são exemplos de como a comunidade de desenvolvimento de software tem se preocupado com a qualidade do código e como isso é importante para o produto. Acredito que cada vez mais a nossa função como programadores passará a ser menos codificar e muito mais elaborar regras, condições e estruturas que garantam a qualidade do produto e produtividade do negócio.