El costo humano de la complejidad técnica
La complejidad técnica no solo se paga en latencia, bugs y horas de mantenimiento. Se paga en personas: en la carga cognitiva que erosiona la atención, en el miedo a tocar el código, en el conocimiento que se concentra en pocas cabezas y en la lenta fuga de la gente que ya no aguanta.
Cuando hablamos del costo de la complejidad técnica, casi siempre lo hacemos en términos de máquina y de calendario: más latencia, más bugs, builds más lentos, despliegues más frágiles, más horas de mantenimiento. Todo eso es real y medible, y por eso es lo que aparece en los reportes.
Pero hay un costo que no aparece en ninguna métrica de infraestructura y que suele ser el más alto de todos: el costo humano. La complejidad técnica la pagan las personas que conviven con ella todos los días. Y la pagan en una moneda difícil de ver y de cuantificar: atención, confianza, energía y, al final, permanencia.
La carga cognitiva es un recurso finito
Toda persona que trabaja sobre un sistema tiene que sostener en la cabeza un modelo mental de cómo funciona. Qué hace cada parte, cómo se conectan, qué pasa cuando algo falla, dónde están las trampas. Ese modelo mental tiene un tamaño, y la capacidad de cada persona para sostenerlo es finita.
La complejidad técnica consume esa capacidad. Cada abstracción innecesaria, cada flujo indirecto, cada caso especial sin documentar, cada inconsistencia entre cómo se nombran las cosas en un módulo y en otro — todo eso ocupa espacio en la cabeza de quien trabaja ahí. Y ese espacio no es gratis: es el mismo espacio que se necesita para pensar en el problema real.
Cuando un sistema es innecesariamente complejo, las personas gastan la mayor parte de su energía cognitiva simplemente manteniendo el modelo en pie en lugar de resolver el problema de negocio. Es la diferencia entre un ingeniero que dedica su atención a diseñar una buena solución y uno que la dedica a recordar en cuál de los cinco servicios vive la lógica que necesita tocar, y por qué el de en medio a veces devuelve nulo.
La carga cognitiva no es una queja blanda. Es un límite duro. Cuando se excede, no se traduce en heroísmo: se traduce en errores, en decisiones apresuradas, en gente que evita el problema en lugar de resolverlo.
El miedo a tocar el código
Un síntoma temprano y muy revelador del costo humano de la complejidad es el miedo. No el miedo dramático, sino uno cotidiano y silencioso: la sensación de que tocar cierta parte del sistema es peligroso.
En un sistema complejo y mal entendido, cada cambio es una apuesta. No sabes qué más vas a romper, porque no logras predecir las consecuencias de lo que haces. Y cuando no puedes predecir las consecuencias, dejas de actuar con confianza y empiezas a actuar con cautela defensiva.
Esa cautela tiene formas concretas y costosas:
- Cambios mínimos en lugar de las mejoras que el código realmente necesita, porque “mejor no abrir esa caja”.
- Código duplicado a propósito, porque modificar el original da más miedo que copiarlo.
- Workarounds apilados sobre workarounds, porque entender la causa raíz es demasiado caro.
- Refactors que nadie se anima a hacer, así que la deuda se acumula con intereses.
El resultado es un círculo vicioso: la complejidad genera miedo, el miedo lleva a parches en lugar de soluciones, y los parches aumentan la complejidad. El sistema se vuelve cada vez más rígido, y las personas, cada vez más tensas alrededor de él.
El conocimiento que se concentra en pocas cabezas
La complejidad excesiva tiene un efecto social peligroso: concentra el conocimiento. Cuando un sistema es tan enredado que entenderlo cuesta meses, en la práctica solo unas pocas personas lo entienden de verdad. Se convierten en los únicos que pueden tocar ciertas partes sin romperlas.
Esto suele celebrarse al principio — “fulano es el que sabe de ese módulo” — pero es una fragilidad disfrazada de fortaleza. Para la organización significa un bus factor de uno: si esa persona se va, se enferma o simplemente se cansa, el conocimiento se va con ella.
Y para esa persona, ser el único que entiende algo complejo no es un privilegio: es una jaula. Se convierte en un cuello de botella. La interrumpen constantemente. No puede tomar vacaciones tranquila. No puede crecer hacia otras cosas, porque es irreemplazable justo donde está. Lo que parecía poder se vuelve una carga que pesa más cada mes.
La complejidad, así, no solo dificulta el trabajo: distorsiona las relaciones del equipo, crea dependencias insanas y deja a las personas atrapadas en roles de los que es difícil salir.
La erosión lenta: del cansancio al burnout
Nada de esto explota de golpe. El costo humano de la complejidad es acumulativo, y por eso es tan fácil de ignorar hasta que es demasiado tarde.
Funciona como una erosión. Cada día de pelear contra un sistema que se resiste deja un pequeño residuo de frustración. Cada incidente nocturno por una falla que nadie entendía del todo deja un poco de cansancio extra. Cada estimación que se triplica porque “había que tocar esa parte” deja un poco de desánimo. Por sí solo, ningún día es insoportable. Sumados a lo largo de meses, agotan.
El burnout rara vez viene de trabajar mucho en algo que funciona. Viene de trabajar mucho en algo que se resiste, que no se entiende, donde el esfuerzo no se traduce en progreso visible. La complejidad innecesaria es exactamente eso: una máquina de convertir esfuerzo en frustración. La gente buena no se va porque el trabajo sea difícil; se va porque es difícil sin sentido.
Y cuando alguien se va, el costo se multiplica. Se pierde conocimiento que estaba en su cabeza, el equipo queda más cargado, y la persona nueva tarda meses en construir el modelo mental que la complejidad hace tan caro de adquirir. La rotación causada por la complejidad alimenta más complejidad.
Por qué se vuelve invisible
Si el costo humano es tan alto, ¿por qué se ignora tanto? Por una razón estructural: es difícil de medir y difícil de atribuir.
La latencia de un endpoint sale en un dashboard. La carga cognitiva de un equipo no. El costo de un servidor aparece en una factura. El costo de que tres personas estén permanentemente al borde del agotamiento no aparece en ningún lado hasta que renuncian — y para entonces, se atribuye a “razones personales” o a “una mejor oferta”, no a la complejidad que las desgastó.
Además, hay un sesgo cultural en la ingeniería que admira la complejidad. Resolver algo complicado se siente más impresionante que mantener algo simple. Un sistema enrevesado puede dar prestigio a quien lo domina. Esto crea un incentivo perverso: la complejidad no solo se tolera, a veces se premia, mientras el costo humano lo pagan en silencio los que vienen después.
La simplicidad como decisión humana, no solo técnica
La conclusión práctica es que la simplicidad no es un lujo estético ni una preferencia personal. Es una forma de cuidado hacia las personas que van a convivir con el sistema, incluyéndote a ti mismo dentro de seis meses.
Cada vez que eliges la solución más simple que resuelve el problema real, estás reduciendo la carga cognitiva futura de alguien. Cada vez que documentas el porqué de una decisión, estás bajándole el miedo a quien tenga que cambiarla. Cada vez que distribuyes el conocimiento en lugar de acumularlo, estás liberando a una persona de una jaula. Cada vez que pagas deuda técnica de forma deliberada, estás evitando que la erosión avance un poco más.
Esto cambia el cálculo de muchas decisiones de diseño. La pregunta no es solo “¿es esto técnicamente correcto?” o “¿es lo más elegante?”, sino “¿qué carga le estoy dejando a las personas que van a mantener esto?”. Una solución brillante que solo su autor entiende es, casi siempre, peor que una solución sencilla que entiende todo el equipo.
Cierre
La complejidad técnica siempre cobra, pero no toda la factura llega a la infraestructura. Buena parte la pagan las personas: en atención consumida, en miedo a actuar, en conocimiento atrapado, en energía erosionada día tras día hasta que alguien decide irse.
Por eso vale la pena tratar la simplicidad como lo que realmente es: no una optimización técnica más, sino una decisión sobre la salud y la sostenibilidad de las personas que construyen y mantienen el sistema. Los sistemas no los aguantan las máquinas. Los aguantan las personas. Y su capacidad de aguantar, a diferencia del cómputo, no se escala comprando más.