Soy el líder de un pequeño equipo donde todos tienen menos de un año de experiencia en desarrollo de software. No me llamaría a mí mismo un gurú del software, pero he aprendido algunas cosas en los pocos años que llevo escribiendo software.
Cuando hacemos revisiones de código, hago un poco de enseñanza y corrección de errores. Diré cosas como "Esto es demasiado complejo y complicado, y he aquí por qué" o "¿Qué piensas acerca de mover este método a una clase separada?" Tengo un cuidado especial para comunicar que si tienen preguntas u opiniones en desacuerdo, está bien y tenemos que discutirlo. Cada vez que corrijo a alguien, pregunto "¿Qué piensas?" o algo similar.
Sin embargo, rara vez si no están de acuerdo o preguntan por qué. Y últimamente he notado signos más evidentes de que están ciegamente de acuerdo con mis afirmaciones y no están formando opiniones propias.
Necesito un equipo que pueda aprender a hacer las cosas de manera autónoma, no solo a seguir las instrucciones. ¿Cómo se puede corregir a un desarrollador junior, pero al mismo tiempo animarlo a pensar por sí mismo?
Editar: Aquí hay un ejemplo de una de estas señales obvias de que no están formando sus propias opiniones:
Yo: Me gusta tu idea de crear un método de extensión, pero no me gusta cómo pasaste un gran lambda complejo como parámetro. La lambda obliga a otros a saber demasiado sobre la implementación del método.
Junior (después de malinterpretarme): Sí, estoy totalmente de acuerdo. No deberíamos usar métodos de extensión aquí porque obligan a otros desarrolladores a saber demasiado sobre la implementación.
Hubo un malentendido, y eso se ha solucionado. ¡Pero no había ni una NINGUNA FUERZA de lógica en su declaración! Pensó que estaba regurgitando mi lógica de nuevo a mí, pensando que tendría sentido cuando realmente no tuviera idea de por qué lo estaba diciendo.