RH
Article
(01)

Adiós al código perfecto: Mi viaje hacia un desarrollo centrado en el producto

Roberto Hernando comparte su evolución personal: por qué dejó de buscar la perfección técnica para enfocarse en crear productos que realmente aporten valor.

Por
4 Vistas
Desarrollo WebProduct MindsetClean CodeExperiencia PersonalProductividad

Más allá del código inmaculado: una reflexión personal

Hola, ¿cómo va eso? Si llevas un tiempo en este mundillo del desarrollo, seguramente hayas pasado por esa fase en la que los libros de Robert C. Martin son tu biblia y cualquier línea de código que no siga a rajatabla los principios SOLID te parece un pecado mortal. Yo estuve ahí, creedme. Me pasaba noches enteras dándole vueltas a si un servicio debía inyectarse de una forma u otra, o si esa lógica de negocio estaba lo suficientemente desacoplada del framework. Lo que no sabía es que, mientras yo buscaba la perfección técnica, me estaba alejando de lo que realmente importa: aportar valor real a personas reales.


Mi obsesión con la "Catedral de Código"

Hace unos años, me encargaron liderar un proyecto pequeño pero con mucho potencial. Era la oportunidad perfecta para aplicar todo lo que había aprendido sobre Clean Code, patrones de diseño y arquitecturas sofisticadas. Quería construir una obra de arte, una "catedral de código" que cualquier desarrollador admirara al abrir el repositorio. Me pasé semanas configurando el entorno, definiendo interfaces abstractas y asegurándome de que el acoplamiento fuera prácticamente nulo. El código era precioso, de verdad. Podías leerlo como si fuera poesía. Pero había un problema que no quise ver: no estábamos entregando nada funcional.

Recuerdo una reunión de seguimiento con el cliente donde me preguntaron si podíamos probar al menos el flujo de registro básico. Mi respuesta fue puramente técnica: "Bueno, la capa de persistencia ya está totalmente desacoplada y el bus de eventos configurado con RabbitMQ, pero aún no he terminado de mapear los DTOs a la vista porque estoy refinando el sistema de tipos". La cara de decepción del cliente fue un poema. Ahí fue cuando me dio el primer aviso el sentido común: al usuario final, y a quien paga las facturas, le da exactamente igual si usas una arquitectura hexagonal o si tienes todo el código en un solo archivo gigante, siempre y cuando la aplicación funcione, sea rápida y solucione sus problemas. Nosotros no teníamos nada, solo una estructura elegante y vacía.


¿Por qué me parece importante este cambio de mentalidad?

El punto de inflexión definitivo fue un fracaso estrepitoso. Ese mismo proyecto, por culpa de mis retrasos buscando la excelencia técnica y el refactor infinito, llegó tarde al mercado. Cuando por fin lanzamos nuestra flamante arquitectura, la competencia ya había sacado tres funcionalidades clave que nosotros ni habíamos empezado a programar porque yo estaba demasiado ocupado refactorizando el sistema de logging por cuarta vez. Fue un golpe de realidad duro, pero necesario para mi crecimiento. Aprendí que el código perfecto es, simplemente, el que se entrega y ayuda a alguien.

Empecé a preguntarme seriamente: ¿para quién escribo código? ¿Para lucirme en un hilo de Twitter (X) o para que una persona pueda hacer su trabajo más fácil? La respuesta parece obvia ahora, pero cuando estás metido en la burbuja de la ingeniería, es fácil olvidarla. Cambiar el enfoque de "¿es este código elegante?" a "¿esto que estoy picando ayuda al producto?" me quitó un peso enorme de encima. Dejé de ver la deuda técnica como un enemigo mortal y empecé a verla como una herramienta financiera: a veces es necesario pedir un "préstamo" de calidad para ganar velocidad de salida, siempre y cuando tengas un plan para devolverlo después, cuando el producto ya esté validado.


Lo que he aprendido en el proceso

Hoy en día, mi forma de trabajar es radicalmente distinta. No es que ahora escriba código basura o que haya dejado de importarme la calidad, ni mucho menos. Sigo valorando la legibilidad y el mantenimiento, pero mis prioridades se han invertido. Ahora, lo primero que hago es intentar entender el producto al 100%. Me siento con los diseñadores, hablo con la gente de negocio y, si puedo, con los usuarios. Quiero saber qué problema estamos resolviendo de verdad. Si entiendo el "por qué", el "cómo" técnico sale de forma mucho más natural y, sobre todo, mucho más pragmática.

He descubierto, no sin sorpresa, que la simplicidad es mucho más difícil de alcanzar que la complejidad. Es muy fácil añadir capas de abstracción y genéricos "por si acaso", pero es un arte saber cuándo NO ponerlas. Ahora prefiero escribir un código sencillo, directo, incluso un poco acoplado si eso nos permite validar una idea con usuarios reales mañana mismo. Si la idea funciona y el negocio crece, ya habrá tiempo (y dinero) para pulirla. Si no funciona, habré ahorrado semanas de trabajo en una arquitectura perfecta para un producto que nadie quería usar. Es una cuestión de eficiencia y respeto por el tiempo de todos.


Reflexiones finales y un consejo de amigo

Si estás empezando o si te sientes atrapado en esa espiral de perfeccionismo que te genera ansiedad en cada pull request, mi consejo es sencillo: levanta la vista del IDE de vez en cuando. El software no es un fin en sí mismo, es un puente entre una necesidad y una solución. Un código mediocre en un producto que cambia la vida de la gente es infinitamente superior a un código sublime en un producto que nadie usa.

Mi salud mental también ha mejorado una barbaridad. Antes, cada despliegue me aterraba porque sentía que si algo fallaba, mi reputación como "arquitecto" se manchaba. Ahora, como me centro en entregas pequeñas, constantes y orientadas a valor, los errores son simplemente parte del aprendizaje. No busco la infalibilidad, busco la resiliencia y la capacidad de pivotar rápido. Al final del día, somos artesanos construyendo herramientas. Y esa es la parte más gratificante de nuestro trabajo: ver cómo algo que has creado tú ayuda a alguien, independientemente de si el patrón que usaste es de libro o una solución creativa que sacaste adelante en una tarde de café intenso.

© 2026
Roberto Hernando
|