Sou um desenvolvedor relativamente novo, recém-formado na faculdade. Enquanto estava na faculdade e durante a subsequente procura de emprego, percebi que havia muitas metodologias "modernas" de desenvolvimento de software que estavam faltando na minha formação: teste de unidade, registro em log, normalização de banco de dados, desenvolvimento ágil (versus conceitos ágeis genéricos), estilo de codificação guias, refatoração, revisões de código, nenhum método de documentação padronizado (ou mesmo requisitos), etc.
No geral, eu não vi isso como um problema. Eu esperava que meu primeiro emprego abrisse todas essas idéias e as ensinasse a mim no trabalho. Então, consegui meu primeiro emprego (desenvolvimento web de pilha cheia) em uma grande corporação e percebi que não fazemos nada disso. Na verdade, eu, o menos experiente na equipe, sou o líder que tenta liderar minha equipe com as técnicas de programação "modernas" - pois me preocupo que não fazer isso seja suicídio profissional no futuro.
Primeiro, comecei com o software de log (log4J), mas rapidamente passei a escrever meu próprio guia de estilo, depois o abandonei para o guia de estilo do Google - e depois percebi que nosso desenvolvimento web Java usava controladores frontais escritos à mão; nossa adoção do Spring - mas então percebi que também não tínhamos testes de unidade, mas eu já estava aprendendo o Spring ... e, como você pode ver, ele se torna muito rápido demais, especialmente quando combinado com o trabalho normal de desenvolvimento. Além disso, é difícil para mim me tornar "especialista" o suficiente nessas metodologias para ensinar qualquer outra pessoa nelas sem dedicar muito tempo a uma delas, muito menos a todas.
De todas essas técnicas, que considero "esperadas" no mundo atual de desenvolvimento de software, como as integro a uma equipe como um novo player sem sobrecarregar a mim e à equipe?
Como posso influenciar minha equipe a se tornar mais ágil? é relacionado, mas estou não um desenvolvedor Agile como o autor da questão aqui, e eu estou olhando para um conjunto muito mais amplo de metodologias que Agile.