11 puntos por ashbyash 2025-11-26 | Aún no hay comentarios. | Compartir por WhatsApp

En ingeniería de software, el “buen gusto” no se refiere a preferir un stack tecnológico en particular, sino a la capacidad de elegir con flexibilidad los valores de ingeniería que mejor se ajustan a la situación de un proyecto dado.

El gusto es un concepto distinto a la habilidad

  • El gusto técnico, como el paladar en la cocina, es una sensibilidad independiente de la habilidad, y se manifiesta en la capacidad de distinguir “este código se ve bien / no me gusta”, “esta decisión de diseño me convence / me parece dudosa”, incluso sin ser especialmente bueno escribiendo código directamente.
  • Elegir entre un for loop y map/filter, por ejemplo, no es una cuestión de superioridad técnica absoluta, sino una diferencia de gustos según los valores que cada quien considere más importantes (legibilidad, simplicidad, rendimiento, etc.); al final, los ingenieros terminan juzgando con base en el conjunto de valores que priorizan.

Gusto de ingeniería = prioridad de valores

  • La mayoría de las decisiones en ingeniería de software son problemas de trade-offs entre valores como rendimiento, legibilidad, precisión, flexibilidad, escalabilidad, resiliencia, portabilidad y velocidad de desarrollo, y rara vez existe una opción que sea absolutamente correcta en todos los casos.
  • El gusto de un ingeniero se define por cuáles de esos valores prioriza y en qué medida; por ejemplo, si valora más la velocidad y la precisión que la rapidez de desarrollo, tenderá a inclinarse por Rust o por cierta nube específica, y si prioriza más la resiliencia que la velocidad, naturalmente optará por decisiones como la distribución multi-región.

Mal gusto: adoración inflexible de las “best practices”

  • El mal gusto aparece cuando los valores que una persona prefiere no encajan con el proyecto actual, pero aun así insiste, sin importar el contexto, en metodologías que cree que funcionaron antes (verificación formal, reescribir en cierto lenguaje, multi-región excesiva, metaprogramación compleja, etc.).
  • Estas personas justifican sus elecciones apoyándose en criterios absolutos como “esto es una best practice”, y puede decirse que, aunque eso funciona bien en situaciones especiales, cuando cambia el contexto terminan guiando al equipo en la dirección equivocada, como una brújula descalibrada.

Buen gusto: elegir valores según el contexto y con flexibilidad

  • El buen gusto es la capacidad de elegir correctamente qué valores poner al frente y cuáles sacrificar dentro de un problema específico y de las restricciones organizacionales y de negocio, por lo que es difícil medirlo con preguntas simples o pruebas teóricas; solo se revela en el diseño y en los resultados de proyectos reales.
  • Solo cuando observas repetidamente, a lo largo de varios proyectos, que los proyectos con diseños con los que estabas de acuerdo salen bien, y que aquellos con decisiones que no compartías terminan sufriendo, puedes verificar por fin si “mi gusto acertó / falló en este contexto”.

Cómo desarrollar un buen gusto

  • La idea es que el buen gusto no se obtiene a partir de una única respuesta correcta o de un libro de texto, sino que se acumula poco a poco al pasar por proyectos de distintos tipos y revisar conscientemente una y otra vez “qué salió fluido y dónde costó”, “qué elección de valores terminó pasándonos factura más adelante”.
  • La clave es la flexibilidad: no considerar un lenguaje, patrón o arquitectura como una regla absoluta, y mantener una actitud abierta ante nuevos dominios y los gustos de otros colegas, probando distintas perspectivas y lenguajes mientras se actualiza constantemente el propio gusto de base.

Aún no hay comentarios.

Aún no hay comentarios.