Henri Poincaré es considerado el último matemático universal. La última persona capaz de comprender todas las matemáticas de su tiempo. Después de su fallecimiento, en 1912, la disciplina creció demasiado como para poder dominarla por completo, incluso dedicando toda una vida a su estudio. Los matemáticos debían especializarse.
En Computación, la generación de los que nacimos entre 1970 y 1980 fue la última antes de alcanzar el Punto Poincaré. Los últimos en tener la capacidad de conocer y dominar toda la tecnología informática de nuestra época. Los últimos en vivir la llegada de la microinformática a las casas. Los últimos en conocer un mundo desconectado y sin nube. Los últimos en trabajar con monitores de fósforo verde y usar cabinas de teléfono. Cuando el último de nosotros muera, todos esos momentos se perderán en el tiempo, como lágrimas en la lluvia. El mundo cambiará.
En realidad, ha cambiado ya. Porque hace tiempo que alcanzamos el Punto Poincaré, otra cosa es que estemos dispuestos a admitirlo o a actuar en consecuencia.
Los hechos son los ladrillos con los que se construye la ciencia, pero una simple colección de hechos no es ciencia. Igual que un montón de ladrillos no es una casa.— Henri Poincaré
Las nuevas generaciones conocerán los fundamentos de la profesión no porque los hayan experimentado sino por estudiarlos como hechos históricos. Y, probablemente, nadie poseerá los conocimientos necesarios para programar desde cero y administrar con calidad comercial todos los componentes de una aplicación informática.
La deriva de la industria ya nos está arrastrando a ese futuro más o menos cercano ¿O acaso hay alguien que sea capaz de gestionar una infraestructura en la nube, administrar una base de datos, configurar los procesos de «DevOps», desarrollar backend y frontend al mismo tiempo que diseña la interfaz y experiencia de usuario, con la calidad que demanda el mercado?
Cada vez aparecen menos one-person armies y las que surgen suelen sustentarse en «IaaS», plataformas de low code o assets prefabricados que suplen las carencias técnicas de sus fundadores.
Sin embargo, la profesión parece obstinarse en ignorar esas señales. Una vez rebasado el Punto Poincaré ¿tiene sentido que sigamos buscando Full-Stack Developers? ¿Tiene sentido ofertar un grado de Ingeniería Informática con apenas un 7,5 % de créditos del plan de estudios dedicados a la especialización?
Igual que un matemático puede aplicar una ecuación sin conocer el desarrollo que ha permitido descubrirla y demostrarla, las generaciones post-Poincaré trabajaran con tecnologías no ya sin saber cómo han sido implementadas, sino ignorando los fundamentos informáticos en los que se basan. Desarrollar con «Node» sin tener ni idea de cómo gestiona el sistema operativo los hilos de ejecución; o tirar de IA para completar su código desconociendo la lógica detrás de un transformer. Seguirá habiendo generalistas, pero no universalistas, si es que queda alguno ya.
Porque, precisamente, los que más podemos sufrir con ese cambio de paradigma somos esa generación bisagra que conoció un mundo que ya no existe. Los que debemos asumir que no sabremos cómo funcionan alguna de las tecnologías que usaremos y eso no nos hará peores técnicos.
Lo que sí puede hacernos peores técnicos es que, en ese proceso de abstracción para ocultar problemas ya resueltos y permitir que nos centremos en solucionar otros, expongamos más complejidad que la que se supone que queremos encapsular. Por ejemplo, los elefantiásicos frameworks que actualmente dominan el desarrollo web. O las enmarañadas arquitecturas de contenedores para desplegar aplicaciones.
La mayoría reaccionamos a esta tendencia intentando «volver a los orígenes». Optando por tecnologías más sencillas, que disipen toda esa abstracción y nos den un mayor control sobre cómo interactúa nuestro código con la máquina donde se ejecuta. Pero en esa búsqueda de la sencillez, no debemos caer en el rechazo a cualquier tecnología que nos obligue a aceptar que la Informática ha cambiado... y nuestro rol también.
¿Desestimamos el uso de la Inteligencia Artificial por el simple hecho de no comprender exactamente cómo funciona o porque nos obliga a aceptar que una máquina puede hacer algunas tareas intelectuales más eficientemente que nosotros? ¿No consideramos el uso de una plataforma No-Code, para desarrollar una aplicación sencilla, por sus limitaciones o porque permite que cualquiera pueda hacer un trabajo que creíamos reservado exclusivamente para nosotros?
Quizás, ahí esté nuestro sitio. Ayudar a las nuevas generaciones a no «reinventar la rueda» y señalar cuando esa abstracción, en vez de simplificar la resolución de problemas más complejos, está creando otros nuevos.
Quizás, en vez de lamentarnos por un pasado que nunca volverá, deberíamos alegrarnos por haber tenido la oportunidad de meter una cinta de casete en nuestro Amstrad CPC464 y —después de 5 minutos de carga— ver por primera vez las pantallas de «La Abadía del Crimen»; de haber roto el silencio de la noche con el soniquete de un módem telefónico de 56k; de haber flipado en directo con el «one more thing» de Steve Jobs presentando el iPhone o la primera vez que editamos un documento de forma colaborativa en Google Docs. Alegrarnos, transmitir nuestro legado a los que vengan más tarde y... dejarlo atrás.
Por incomodo que resulte, debemos decidir si preferimos vivir en el pasado o formar parte del presente, para contribuir con nuestra experiencia a construir el futuro de nuestra profesión.
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!