Victoriano se pregunta cómo influirá la IA en el performance de los ingenieros
01 nov 2023 . Actualizado a las 05:00 h.Si hay algo que he aprendido en mis años de informático emprendedor, es que los ingenieros 10x, existen y hacen la diferencia. Gente como Jeff Dean, John Carmack, Andrej Karpathy, George Hotz y muchos otros son capaces de crear código que va mucho más allá de lo que ningún CEO o product manager sería capaz de imaginar. Son los que inventan el motor de explosión cuando la mayoría de la gente esperaba poder añadir algunos caballos más a sus carros. Los verdaderos inventores.
Normalmente empiezan a programar muy jóvenes, como Mozart a tocar el piano. Son full-stack. Saben hasta de electrónica, podrían programar un sistema operativo o una base de datos desde 0 y a la vez crear un nuevo framework para el front mejor que React. Visualizan los algoritmos y estructuras de datos en su cabeza, a lo John Nash en una Mente Maravillosa. Pueden hacer cosas complejas porque conocen todas las piezas del puzzle. Se supone que un graduado en informática debería saber todo esto, pero es imposible asimilar tanto en sólo 4 años con una cabeza mediana. Por eso la mayoría dedicará su carrera profesional a hacer fontanería de las librerías que crea esta gente.
La sensación además que muchos tenemos, quizá ya de treintañero cebolleta, es que con cada generación hay menos de este tipo de programadores. Quizás porque las nuevas generaciones ya se han criado con ordenadores y móviles que no se rompen casi nunca, e irreparables. Además de tener mil formas más de entretenimiento que hacen que casi ninguno de ellos se llegue a aburrir tanto como para ponerse a aprender a programar un videojuego en ensamblador. Sin embargo el mundo necesita más que nunca desarrolladores 10x. Y aunque hay todo el dinero del mundo para pagarles, ¡casi nadie los encuentra!
Últimamente paso muchos fines de semana ensimismado programado cositas usando «Cursor.sh» o con «Github Copilot». Y no puedo parar de pensar si la programación asistida con IA nos va a multiplicar las capacidades a los programadores average un x10 o sólo un x1.3 o x2. O si los 10x se van a multiplicar por x100 o por x1000. Mi tesis ahora mismo es que el gap entre los 10x y los average actuales, se hará todavía más grande con la IA. Voy a tratar de explicarlo.
La primera cosa obvia que la IA ya soluciona muy bien, es ganar más flow programando sin tener que estar constantemente consultando la documentación de una librería o sintaxis del propio lenguaje. Cada vez desarrollamos más a hombros de gigantes, están casi todas las ruedas inventadas y la parte creativa (para software comercial básico) se limita a conectar piezas. Incluso con herramientas no-code ya se pueden hacer cosas que hace pocos años requerían meses y un puñado de programadores. Los CRUD ya empiezan a ser un commodity con cosas como Flutterflow. Creo que aquí muchos programadores 10x todavía cuentan con la ventaja de simplemente, tener más experiencia por haber echado más horas y más intuiciones de cómo trabajar con librerías a menudo mal documentadas. Así que en este respecto el gap con los average (respecto a productividad) puede que se haga más pequeño.
Pero para que te ayude a autocompletar código, antes tienes que tener claro qué quieres hacer, en un sentido más amplio. Y para tener claro qué quieres hacer, debes entender muy bien qué problema estás resolviendo. Incluso si tiene sentido resolver ese problema. Tienes hasta que predecir cómo pueda evolucionar el producto en los próximos meses o años, incluso mejor que la gente de negocio. Una arquitectura sólo es perfecta para unos requerimientos y unas restricciones de tiempo y dinero muy concretas.
En teoría una IA bien entrenada también va a poder recibir toda esta información como uno o muchos prompts y tener en cuenta un abanico infinito de tecnologías, patrones de diseño etc para proponerte una solución como boiler plate, o incluso perfectamente funcional iterando sobre sus propios errores y feedback humano de si es el resultado que esperabas o no. Yo he empezado a experimentar esto usando «Open Interpreter» desde el terminal, y es alucinante las cosas que llega a hacer como le dejes en modo automático.
Aunque si quieres crear algo nuevo de verdad, y en una economía cada vez más competitiva sólo lo diferencial puede ganar, igual una LLM (de momento) por sí sola, no es tan creativa y ganadora como un humano experto. De momento estas LLMs "sólo" se nutren de conocimiento existente y público en la web. No son agentes que está interactuando con el mundo exterior, experimentando, creando información nueva, sacando esa info tácita de otros humanos y con motivaciones intrínsecas de conseguir algo. Cuando eso empiece a pasar con las IAs, quién sabe cómo será el mundo…
En teoría, cualquiera va a poder preguntar y repreguntarle a una IA para aprender como si tuvieras un profesor particular que sabe de todo disponible 24/7, prácticamente gratis y mucho más eficiente que buscar en Google. Pero en última instancia, los humanos tenemos límites de cuánta preguntas y repreguntas podemos seguir haciendo sin agotarnos. Nuestra concentración tiene límites. Las TED talks cada vez duran menos. Saber hacer buenas preguntas, te permitirá en menos saltos llegar a la solución antes.
Creo que los programadores que sean capaces de tener mejores heurísticas (por mezcla de su IQ, curiosidad, conocimientos previos y paciencia…) ganarán la partida por goleada asistidos por IA a los que intenten llegar a la solución por “fuerza bruta” asistida por IA. En ese amplio espectro de gente diagnosticada como autista, a los que tienen ADHD, creo que hay diferentes tipos de programadores que brillan más o menos en unas tareas u otras por su capacidad de concentración vs creatividad. Y creo que los programadores 10x son esa rara avis con gran capacidad de concentración y a la vez creativa y curiosidad.
Aún así, los programadores average también deberían ser mucho más productivos de lo que lo son ahora, pero como se sigan auto limitando a seguir traduciendo requerimientos bien definidos en código, creo que acabarán llorando como ya les pasa a muchos traductores con los últimos modelos de IA. La IA nos debería super empoderar a todos. Nadie sabe qué va a pasar. Ojalá que sirva para crear una generación de desarrolladores dedicados a resolver problemas importantes de verdad, y no tanto para hacer que la gente haga más clicks en anuncios.
ESTA BONILISTA FUE POSIBLE GRACIAS A
Regístrate gratis en el webinar de «Charlas Que Importan», el espacio donde se habla sobre lo que realmente importa en RRHH
En Charlas Que Importan, la entrevistadora María José Sáez se da cita con diversos profesionales de Recursos Humanos para charlar sobre el éxito y expansión de sus empresas, y cómo consiguieron crecer y gestionar equipos tan diversos de la manera más eficiente.
Recopila ideas para que tu compañía crezca, y empieza a ahorrar tiempo y recursos en tus procesos de RR. HH. ¿Te lo vas a perder?
Este texto se publicó originalmente en la Bonilista, la lista de correo de noticias tecnológicas relevantes para personas importantes. Si desea suscribirse y leerlo antes que nadie, puede hacerlo aquí ¡es bastante gratis!