Fala galerinha, tudo bom? Hoje vamos abordar por um pouco polémico, principalmente pra quem tem pouca experiência como desenvolvedor. Vamos falar do nosso papel como engenheiros de software / desenvolvedor.
Pra fazer as nossas tarefas do dia-a-dia precisamos colocar as mãos na massa e codificar. Sem isso não conseguimos fazer nossas entrega! Mas afinal, é isso que realmente fazemos? Somos pagos pra "escrever código"? Bem... entre aspas sim, porém isso não é tudo.
A grosso modo, somos pagos para "resolver problemas da empresa aplicando tecnologia", ou seja, o foco é resolver problemas! Independente se o problema for resolvido em Java, Python, Go, etc... A tecnologia é só o meio de resolver os problemas! Não adianta você escrever o código mais lindo do mundo + completamente otimizado se a empresa em que você trabalha não vai ter nenhum benefício com isso!
Pensem comigo, imagina que você está atuando em uma startup, em que o time-to-market para certas funcionalidades é crucial para que a empresa de certo. Você iria investir sem tempo com refatorações ou discutindo durante dias qual banco de dados serviço X vai usar? Acho que não...
Mas ai você pode estar pensando: "Mas código limpo e bem feito é um benefício! Isso deixa a manutenção do código mais simples!". Essa afirmação é 100% verdadeira, manutenibilidade é fundamental em qualquer base de código, mas será que agora ou no momento atual da sua empresa, isso é o mais importante? Se existe na sua empresa bases de código muito complexas e/ou melhorias de tecnologia para fazer, vale negociar essas melhorias argumentando sobre os benefícios?
Ex: Temos um sistema em que SEMPRE que alguem tem que mexer nele, demora pelo menos 2 semana pra entregar algo!
É.... 2 semana é bastante tempo, se depois da melhoria proposta o sistema ficar melhor e cada tarefa demorar 1 semana, já vamos ter um ganho de 1 semana pra cada tarefa! Isso ao longo de meses/anos é um beneficio muito grande! Agora, se esse beneficio for "só" pra deixar o código mais limpo, sem um ganho real, talvez faça sentido seguir com outras tarefas.
É importante entender que sacrifícios + débitos técnicos são aceitáveis para que o negócio progrida, afinal, se a empresa não lucra e sobrevive no mercado, quem vai pagar nossas contas?
O problema é que, principalmente quem está no começo da carreira como dev, pensa muito em aprender tecnologias, codar MUITO, aplicar design patterns e etc, mas esquece que o que somos realmente pagos para fazer é resolver os problemas que nossa empresa. Sendo que codar é só a ferramenta que usamos pra resolve-los.
Top comments (0)