La tecnología es un medio, no un fin
El software es tan sólo un medio para resolver problemas. El consejo de John Carmack a los ingenieros para no ser desintermediados por ChatGPT: aprende a hacer producto.
John Carmack es una leyenda entre los ingenieros de software. Confundador de id Software en los 90 junto con John Romero, fueron los responsables de revolucionar el sector del gaming de la época desarrollando el considerado primer first person shooter de la historia, Wolfestein 3D. Después lanzarían Doom, Quake, y el resto es historia.
Carmack es un genio de la programación a bajo nivel. No de otra manera hubieran podido desarrollar videojuegos en 3D en una época donde las limitaciones físicas del hardware disponible eran la principal barrera a la que se tenían que enfrentar los desarrolladores.
Innovaciones en el renderizado 3D, mapeado de texturas o ray casting llevan su nombre. Si alguna vez ha existido un programador 10x, podríamos decir sin duda que Carmack es uno de ellos.
ChatGPT y la comoditización del código
La semana pasada, el propio Carmack hacía público en su cuenta de Twitter un mensaje que le había enviado otro programador, preocupado por el impacto de tecnologías como ChatGPT en la profesión:
Podríamos resumir el consejo de Carmack en:
“Céntrate en desarrollar tus habilidades de producto. Hoy puedes estar programando, pero mañana podrías estar guiando a una IA. Mientras entiendas que el software es sólo una herramienta para entregar valor, te irá bien.“
La tecnología es un medio, no un fin
Es difícil estar en desacuerdo con Carmack. He hablado en estas páginas sobre los peligros de la sobre ingeniería y la importancia de entender que la tecnología sólo es un medio para conseguir un fin, y no un fin en sí mismo.
Podemos tener el stack tecnológico más avanzado del planeta, que, si no lo utilizamos para resolver un problema que tenga un ser humano, por el que además esté dispuesto a pagar, nuestro futuro será la quiebra o el desempleo.
La historia nos ha dejado buenos ejemplos de ello, como las Google Glass o el Segway. A ninguno de los dos productos se les puede echar en cara la falta de tecnología, revolucionaría en ambos casos para su época. Simplemente fallaron en lo más elemental, solucionar un problema por el que alguien estuviera dispuesto a pagar.
En lado opuesto tenemos productos de éxito abrumador desarrollados sobre tecnologías que la mayoría de los ingenieros desprecian, como podría ser PHP. Y, sin embargo, Facebook, Wikipedia o Wordpress se escribieron en el denostado lenguaje de programación. El secreto de su éxito no está en la tecnología, si no en que resolvían un problema real que a la gente le importaba solucionar.
Es por esto por lo que, al desarrollador que ejercite el músculo del producto, salga de su zona de confort a hablar con usuarios, empatice, entienda sus necesidades, y desarrolle la solución más sencilla posible, nunca le faltará trabajo pese a muchos avances en inteligencia artificial que nos depare el futuro.
En cambio, para aquellos que piensen que su trabajo se limita a programar historias de usuario que alguien deja perfectamente detalladas en algún panel de Jira, o que disfrutan sobre complicando una solución para probar la última tecnología del momento, tengo malas noticias. Su trabajo corre serio riesgo de ser automatizado.
¿Y los Product Managers?
Los Product Managers no van a ser inmunes a la comoditización de ciertas de sus funciones. Tareas como la definición de requisitos, análisis de datos o seguimiento de métricas serán fácilmente automatizables.
Por el contrario, las tareas de discovery, conocimiento profundo del mercado y los usuarios, empatía, creatividad, colaboración con otros interesados y liderazgo de equipos, son difícilmente replicables. Por el momento, si tus tareas se encuentran en las de este segundo grupo, estás a salvo.
SIn embargo, los Product Managers tampoco son inmunes a caer en las redes del último ciclo de hype del momento. Y es que todos somos víctimas potenciales de caer en el sesgo del martillo de Maslow y querer resolver cualquier problema aplicando la tecnología de moda del momento.
Que se lo digan a todos los PMs que se subieron al carro de la web3 y trataron de tokenizar en la blockchain sus productos pese a que esto no ayudara en absoluto a resolver un problema real.
Concluyendo
A modo de resumen:
La tecnología es un medio, no un fin en sí mismo. Por muy avanzada que sea, si no resuelve un problema real por el que la gente esté dispuesta a pagar, fracasará.
Es necesario entender los problemas de los usuarios y cómo resolverlos. Las habilidades de producto son fundamentales en un ingeniero de software.
Aquellos que quieran quedarse al margen del producto y sólo programar, corren serio riesgo de ser reemplazados por herramientas como ChatGPT.
La mejor tecnología no crea un producto de éxito. La peor tecnología puede hacerlo si resuelve el problema adecuado.
Los Product Managers también pueden ser presa de la sobre ingeniería y harían bien en centrarse centrarse en comprender el mercado y los usuarios antes que en buscar cómo encajar la última tecnología de moda en su producto.
¡Hasta el próximo domingo!