IA killed with developer star

Últimamente no hago más que encontrarme con contenido relativo al impacto que las IAs van a tener sobre la actividad del desarrollador de software, en su término más amplio. El espectro de opiniones, la ventana de Overton del tema, es amplio, muy amplio.

Va desde quienes auguran una revolución tal que dejerá obsoleto a cualquiera, no ya que quiera empezar a programar, sino también, y especialmente, a quienes lleven ya unos añitos en esto de decirle a una computadora lo que tiene que hacer, y mantenerla (y mantenerse) cuerda y coherente con el paso del tiempo; hasta quienes no ven en esto nada más que una carrera ficticia de ratas hacia un botín inventado detrás de cuyo telón, cual mago de Oz, no hay nada.

Habrá que esperar para ver qué ocurre, aunque para entonces tal vez ya sea tarde, y no nos quede otra que brindar con una taza de cafe humeante mientras el tsunami nos arrastra. O no.

A mí todo esto me suena bastante a otras películas como "con Hibernate ya no hace falta aprender SQL", o "con Struts vamos a hacer aplicaciones web como churros". Tal vez aquellas pelis fueran mudas y en blanco y negro, y la IA se nos presenta en IMAX, 3D y dolby surround, pero resuenan bastante. Yo no sé si Hibernate, JPA, Struts, Springboot, o cualquier otro framework o librería siguen aquí por lo que prometían o no; lo que sí sé es que SQL hay que seguir sabiendo, y los churros de Struts o Springboot pueden ser parecidos por fuera, pero la chicha por la que se hacen aplicaciones no es porque sean "baratas", sino porque modelan un proceso, dan soporte a un negocio y, ante todo, evolucionan con el mismo. Por mil motivos, pero evolucionan. Lo desarrollado hoy, no sirve exactamente igual para mañana. Y lo que necesitas seguro mañana, no te quita la posibilidad de empezar sin ello hoy (MVP), y ya harás mañana lo que necesites mañana. Que igual ni lo necesitas al final, y te lo ahorras.

Pero no es nada de esto lo que me (pre)ocupa al escribir este post. Porque el desarrollo evoluciona, como todo lo demás. Se encuentran más y mejores maneras de hacer las cosas, de gestionar las dependencias, de aislar tu preciada lógica de negocio de todos esos proveedores que pretenden atarte para siempre y de los que siempre tratas de zafarte (vendor locking), y todas esas más y mejores maneras evolucionan tanto el quién como el cómo. El desarrollo lleva cambiando años, décadas. No, lo (pre)ocupante de todo esto de la IA no está en el impacto en el desarrollo (que también), eso lleva cambiando desde siempre.

Lo que está cambiando es el desarrollador. Ahí sí se está gestando un cambio realmente interesante y, si me apuras, aterrador.

Porque el desarrollador se hace. Nace, con una serie de habilidades básicas, que no sabe exactamente ni dónde aplicar, ni cómo, y se desarrolla, a base de hostias, en sucesivos proyectos donde o crece o desaparece. La vida real en un entorno de desarrollo real sirve para ponerlo en su sitio, asimilar que no tiene ni puta idea y, como quien se sacó el carné de circular, ahora tiene que aprender a conducir. Porque sí, circular por una carretera de único sentido y límites de velocidad es fácil; lo complicado es abrir brecha en la jungla con un todoterreno y un machete, o abrirse paso por el medio de un atasco en una ciudad en la que no sabes muy bien cómo acabaste, pero ahí estás.

Y en medio de toda esa vorágine, de entregas fallidas, bugs a medianoche y gritos de tu jefe, nacía aquello que te hacía volver a ponerte delante del ordenador al día siguiente. Sí, ver a otros igual que tú, hacer equipo, el hoy por ti y mañana por mí, intentar hacer más liviano el camino para quienes vinieran detrás. La empatía. El enemigo común. El lamerse las heridas de la batalla que el resto compartió a tu lado.

El compartir.

