Durante varias décadas, el desarrollo de software se podría considerar como la generación de conocimiento, de manera abstracta, que interpretado por una máquina, puede generar herramientas y aumentar capacidades de esta misma máquina, para poder resolver nuestros problemas.

Esta generación de conocimiento y su abstracción, no es nuevo, grandes mentes del pasado, desde hace siglos, desde que nosotros como especies animales que evolucionamos para generar sociedades complejas, lo han hecho, lo que ha cambiado, es qué es lo que generamos con nuestras manos o con nuestras mentes.

Hay diferencias tangibles entre un escritor, un pintor, u otro arte, si, esa práctica, y esa creatividad, crecen, y es donde un oficio se vuelve un arte, al dominar la maestría de lo que hacemos o generamos.

Claro está, no podemos compararnos con Rembrandt, Velázquez o Da Vinci, pero esos grandes nos pueden servir de inspiración, en amar lo que hacemos.

La materia con la que trabajamos los ingenieros de software no es la arcilla o los colores, ni el papel; nuestro principal lienzo es un editor de textos, un intérprete o compilador y una máquina. Muchos de nosotros no seremos grandes eruditos, pero si muchos de nosotros estamos concientes que estamos parados en hombros de gigantes, de aquellos pioneros de que crearon en la computación, una ciencia.

Trabajar y cultivar sobre nuestra artesanía para dominarla, nos genera placer. Es ese placer de yo hice esto, y que muchas veces, lo hice para mí, nos genera felicidad. Podríamos pasar días enteros sin dormir bien ni comer bien, por la pasión que nos genera lo que hacemos.

La Inteligencia Artificial, esta herramienta que acelera lo que hacemos; es un intermediario, es un asistente no humano, que fácilmente puedes indicarle en dibujame como si fuera una obra del estudio Ghibli, lo hará fácilmente, pero; ¿es ésta realmente una obra de Ghibli? ¿Es realmente tu obra?

Lo mismo pasa en la ingeniería de software, el asistente tal vez (o tal vez no, en lo personal a mi me pasa muchísimo por el área en la que estoy), puede generar software libre de errores evidentes, autodocumentado y con un estilo coherente, y tal vez funcione bien; pero, ¿realmente lo hiciste tu? ¿Realmente es tu obra?

Tal vez ese software generado con tus instrucciones resuelva el fuego que tengas que resolver en ese momento, y cambies la atención a resolver lo siguiente que sea más importante, pero justo ese producto generado, se devalua, pierde su valor, pierde vigencia. Peor aún, pierdes tu escencia.

¿Cómo puedes perder tu escencia? El trabajo lo hizo alguien más con tus instrucciones, cognitivamente hablando, empezarás a perder lo aprendido. Eventualmente después de varias iteraciones, ¿qué pasará cuando tengar que curar o mantener tu obra? (¡oh sorpresa! ya no es tu obra), puesto que ya no tienes idea de cómo fue hecha, no tienes idea de los primeros boscetos que instruiste para que lo hiciera alguien (o algo) más.

Cuando fui Gatekeeper en Globant, muchos candidatos me llegaron con que tenían conocimientos en algún lenguaje de programación. No me considero experto en ninguno; sin embargo, cuando el candidato me decía de su experiencia, siempre les ponía algun pequeño problema a resolver, y les daba el espacio para sentirse libres sobre cómo resolverlo, que incluso podían buscar la respuesta por internet. Varios candidatos usaron Cursor o Copilot o ChatGPT. Aunque la respuesta al problema era completamente válido, ninguno de ellos pudo responderme qué era lo que hacía su programa, y cómo podrían optimizarlo. Aqui es donde estamos perdiendo la maestría de dominar un oficio.

La ingeniería de software es un oficio, es un arte, y que requiere de maestría para dominar la artesanía; la ingeniería de software es humana, no es artificial. Podríamos apoyarnos de la Inteligencia Artifical para crear el Boceto, pero al dejarle todo, dejamos de ser nosotros.

P.D. Les comparto 2 escritos de otros, con quien simpatizo en opinión: