Tenía yo 15 años cuando en mi casa empezamos a programar con el ZX Spectrum, mi hermano mayor en assembler y código máquina y yo en el BASIC simplón. Estos recuerdos habían quedado arrinconados en mi cerebro hasta que he redescubierto el código máquina de las organizaciones.
El código máquina es el lenguaje propio de la tecnología digital. Las persona programamos con lenguajes más humanos mediante sentencias como Loop, begin, if…then…else y otros subterfugios por el estilo. Ellas las máquinas trabajan con algo mucho más básico que es traducido a nuestro idioma mediante un programa compilador. Al código máquina llegué hace 30 años observando cómo mi hermano hacía sus pinitos con el assembler del ZX Spectrum, y hoy puedo decir que no se trataba de una afición pasajera la suya. Hoy se gana la vida explicando cómo funcionan los programas de ordenador, y traduciendo tanto lenguajes humanos como lenguajes máquina, de hecho cada día se parece más a C3PO 🙂
Yo pensaba que esto del machine code era cosa del pasado -aunque vuelva a aparecer con el G-Code de las impresoras 3D- pero si pensamos en la organización como una sucesión de procesos veremos que no estamos tan lejos. Me explico mediante un ejemplo.
En la UPC gestionamos algo más de 90 edificios con su correspondiente mantenimiento, hoy inviable con nuestro exiguo presupuesto de universidad pública. Hasta ahora un/a bedel se paseaba por todos los rincones y cuando por casualidad veía algo estropeado entraba una incidencia en un formulario físico -papel- que desencadenaba un tedioso proceso interno de bucles y árboles de decisiones ininteligible para el común de los mortales. Es el código máquina de la organización.
Para llegar a él como en el caso del código máquina utilizamos traductores (compiladores y ensambladores) que nos hacen la vida más fácil. En original era un formulario de papel que rellenabas si tenías una necesidad como una reserva de sala o una ventana que no cerraba. La tecnología ha evolucionado, y hace cinco años ya creamos una intranet para que todo el personal de la UPC pudiese entrar las incidencias online, aunque detrás de la intranet se escondía el ininteligible proceso. Hoy hemos habilitado un número de Whatsapp para que cualquier persona que se pasee por el campus -laboral, estudiante o paseador de perros- pueda enviar una foto con la incidencia. Hace un mes detecté que un microondas no funcionaba, envié foto al Whatsapp y a la semana lo habían reemplazado. Genial!
Hemos mejorado mucho el compilador pasando de un formulario en papel a una simple foto, eliminando barreras de entrada y ampliando el canal -cualquier persona que pasee por el campus- a riesgo de colapsar el sistema y hacer entrar a los sindicatos en stack overflow. Y es que el código máquina sigue siendo el mismo: alguien recibe el mensaje y pone el marcha el mecanismo interno de gestión que tiene muy poca flexibilidad.
Y eso que estoy hablando de un proceso simple. Si entramos en la gestión de personal, la cosa se complica más. En la UPC y en muchas otras organizaciones universitarias el personal laboral no tiene demasiada libertad de movimientos, ni verticales ni horizontales. Si cuando entraste a trabajar caíste en el registro B y tras algunos años quieres irte al registro C, tu cerebro y la lógica programará algo tan simple como
MOV BL, CL (put the person in the C register in the B register)
pero el compilador fallará estrepitosamente.