Como esa librería que te ahorra cientos de horas de trabajo que alguien ya hizo y compartió. Como esa receta de cocina que alguien puso online con la idea de que alguien la probase, la mejorase, la llevase al siguiente nivel, o la mezclase con otra. Compartir código, ideas, maneras de hacer, patrones de diseño, experiencias y malas prácticas. Todo eso fluía entre las tropas como un escudo que evitaría riesgos futuros. Y se aprendía. Se aprendía en grupo, de quienes más avispados eran, hasta que se iban, y de quienes menos lo eran, para no repetirlo, hasta que te ibas. En cada cambio de equipo siempre había una oportunidad. De llevar tu bagaje a quienes conocías de nuevas, y a capturar lo mejor del suyo para ti. Y así ibas tirando. Con el espíritu de tener controlado al verdadero enemigo común: tu jefe.

Esto, con la venida de los congresos, quedadas, summits y conferencias, fue aún más allá. Nunca he visto a más gente con ganas de colaborar, contarse sus cosas, explorar lo del resto, que te revisen lo tuyo, que en una concentración de developers. Ya sean en formato katayuno [https://katayunos.com/], o merendojo, se habrían cientos de posibilidades de compartir experiencias, más allá del ámbito de tu jefe. Ya no se trataba de librarte de él, se trataba de no tener que temer a ningún jefe nunca más. Porque estabas más allá de los límites del proyecto de turno. Ahora sabías desarrollar, aplicando en tus manos el resultante de cientos de miles de horas de vuelo que se compartían por el mero de hecho de ser útiles a los demás (bueno, ejem...).

Y con la IA, no veo tanto esto.

Será que ya no hay katayunos, será que las conferencias no van de eso (aún?). Pero veo a mucha más gente vendiendo palas (vendiéndote SU solución para ganar tanto dinero), que compartiendo verdaderas experiencias.

Será que aún no estamos en la cresta de la ola. Será que el producto no está maduro para su uso masivo (no lo está), será que aún no nos estamos preocupando de atarnos al proveedor de IA (que también busca su vendor locking). Será que nos han puesto a correr detrás de una realidad inventada a la que nadie quiere llegar tarde. Y en ese no querer llegar tarde, nadie se está parando a prenguntarse si deberíamos correr, en primer lugar.

La diferencia, está, supongo, entre otras cosas, en que Hibernate o Springboot eran de un nicho, el javero, del de que los pythoneros o phperos pasaban (y viceversa), y esta vez nos han pillado por las gónadas a todos/as/es sin excepción.

- A correr! - gritó alguien, y nadie se paró a pensar. Simplemente, salimos corriendo.- Te vas a quedar atrás, nos van a despedir a miles! - espetaron otros, y nadie se acordó ya de que detrás de muchos de esos compañeros, sin embargo había amigos.

Y ahí murió el/la/le developer. Quien compartía, quien buscaba la crítica constructiva de lo aprendido y aplicado. IA killed with developer star.

Quiero pensar que somos víctimas de nuestras circunstancias. De verle las orejas al lobo tras años de bonanza, de que está bajando la marea y nadie quiere ver que no lleva bañador. Y ante eso, corre, por si acaso, pero corre.

La IA no nos reemplazará. Lo haremos nosotros/as/es. O eso pretenden, sin saberlo, quienes más están corriendo. Llegar el primero, por si no hay espacio para todos. La IA no nos reemplazará, sólo recortará el número de quienes podamos vivir de esto, o eso prevén quienes no paran de correr. Sin entender, tal vez, que hay guerras que no se pueden ganar, no corriendo al menos, que hay juegos en los que la única manera de ganar es no jugar. Pero creo que ya es tarde para eso. Porque alguien ya decidió y consiguió ponernos a correr. Y con eso se rompió aquello nos trajo hasta aquí. Volveremos a ver compañeros caer al grito del jefe, y seguiremos mirando nuestra pantalla porque eso lo que hará que no nos caiga a nosotros. Perdiendo en el camino aquello que evitaba que luego te cayera a ti. Perdiendo en el camino esa mano que hoy das, y mañana te vendrá de vuelta multiplicada por 100.

Y no tengo mayor sensación de desasosiego que por eso. Porque siempre tuvimos el control de la situación. Hasta que nos pusieron a correr.

P.D: Y quienes más corran seguirán corriendo, cobrando lo mismo. Con el cuádruple de productividad y estrés. La banca siempre gana.