StarterDailyArtículos

    Programar software no es “divertido”, es técnica y éticamente complejo

Escrito por Walter Vannini. Artículo originalmente publicado en Aeon, traducido por StarterDaily, y re-publicado bajo licencia Creative Commons. Aeon counter – do not remove

La programación computacional es pan comido. O es lo que los gurús digitales del mundo nos harían creer. Desde lo que promete la fundación sin fines de lucro Code.org de que “Cualquiera puede aprender”, hasta los comentarios de Tim Cook, CEO de Apple, sobre de que escribir código es “divertido e interactivo”; el arte y la ciencia de hacer software es ahora tan accesible como el alfabeto.

Desafortunadamente, este optimista retrato no guarda relación alguna con la realidad. Para empezar, el perfil de la mente de un programador es bastante poco frecuente. Además de ser altamente analíticos y creativos, los desarrolladores de software necesitan un enfoque casi sobrehumano para gestionar la complejidad de sus tareas. La obsesión a los detalles es trascendental y no ver estos detalles está prohibido. Alcanzar este nivel de concentración requiere un estado mental llamado “estar en el flujo”, una relación casi simbiótica entre el ser humano y la máquina que mejora el rendimiento y la motivación.

La programación no es el único trabajo que requiere un enfoque intenso. Pero nunca se oirá a alguien decir que la cirugía cerebral es “divertida”, o que la ingeniería estructural es “fácil”. Cuando se trata de programación, ¿Por qué los políticos y tecnólogos pretenden decir lo contrario? Por un lado, es porque ayuda a atraer gente al campo laboral en un momento en que el software (en palabras del capitalista de riesgo Marc Andreessen) se está “comiendo el mundo”, y por lo tanto, se busca tener más mano de obra. Otra razón es que la misma palabra “programación” suena rutinaria y repetitiva, como si hubiera algún tipo de truco que los desarrolladores aplicaran de memoria para resolver cualquier problema. Tampoco ayuda que Hollywood haya mostrado al “programador” como un hacker socialmente desafiado, uno que “tipea primero y piensa después”, inevitablemente de raza blanca y masculino, con el poder de frustrar a los nazis o penetrar en la CIA.

Insistir en el glamour y la diversión de la programación es la manera incorrecta de familiarizar a los niños con la informática. Es insultar su inteligencia y plantar la noción perjudicial en sus cabezas de que no se necesita disciplina para progresar, que cualquier persona con incluso un nivel mínimo puede hacer software. Detrás de un minuto de código escrito, hay una hora de estudio.

Es mejor admitir que la programación es complicada, técnica y éticamente. Los computadores, por el momento, sólo pueden ejecutar órdenes, con distintos grados de sofisticación. Por lo tanto, depende del desarrollador ser claro: la máquina hace lo que tú le dices, no lo que ésta quiere decir. Cada vez son más las “decisiones” que se le está dando al software, incluyendo las de vida o muerte: Piensa que los automóviles auto-dirigidos; Piensa en armas semi-autónomas; Piensa que Facebook y Google hacen inferencias sobre tu estado matrimonial, psicológico o físico, antes de venderlo al mejor postor. Sin embargo, rara vez es de interés para las empresas y los gobiernos animarnos a investigar qué está pasando bajo estos procesos.

Todos estos escenarios están construidos sobre bases exquisitamente técnicas. Pero no podemos responder a ellas respondiendo a cuestiones exclusivamente técnicas. La programación no es un detalle que se puede dejar a los “técnicos” bajo la falsa pretensión de que sus opciones serán “científicamente neutras”. Las sociedades son demasiado complejas: el algorítmo es político. La automatización ya ha dado un golpe a la seguridad laboral de trabajadores poco cualificados en fábricas y almacenes de todo el mundo. Los trabajadores de cuello blanco son los siguientes en la línea. Los gigantes digitales de hoy funcionan con una fracción de los empleados de los gigantes industriales del ayer, así que la ironía de animar a más gente a trabajar como programadores es que lentamente se estarán quedando sin trabajo.

En un mundo cada vez más intrincado y conectado, donde el software juega un papel cada vez más grande en la vida cotidiana, es irresponsable hablar de programación como una actividad ligera. El software no es simplemente líneas de código, tampoco es simplemente técnico. En pocos años, la comprensión de la programación será una parte indispensable de la ciudadanía activa. La idea de que la codificación ofrece una ruta sin problemas para el progreso social y la mejora personal, funciona en beneficio de la creciente tecno-plutocracia que se está aislando detrás de la propia tecnología.