Muito boa postagem.
Somos engenheiros. Ou não? Somos pagos para dar soluções, não para entregar soluções já existentes (às vezes isso é ok). Precisamos entregar o melhor. E para isso temos que entender muito bem qual é o problema. E dominar todas as técnicas, até as raras de serem usadas, para oferecer a melhor solução.
Mas antes precisamos interpretar o que temos à nossa frente. Para tudo. Só assim podemos evoluir e partir de algo correto para pensar na solução. Muitas vezes a nossa falha não está nem em ainda não ter experiência com programação, falta a base da base, que se aprende, ou deveria aprender na escola.
Não podemos só montar peças de Lego. Sim, oque fazemos é montar peças de Lego, tudo o que fazemos já está aí, não tem muito como inventar coisas novas, até para os cientistas mais renomados na área, pelo menos no básico, mas usamos com criatividade, questionando, entendendo, raciocinando.
Por isso não adianta perguntar onde usar design patterns, precisa aprender o que é, quais são eles, e entender o todo para o momento que precisar de um deles, poder usar adequadamente, sem forçar para usar por usar.
Só quero destacar para dividir os problemas, sem perder o todo, em muitos casos a solução não sai ou não é boa porque na divisão cria-se um novo problema. Então é preciso ter atenção em tudo.
Nada disso é novidade. Mas é sempre importante entregar formas diferentes para audiências novas o quanto é importante. Queria que mais pessoas tomassem consciência disso.
Faz sentido para você?
Espero ter ajudado.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
Obrigado pela comentário!😀
Sobre a parte dos Design Patterns, hoje o pessoal aplica muito pouco, principalmente porque tenta aplicar padrões de projetos onde não se deve aplicar ou não entende o momento correto de encaixar o conceito. Muitos tentam "entortar a colher" ao utilizar os design patterns para resolver problemas que o proprio padrão não se encaixa. É por isso que estudar os conceitos e práticar é essencial para todos, independente do anos de experiencia.
No ponto de dividir o problema, eu me refiro a quebrar um problema em peças menores, como se fossem um quebra-cabeça, muitos problemas precisam ser divididos em partes para se chegar a conclusões racionais. Se o desenvolvedor não quebrar um problema complexo em partes até montar a imagem completa para ai sim conseguir propor a solução, ele pode entregar uma solução de curto prazo, ou a famosa gambiarra colossal.
Vejo que muitos programadores hoje tem medo de enfrentar problemas ou tentar solucionar bugs, muito pela falta de confiança, experiencia e por estarem travados mentalmente em uma solução momentânea. Assim como o personagem do filme entendeu que é necessário mudar a perspectiva sobre o problema, nós também precisamos fazer isso na nossa profissão?
Faz sentido para você?