Quão comum é isso na indústria de software?
Muito comum. Mais ou menos a mesma coisa que ter um encanador destruindo seu encanamento, um carpinteiro entregando lixo ou um alfaiate barato fazendo um terno mal ajustado. Ou seja, é tudo humano.
Há uma boa razão para isso acontecer: pessoas que não são realmente treinadas (ou não entusiasmadas) tendo que implementar algo sob pressão.
Isso não é um problema para essas pessoas, principalmente, mas geralmente das estruturas que envolvem o desenvolvimento de software nessa empresa. Por exemplo, uma empresa pode ter vários estagiários desenvolvendo seu software interno; mesmo que esses estagiários sejam brilhantes e conhecedores, eles permanecerão lá por algumas semanas ou meses, e a propriedade mudará frequentemente.
Ou alguém que seja excelente no domínio, mas não um programador, pode hackear alguns aplicativos VBA etc. porque parece ser bastante fácil no começo.
Ou um aplicativo bem elaborado termina na fase de manutenção, todos os bons desenvolvedores seguem em frente e, depois, continua a ser desenvolvido por poucas pessoas (na pior das hipóteses: uma) que sabem pouco sobre ela, que não têm documentação etc.
Como posso garantir que eu permaneço no topo da OOP e dos princípios relacionados? Pratico no meu tempo livre e sinto que realmente preciso trabalhar com um desenvolvedor mais experiente para melhorar o POO.
Há duas respostas possíveis:
- Ou: discuta isso com seu chefe e certifique-se de entrar em projetos limpos. Se não for possível, encontre um novo chefe.
- Ou: assuma a responsabilidade por isso. Isso significa fazê-lo por conta própria - no seu tempo livre, ou se você puder, na empresa, mas conduzido por você (improvável).
Se a segunda resposta parecer cínica demais para você, deixe-me garantir que não. Um carpinteiro que tem uma loja de madeira em casa vai mais certamente ser um carpinteiro melhor do que aquele que não o faz.
Por exemplo, é absolutamente possível e muito divertido para algumas pessoas, por exemplo, cavar em um novo idioma como Ruby, aprender não apenas a sintaxe, mas também aprofundar aspectos especiais de OO dessa linguagem e realmente mergulhar fundo. Tudo no seu tempo livre, sem ter nenhuma conexão com o seu trabalho. Será apenas um hobby, mas, sendo o profissional treinado que você é, pode ser tão eficaz (ou mais) quanto ficar sentado ao lado de algum desenvolvedor líder e tentar seguir o que está fazendo. Isso será estritamente para seu desenvolvimento pessoal e sua própria diversão. Se você não se diverte fazendo isso, ou se acha que simplesmente não consegue entender nada, apague isso e retorne à primeira resposta.
Isso desenvolvedor líder que está treinando você tem bastante provável aprendi que coisas exatamente desta maneira ...