En breve, voy a publicar en GitHub un proyecto en el que he ido trabajando desde hace un año y que da soporte a mi propia plataforma de publicación abierta (Hub de Libros). Se trata de un framework al que le he puesto el nombre de Mantra Framework, escrito en Node.js y que permite crear componentes altamente desacoplados para encarar proyectos grandes y que van a evolucionar mucho, tal y como describo con más detalle técnico en mi último libro (El Arte del Emprendedor Digital). Confío en basar en este framework muchos proyectos de aquí en adelante, al menos todos los basados en Node.
Tanto a un proyecto como al otro, le dedico todo el tiempo que puedo con la ayuda además de algunos colaboradores; en cualquier caso, analizando Mantra Framework, no me deja de sorprender la naturaleza de una actividad como es la programación, después de dedicarme a esto profesionalmente toda mi vida (en mis primeros escarceos tenía tan solo doce años).
Mi actividad profesional se reparte entre atender responsabilidades de desarrollo de negocio, tratar con clientes directamente, dirigir un equipo de desarrollo y también desarrollar y diseñar directamente proyectos como el anterior, además de todo lo relacionado con la publicación de mis libros (que, por el momento, son cinco técnicos y dos novelas).
Cualquiera que haya leído tan solo alguno de mis libros, sabrá que todo lo que hago está relacionado directamente con el desarrollo de software, más orientado a productos que a proyectos específicos y particulares para clientes, esto es, paso parte de mi tiempo programando, de ahí las siguientes reflexiones sobre el acto de programar y las sutilezas que esconde esta actividad y esta profesión.
Ciertamente, programar es una actividad poliédrica que se puede considerar sencilla, pero también puede ser muy compleja. Como suelo poner como ejemplo, no es lo mismo construir un chamizo que un rascacielos, como tampoco lo es construir algo pensando en que dure tan solo unas semanas a diferencia de que deba aguantar años. Y, sin embargo, paradójicamente, puedes tener éxito afrontado el software desde un lado y el otro, aunque el coste sea diferente, como veremos a continuación.
A menos que te lo propongas, cualquiera puede aprender en un videocurso de un fin de semana algunas nociones y…