Esta pregunta fue inspirada por esta . Si bien esa otra pregunta se consideró localizada, creo que el problema subyacente es algo que es extremadamente común en nuestra industria. Sé que hay algunos desarrolladores, que leerán esto y pensarán que estoy inventando estas cosas y luego podrían responder cómo todos se preocupan por su trabajo y quieren aprender, pero solo mirando otras publicaciones de Programadores SE ( en este caso ), Sé que eso no es universalmente cierto.
Entonces, supongamos que tiene a alguien en su equipo (o tal vez la mayoría) cuyo procedimiento operativo estándar es copiar / pegar y que cree que todo se puede resolver si solo agrega suficientes llamadas a funciones y variables. Esta persona nunca escuchó hablar de TDD, SECO o SÓLIDO y fuera de 40 horas en el trabajo cuando está ocupado trabajando, nunca leyó una sola metodología / prácticas / libro de diseño.
En el pasado, yo (y otros) le pregunté cómo enseñarle OOD . Pero ahora estoy pensando que esa no es la pregunta correcta. La verdadera pregunta es ¿cómo te acercas a esa persona / equipo y haces que sientan curiosidad por una mejor manera de hacer las cosas? ¿Cómo los inspiras a aprender? Sin eso, parece que toda la enseñanza, reuniones, conferencias, discusiones son inútiles si están perfectamente felices de volver a su escritorio y hacer lo que siempre han hecho.
Trabajo con un montón de gente así. En realidad, son personas bastante brillantes, pero odio cuando escucho: "Ya terminé de codificar, solo necesito refactorizar y dividir en varias clases para hacer feliz a DXM". No refactorizan para obtener un código más limpio, legible y fácil de mantener, sino solo porque de lo contrario serán regañados. Sé que son capaces de aprender, solo parece que hay una falta general de motivación.
Cuando entrego trabajo, generalmente tiene muchos menos errores y el trabajo que poseía nunca se convirtió en una monstruosidad de 5000 líneas de una clase. Otros harán comentarios como, "su código es mucho más limpio y legible que nuestro material", por lo que ven la diferencia. Pero al mismo tiempo, creo que creen que les pagan 40 horas independientemente de lo que hagan, por lo que en realidad no les importa si pasan 3 días completos en QA buscando un error que no debería haberse introducido en El primer lugar. O que tardan una semana en modificar una clase porque hay tantas dependencias que terminan tocando. Sin embargo, "tal vez esa clase debería haberse escrito de manera diferente" nunca parece aparecer.
¿Se puede hacer algo en estas situaciones? ¿Alguien ha tenido éxito? ¿O es mejor aislar esa mentalidad en partes no críticas del proyecto y minimizar el daño?
NOTA: Cuando digo "falta de motivación". No creo que sea falta de motivación para trabajar o hacer un buen trabajo porque simplemente dejaron de preocuparse. La mayoría de nuestro equipo es todo lo contrario. Definitivamente se preocupan por el producto. Tenemos chicos que trabajarán noches y fines de semana. La parte que estoy tratando de superar es mejorar los hábitos y las habilidades, en realidad no tendrían que trabajar tanto. Supongo que lo de "40 horas" hizo que esta publicación sonara demasiado negativa.