¿Qué tan común es esto dentro de la industria del software?
Muy común. Casi lo mismo que hacer que un plomero destruya su plomería, un carpintero que entrega basura o un sastre barato que hace un traje que no le queda bien. Es decir, todo es humano.
Hay una buena razón por la cual esto sucede: las personas que no están realmente capacitadas (o no están entusiasmadas) tienen que implementar algo bajo presión.
Este no es un problema de esas personas, principalmente, sino generalmente de las estructuras que rodean el desarrollo de software en esa compañía. Por ejemplo, una compañía podría tener un grupo de pasantes desarrollando su software interno; incluso si esos pasantes son brillantes y conocedores, solo estarán allí durante unas pocas semanas o meses, y la propiedad cambiará con frecuencia.
O alguna persona que es excelente en el dominio, pero no un programador, podría piratear alguna aplicación de VBA, etc. porque parece ser bastante fácil al principio.
O una aplicación bien hecha termina en la fase de mantenimiento, todos los buenos desarrolladores continúan, y luego es desarrollada por pocas personas (el peor de los casos: uno) que saben poco al respecto, que no tienen documentación, etc.
¿Cómo puedo asegurarme de estar al tanto de la POO y los principios relacionados? Practico en mi tiempo libre y siento que realmente necesito trabajar con un desarrollador más experimentado para mejorar en OOP.
Hay dos respuestas posibles:
- O bien: discuta esto con su jefe y asegúrese de entrar en proyectos limpios. Si no es posible, encuentre un nuevo jefe.
- O: asuma la responsabilidad de esto usted mismo. Eso significa hacerlo por su cuenta, en su tiempo libre, o si puede, en la empresa, pero impulsado por usted mismo (poco probable).
Si la segunda respuesta te suena demasiado cínica, déjame asegurarte que no lo es. Un carpintero que tiene un taller de carpintería en su casa será más , sin duda, un carpintero mejor que uno que no lo hace.
Por ejemplo, es absolutamente posible y muy divertido para algunas personas, por ejemplo, profundizar en un nuevo idioma como Ruby, aprender no solo la sintaxis, sino también profundizar en aspectos especiales de OO de ese idioma y realmente profundizar. Todo en su tiempo libre, sin tener ninguna conexión con su trabajo. Solo será un pasatiempo, pero como eres el profesional capacitado que eres, puede ser tan efectivo (o más) como estar sentado junto a un desarrollador principal e intentar seguir lo que están haciendo. Esto será estrictamente para su desarrollo personal y su propia diversión. Si no te diviertes haciendo esto, o si encuentras que simplemente no puedes lograr ningún entendimiento, rasca eso y regresa a la primera respuesta.
Es muy probable que el desarrollador principal que te está entrenando haya aprendido esas cosas exactamente de esta manera ...