Estoy trabajando en una aplicación bastante grande y con errores, y debido a la forma en que está escrita (te ahorraré detalles, pero viola las reglas en la mayoría de las áreas que se te ocurran), es casi imposible desarrollarla sin una refactorización importante.
Una parte importante de la aplicación fue creada por pasantes, n00bs, etc .; pero también ha habido un programador en el rango de Desarrollador maestro, y con toda humildad, el código que dejó también es dudoso, quizás de una manera diferente, pero aún así.
Por supuesto, su código tiende a hacer el trabajo, la mayoría de las veces, pero generalmente es críptico, reinventando la rueda (por ejemplo, un gran método personalizado que logra una copia de seguridad de SQL db bastante común), etc. Básicamente, confusión innecesaria y mucha ingeniería excesiva.
Y me hizo pensar que ser un programador altamente calificado (deliberadamente no uso la palabra "desarrollador", suponiendo que indica un conjunto más amplio de habilidades), si no está acompañado de otras cualidades, en realidad puede ser algo venenoso.
Suponiendo que sea cierto, algunas de las razones por las que podría pensar son:
- si está codificando con facilidad, se siente (o en realidad lo es, a corto plazo) simplemente más rápido para obtener sus propias soluciones en el acto, sin recurrir a bibliotecas, funcionalidad preexistente, etc.
- Si uno tiene la experiencia suficiente para mantener fácilmente una imagen mental de un programa complejo, uno está menos inclinado a dividirlo en módulos, capas, etc.
Entonces, mi punto es que si un codificador con fluidez es un mal desarrollador, su fluidez no solo no compensa a este último, sino que en realidad hace aún más daño.
¿Qué piensa usted de eso? ¿Es cierto (en qué medida si es así)?
I.ThinkOf(this).KindOfThing()