Eran graduados de la Universidad del Nodo Central. Llevaban batas blancas impolutas y usaban guantes antiestáticos certificados. Para ellos, Molen no era un colega; era un glitch, una anomalía estadística que acababa de invalidar sus títulos.
— Seguro se saltó los tornillos de soporte traseros —murmuró Kael, el líder del trío, acercándose a una de las torres que Molen había cerrado.
Con una mezcla de rencor y esperanza de encontrar un fallo, Kael abrió la carcasa. Esperaba ver cables desordenados, pasta térmica mal aplicada o conectores flojos... la firma típica de un JIT sucio.
Pero el interior era inmaculado.
La gestión de cables (cable management) era superior al estándar del manual. Los flujos de aire estaban optimizados como arterias sanas. No había ni una huella dactilar en el silicio. Era una implementación perfecta.
— Maldita sea —susurró Kael, cerrando la caja con violencia—. Ha optimizado el hardware saltándose la burocracia del chasis. Eso... eso no debería ser legal.
— Vincent no lo dejará pasar —dijo otro de los técnicos, limpiándose las gafas—. Un JIT no puede humillar a un Departamento de Solidez y esperar que el sistema no lance una excepción. Ma?ana será despedido por "incumplimiento de normativa de seguridad". Ya verás.
En su despacho acristalado, Vincent no estaba gritando. El silencio de Vincent era mucho más peligroso que sus gritos.
Estaba sentado frente a su terminal, revisando el contrato temporal de Molen línea por línea. Sus ojos, fríos como LEDs azules, buscaban una cláusula, una ambigüedad, un bug en el acuerdo legal que le permitiera terminar la relación laboral sin pagar indemnización.
— "Cláusula 4.2: Insubordinación o desviación de los protocolos estándar ISO-9001..." —leyó Vincent en voz baja. Una sonrisa reptiliana apareció en su rostro.
Molen había ganado la apuesta de producción, sí. Pero al hacerlo usando su propio método y no el manual oficial de la compa?ía, técnicamente había violado el protocolo de calidad.
Vincent minimizó la ventana cuando vio pasar a Robert y Molen hacia la zona de servidores. No haría nada hoy. Dejaría que Robert jugara con su nueva "mascota" un rato. Cuando el Arquitecto se aburriera del chico —porque siempre se aburrían de los JITs—, Vincent ejecutaría su script de despido.
— Disfruta tu visita a la planta noble, basura —murmuró Vincent, alisandose el pin de la Orden de la Solidez—. El Garbage Collector pasa ma?ana a primera hora.
Al otro lado de la mampara de seguridad, la atmósfera cambió drásticamente. El aire ya no olía a ozono y sudor; olía a frío estéril, a éter y a dinero.
Molen caminaba medio paso detrás de Robert, sintiéndose dolorosamente consciente de sus botas gastadas y sus pantalones de trabajo manchados de grasa sobre el suelo de polímero blanco. Todo allí parecía dise?ado para intimidar a quien no tuviera un máster.
— Siéntate —dijo Robert al entrar en su oficina personal.
No era una oficina normal. Las paredes eran pantallas de piso a techo que mostraban cascadas de datos en tiempo real. Gráficos de latencia, uso de CPU y transacciones por segundo rodeaban el escritorio de vidrio negro como un sistema nervioso digital.
Robert se dejó caer en su silla ergonómica de cuero y tecleó un comando rápido.
— Observa. Esto es lo que nos está matando.
Una de las paredes cambió violentamente. No era solo texto; era una herida abierta en el software. Líneas de código rojo sangre brotaban desde la parte superior de la pantalla y goteaban hacia abajo, como una arteria cortada en el corazón del sistema.
java.lang.NullPointerException at com.macrosystems.erp.core.WaterFactory.getWater(WaterFactory.java:42)
at com.macrosystems.erp.core.WaterManager.distribute(WaterManager.java:15)
... 42 more
— Ahí lo tienes —dijo Robert, se?alando la hemorragia—. El asesino del ERP.
Molen se inclinó hacia adelante, entrecerrando los ojos. No entendía la mitad de las palabras. ?Qué era com.macrosystems? ?Qué significaba at ... :42? Pero la estructura... la estructura le resultaba familiar. Era como ver un plano eléctrico donde un cable se cortaba abruptamente.
— Parece... parece un camino cortado —murmuró Molen, titubeando—. Como si algo hubiera prometido estar ahí y hubiera desaparecido.
If you encounter this narrative on Amazon, note that it's taken without the author's consent. Report it.
Robert asintió, sorprendido por la intuición. — Técnicamente lo llamamos Stacktrace. Es el rastro que deja el programa al morir.
— Alphonse, un amigo mío... él lo llamaba "El Abismo" —dijo Molen, recordando las noches en el taller de reparaciones de su mentor—. Decía que es cuando el sistema intenta agarrar algo y solo agarra aire.
— Tu amigo Alphonse tiene una forma poética de describir una Referencia Nula —dijo Robert con media sonrisa—. Ocurre en la WaterFactory. Es un módulo crítico.
— ?Módulo? —preguntó Molen.
— Una pieza de código antigua. Un... componente —tradujo Robert, simplificando—. Fue escrito hace quince a?os por los fundadores. Es intocable. Hace diez días, el sistema colapsó. El equipo de Mantenimiento Básico (tus amigos de las batas blancas) hicieron lo único que saben hacer: reiniciar los servidores.
Molen negó con la cabeza instintivamente. Esa solución la conocía. — Eso es como si se te inunda la casa y tu solución es secar el piso con trapos pero no cerrar el grifo —dijo Molen—. El agua va a volver a salir.
Robert arqueó una ceja. La analogía era perfecta. — Exacto. El sistema aguantó diez días porque la memoria tardó en llenarse de errores, pero mis métricas dicen que la hemorragia va a volver. Y esta vez, el reinicio no funcionará.
— ?Por qué no... lo arreglan? —preguntó Molen con inocencia—. ?Por qué no van a esa WaterFactory y cambian la tubería?
Robert se levantó y empezó a caminar por la sala, gesticulando con frustración.
— Porque nadie sabe qué hay dentro de esa Fábrica, chico. La documentación se perdió hace a?os. Es una "Caja Negra". Si intentamos abrirla y cambiar el código fuente a ciegas, podríamos romper la compatibilidad con otros veinte sistemas. Es como intentar cambiar los cimientos de un rascacielos sin desalojar a los inquilinos.
Molen se quedó callado, absorbiendo la información. Su síndrome del impostor le gritaba que no debería opinar, que él solo sabía de condensadores y voltajes. Pero su curiosidad era más fuerte.
— Mi equipo propone Programación Defensiva —continuó Robert—. Quieren rodear al consumidor, al WaterManager, con escudos de validación. Llenar el código de chequeos. Preguntar cien veces "?Hay agua?" antes de beber. Es seguro, es estándar... y es una cobardía. Va a ralentizar el sistema un 40%.
Molen miró la línea 42 del error rojo. Recordó otra lección de Alphonse sobre cajas de envío. — Si la fábrica no tiene agua... no debería entregar el vacío —dijo Molen, buscando las palabras—. Debería entregar... una caja.
Robert se detuvo. — ?Una caja?
— Sí. Alphonse decía que si no sabes si el gato está vivo o muerto, no abres la caja. Entregas la caja cerrada. —Molen movió las manos, tratando de explicar el concepto abstracto con formas físicas—. Una caja que diga "Puede estar vacía". Así el que la recibe no se asusta si no hay nada dentro. Simplemente ve la caja vacía y... busca otra cosa.
Robert miró al joven técnico durante un largo minuto. Veía los engranajes girando en su cabeza. El chico no sabía qué era un Wrapper, ni una Mónada, ni un Optional. Pero acababa de describir el principio de dise?o funcional para evitar nulos, basándose en una analogía de gatos y cajas.
El Arquitecto sintió un escalofrío. ?Tiene la lógica de un Senior, pero el vocabulario de un ni?o?, pensó.
— Tienes la intuición, JIT —dijo Robert—. Es una solución elegante. Pero aquí es donde tu teoría choca con mi realidad.
Robert se giró hacia su escritorio y tecleó una secuencia rápida. — Te voy a dar acceso temporal para que veas la arquitectura. Necesito que leas la documentación histórica antes de que toquemos nada.
Una ventana emergente roja apareció en la pantalla gigante, acompa?ada de un sonido grave de rechazo.
ACCESS_DENIED: User 'Molen_T' lacks security clearance LEVEL_3.
(ACCESO DENEGADO: Usuario 'Molen_T' no tiene permisos de seguridad nivel 3.)
Robert golpeó la mesa con el pu?o. — ?Maldita burocracia! —gru?ó—. El Directorio Activo te rechaza. Tu perfil de JIT no tiene permisos ni para leer el menú de la cafetería digital, mucho menos el código fuente del ERP.
— ?Entonces... se acabó? —preguntó Molen, sintiendo cómo la puerta que se había abierto empezaba a cerrarse.
Robert se pasó la mano por el pelo revuelto, calculando. — No. No voy a dejar que un script de RR.HH. me diga cómo dirigir mi departamento.
El Arquitecto abrió un cajón seguro de su escritorio y sacó una tableta industrial, pesada y reforzada, desconectada de la red principal. — Voy a tardar al menos 48 horas en forzar un permiso de invitado para ti sin que salten las alarmas de seguridad. Vincent va a estar vigilando cada movimiento, así que tengo que hacerlo con cuidado.
Robert deslizó la tableta sobre el vidrio negro hacia Molen. — Aquí hay una copia estática de los logs de los últimos cinco a?os y los diagramas de arquitectura de la Era de la Fundación. Es solo lectura. No puedes romper nada desde ahí.
Molen tomó la tableta. Pesaba más de lo que parecía. Pesaba como una responsabilidad.
— ?Qué hago con esto? —preguntó.
— Estudia —ordenó Robert—. Quiero que memorices cada fallo, cada patrón, cada vez que esa maldita Fábrica de Agua ha tosido sangre. Si de verdad crees que tu teoría de la "Caja" es mejor que mi Programación Defensiva, vas a necesitar más que analogías de gatos para demostrármelo.
Molen asintió, guardando el dispositivo en su mochila gastada. — ?Cuándo vuelvo?
— El jueves. A la misma hora. Si para entonces no has encontrado una forma de aplicar tu idea sin demoler el edificio... —Robert dejó la frase en el aire y se?aló la puerta—. Ahora lárgate. Tengo que pelear con tres directores para justificar por qué le estoy dando una tableta clasificada a un cambiapiezas.
Molen salió de la oficina, cruzando de nuevo la mampara de cristal. Al volver al taller, el aire limpio y acondicionado fue reemplazado de golpe por el olor a ozono y sudor.
Sintió el peso de la tableta en su espalda. Tenía 48 horas. Tenía un trabajo nocturno que empezaba en una hora. Y tenía un problema imposible que resolver.
Por primera vez en su vida, Molen sonrió de verdad. El hambre de aprender rugía más fuerte que el cansancio.
__________________________________________________________________
[SYSTEM_MESSAGE]: Ejecución del capítulo completada con éxito.
> ?Te gustó el código? Si quieres invitar a este Dev a una bebida energética (BMAC)
o leer capítulos por adelantado (Patreon), revisa los enlaces:
? Buy Me a Coffee:
?? Patreon:
__________________________________________________________________