En
una
era
donde
la
inteligencia
artificial
(IA)
promete
optimizar
hasta
el
más
mínimo
rincón
del
trabajo
humano,
el
mundo
del
desarrollo
de
software
se
encuentra
en
una
encrucijada.
Por
un
lado,
las
herramientas
de
programación
mediante
IA
generativa
como
Copilot
o
Cursor
facilitan
la
vida
de
los
programadores,
ya
sea
produciendo
fragmentos
de
código,
o
generando
aplicaciones
completas
sin
tocar
código,
siguiendo
la
estela
del
cada
vez
más
popular ‘vibe
coding’.
Por
otro,
cada
vez
hay
más
programadores
que
desean
dejar
claro
que
hay
que
ponerle
límites
a
la
IA
y
reivindicar
el
arte
de
programar.
Oficio
frente
a
automatización
Christian
Ekrem
relata
en
su
blog
cómo,
durante
una
conversación
informal
con
otros
programadores,
tuvo
que
explicar
que
para
él,
la
IA
está
para
automatizar
las
partes
aburridas…
pero,
que
en
su
caso
(y
al
contrario
que
para
muchos
compañeros
de
profesión),
no
considera
que
escribir
código
sea
una
de
esas
partes.
Es
más:
programar
es
la
parte
que
más
disfruta,
la
que
considera
su
oficio,
y
en
la
que
considera
que
debe
ejercitarse
constantemente.
Una
postura
que
contrasta
con
la
de
muchos
líderes
de
la
industria
tecnológica,
a
los
que
parece
faltarles
ya
tiempo
para
declarar
muerta
y
enterrada
a
la
necesidad
de
aprender
a
programar.
Ekrem
deja
claro
que
no
se
trata
de
una
postura
de
rechazo
a
la
IA,
sino
de
no
usarla
por
reflejo
o
por
hábito…
porque
ese
automatismo
puede
llevarnos
a
delegar
no
solo
tareas,
sino
también
la
creatividad
y
la
capacidad
de
comprender.
El
valor
del
esfuerzo
cognitivo
Y
es
que,
cuando
la
IA
se
interpone
en
ese
proceso
de
programar
—al
ofrecer
una
solución
inmediata—,
nos
priva
de
una
parte
vital
del
aprendizaje.
Claro
que
puede
darnos
el
código
correcto,
pero
no
nos
da
la
capacidad
de
resolver
el
siguiente
problema
por
nosotros
mismos:
«Hay
algo
insustituible
en
el
proceso
de
enfrentarse
con
un
problema
difícil.
Ese
momento
en
que
estás
completamente
atascado
y
aprietas
los
dientes,
frustrado;
te
alejas
del
ordenador
y
das
un
paseo;
rezas
/
lloras
por
dentro;
vuelves
y
pruebas
con
un
enfoque
diferente;
y
repites
el
proceso
hasta
que,
de
repente,
hace
clic».
«Ese ‘¡Ajá!’
es
el
momento
vuelve
a
cablear
tu
cerebro
[…]
el
equivalente
de
codificación
de
la
memoria
muscular,
y
es
cómo
crecemos
como
ingenieros.
Cuando
externalizamos
esta
lucha
a
la
IA,
nos
robamos
estas
oportunidades
de
crecimiento.
Obtenemos
soluciones
sin
comprender».

¿Colaborar
o
rendirse?
Ekrem
propone
un
término
clave:
colaboración
intencional.
La
IA,
dice,
es
útil.
Pero
debe
ser
usada
con
conciencia,
no
por
defecto.
Se
puede
(y
se
debe)
utilizar
para
tareas
como:
-
Generar
código
repetitivo
(boilerplate). -
Resumir
documentación. -
Ayudar
a
depurar
mensajes
de
errores
complicados. -
Generar
pruebas
unitarias. -
Explicar
conceptos
difíciles.
Pero
aspectos
como
el
diseño
de
sistemas,
la
arquitectura
o
la
toma
de
decisiones
complejas…
no
son,
desde
su
punto
de
vista,
algo
que
deba
automatizarse.
Volver
al «viejo
gimnasio»
Este
programador
compara
su
postura
con
un
momento
de
la
película
Rocky
III,
en
la
que
el
entrenador
del
boxeador
protagonista
le
dice:
«Te
has
civilizado.
Hay
que
volver
al
viejo
gimnasio».
Ese «viejo
gimnasio»
simboliza
el
espacio
donde
el
trabajo
duro
y
la
repetición
forjan
el
carácter
y
la
verdadera
habilidad.
En
el
campo
de
programación,
su
equivalente
pasa
por
renunciar
a
resolver ‘en
segundos’
cada
error,
y
preferir
intentarlo
una
y
otra
vez
hasta
que
terminas
entendiendo
el
código
que
estás
leyendo.
Sin
ese
proceso,
el
desarrollador
corre
el
riesgo
de
convertirse
en
un
simple
operador
de
herramientas
inteligentes.
Precisamente,
para
evitar
esa
tentación,
nuestro
protagonista
recientemente
decidió
volver
a
codificar
en
Vim,
un
histórico
editor
de
texto
sin
interfaz
gráfica,
como
protesta
–o
como
declaración
de
principios–
contra
el
uso
indiscriminado
de
la
IA
en
la
programación.
Un
plan
de
entrenamiento
¿Qué
implica ‘volver
al
viejo
gimnasio’
en
la
práctica?
Este
programador
lo
explica
como
un
estilo
de
vida
técnico:
-
Definir
límites
claros
para
la
IA:
Usarla
solo
para
tareas
auxiliares. -
Programar
manualmente
a
diario:
Resolver
problemas
desde
cero. -
Comprender
a
fondo
lo
que
se
utiliza:
No
copiar-pegar,
sino
estudiar
y
refactorizar. -
Abrazar
el
estancamiento:
Darle
espacio
a
la
frustración
para
que
pueda
florecer
el
entendimiento. -
Dominar
los
fundamentos:
Algoritmos,
estructuras
de
datos,
patrones
de
diseño.
Imágenes
|
Marcos
Merino
mediante
IA
En
Genbeta
|
Estas
plataformas
prometían
programar
de
todo
sin
conocimientos
técnicos.
La
IA
les
adelantó
por
la
derecha