Soy un desarrollador relativamente nuevo, recién llegado de la universidad. Mientras estaba en la universidad y durante la búsqueda de empleo posterior, me di cuenta de que había muchas metodologías de desarrollo de software "modernas" de las que carecía mi educación: pruebas unitarias, registro, normalización de bases de datos, desarrollo ágil (frente a conceptos genéricos ágiles), estilo de codificación guías, refactorización, revisiones de código, sin métodos de documentación estandarizados (o incluso requisitos), etc.
En general, no vi que esto sea un problema. Esperaba que mi primer trabajo abrazara todas estas ideas y me las enseñara en el trabajo. Luego obtuve mi primer trabajo (desarrollo web full stack) en una gran corporación y me di cuenta de que no hacemos ninguna de estas cosas. De hecho, yo, el menos experimentado en el equipo, soy el que encabeza los intentos de poner a mi equipo al día con técnicas de programación "modernas", ya que me preocupa que no hacerlo sea un suicidio profesional en el futuro.
Primero comencé con el software de registro (log4J), pero luego pasé rápidamente a escribir mi propia guía de estilo, luego la abandoné por la guía de estilo de Google, y luego me di cuenta de que nuestro desarrollo web Java utilizaba controladores frontales escritos a mano, así que presioné para nuestra adopción de Spring, pero luego me di cuenta de que tampoco teníamos pruebas unitarias, pero ya estaba aprendiendo Spring ... y como pueden ver, se vuelve abrumador demasiado rápido, especialmente cuando se combina con el trabajo de desarrollo normal. Además, es difícil para mí ser lo suficientemente "experto" en estas metodologías para enseñar a alguien más en ellas sin dedicar demasiado tiempo a una sola, y mucho menos a todas.
De todas estas técnicas, que veo como "esperadas" en el mundo del desarrollo de software actual, ¿cómo las integro en un equipo como un jugador nuevo sin abrumar tanto a mí como al equipo?
¿Cómo puedo influir en mi equipo para que sea más ágil? está relacionado, pero estoy no un desarrollador ágil como el autor de la pregunta aquí, y estoy mirando a un conjunto mucho más amplio de metodologías que ágil.