2006-2016 Una retrospectiva
Un artículo de Rafa G. Blanes
Puff..., casi siempre al comenzar el año el que más o el que menos hace una lista de buenos propósitos, de objetivos para los próximos doce meses. En cierta medida, yo lo también lo hago, pero sobre todo me gusta mirar un poco atrás y ser aún más consciente de dónde vengo (por eso de saber mejor hacia dónde voy).
Y desde luego, puedo decir que ni he tenido un trabajo rutinario desde que terminé la carrera ni que me he mantenido en el mismo tipo de rol. ¿Podría haber sido de otro modo? Pues ni idea, seguramente sí, ya que yo mismo he sido responsable de mis acciones y decisiones. ¿Quién si no?
Echo la vista atrás y ojalá los próximos diez años sean igual de intensos y productivos.
Me gusta Haruki Murakami y me le ha acompañado desde que cayó en mis manos casi por casualidad uno de sus libros allá por el noventa y pico.
A modo de resumen...
Terminé la titulación de Ingeniería Superior en Informática por el 2001, después de presentar un proyecto fin de carrera que me llevó casi un año. Se trataba de una aplicación hecha con Visual C++ y librerías MFC/ATL, para la creación de interfaces de usuario de un producto Scada que realizábamos por aquélla época en la compañía para la que trabajaba. Entonces pertenecía a lo que se denominaba el Grupo de Desarrollo de Software (nada original, por otro lado).
Fruto de este proyecto (que creo que sigue en producción en algún centro de operación ferroviario), fue este artículo que ya en su día publiqué en CodeProject y de título Improving ATL-ActiveX Serialization y mucho, muchísimo profiling y escribir código optimizado. Y ahora que lo pienso, ese artículo fue lo primero que me dio por publicar! Y por cierto, veo que tengo que actualizar la información con la que me registré en CodeProject, portal que sigue siendo para mí referencia hoy día.
Lo más interesante de aquéllo fue que en esa aplicación integré VBA (Visual Basic for Applications), toda una novedad en aquel momento, y también un gran reto técnico.
Acostumbrado a C++, todo el nuevo entorno de .NET framework junto con C#, creó una gran expectativa que abrazamos casi todos en el departamento desde el primer momento. De hecho aún conservo un libro que me regalaron en un evento sobre esa nueva tecnología y que creo que sería de lo primero que se publicó entonces.
Siempre he estado muy ligado a tecnologías de Microsoft, y también siempre me han parecido infantiles y no profesionales las comparaciones y dilemas un poco tontos y muy de nuestro sector entre esto o aquello. Toda tecnología tiene sus luces y sus sombras. Punto.
Sin embargo, desde hace unos años trabajo muy de cerca con Azure (la plataforma de cloud computing de Microsoft y de enorme crecimiento) y sigo con detalle todos los movimientos de esa compañía hacia una visión más "open" del software. De hecho, no en vano, .NET Core y la liberación de algunos productos tradicionales de Microsoft para su funcionamiento en Linux (como Sql Server, nada más y nada menos) es una muestra más de esa mayor amplitud de miras. Y no digo Azure por capricho, es que tengo clientes que funcionan desde esa plataforma con un éxito rotundo.
En 2006 ya estaba trabajando en Suecia en un proyecto de muchos millones de euros; mejor dicho, el proyecto tenía un montante de cien millones de euros pero la parte software, aunque, residual, era crítica: sin ese pilar, todo el proyecto se caía y las penalizaciones económicas por parte del cliente podían poner en riesgo la viabilidad misma del proyecto. Había mucha presión, teníamos que trabajar con prisas, cumpliendo hitos literalmente con la lengua fuera, además de toda la presión de los cambios que supone trasladarte con tu familia a un país muy diferente a España.
Pero aprendí, y muchísimo; fue para mí, a pesar de las crisis que viví junto con mis compañeros, una de las etapas más fértiles de ese periodo. Recuerdo alguna noche entera realizando una actualización de uno de los sistemas en los que se basaba el proyecto.
No había metodología, sólo tirar hacia delante del modo que fuese. Curiosamente, todos mis compañeros que entonces participábamos en ese proyecto para una compañía eléctrica sueca (Vattenfall), ya no están en la misma empresa, incluido yo mismo. Todos fuimos saliendo poco a poco encontrando (o buscando) mejores oportunidades laborales y profesionales.
De aquel proyecto me quedó muy claro la extraordinaria importancia de mantener una mínima metodología y orden en los desarrollos (abajo no había orden porque en el nivel ejecutivo ni lo había ni se fomentaba). Y también de la enorme importancia de un diseño pulcro y eficiente de la base de datos, ya que la aplicación era muy data-centric. La base de datos crecía a razón de millones de registros a diario, de modo que continuamente nos encontrábamos con nuevos cuellos de botella (tanto a nivel de software como de hardware). Todo un reto que finalmente pudimos estabilizar (nos llevó más de un año).
Después volví a España y comencé a interesarme por todo lo ágil y clean-code. Fue una época de lecturas frenéticas de toda la literatura relacionada que encontraba interesante (los libros, cómo no, de Martin Fowler, Robert C. Martin, etc.) y poco a poco fui confirmando ciertas intuiciones acerca de los pilares con los que construir buen software.
Y como consecuencia natural, muy pronto comencé a darme cuenta de que no todo el mundo entendía igual el concepto de buen software, y que apenas se le prestaba atención a asuntos tan importantes como la organización de un equipo de trabajo, las dinámicas de grupo, la ausencia del concepto de jefe o gestor como aquel que facilita el trabajo de los demás, etc., cuyo resultado termina generando un producto bueno o malísimo.
Continuaba escribiendo software de un modo u otro, a veces con buenas condiciones y casi siempre en muy malas condiciones (exceso de reuniones impuestas, tareas no planificadas para hoy, etc.).
Entre 2008 y 2009 hice mi primera tentativa emprendedora. Y fue un total fracaso, pero me permitió meterme de lleno en Drupal. La idea era buena, pero somo se suele decir, la ejecución lo es todo. Por aquélla época comencé a leer mucho sobre emprendimiento e intraemprendimiento. Siempre digo que dejé esa compañía en la que mantenía un contrato fijo y con buen sueldo porque ya llevaba años preparándome mentalmente para probar otro tipo de cosas. Y es que nos centramos demasiado en la acción, pero se nos olvida una verdad trascendental: no es el hacer sino el ser (lo que somos) lo que provoca cambios verdaderos. Bueno, que enrollo en temas de desarrollo personal...
Entre pequeños proyectos de I+D y el mantenimiento del sistema que montamos en Suecia, tenía tiempo de comenzar a interesarme por otras tecnologías fuera del ecosistema de Microsoft. Comencé a hacer mis primeros proyectos web y a leer todo lo que podía sobre Drupal. Y, por supuesto, abracé NodeJS desde el primer momento. Entre otras cosas.
Tanto fue mi entusiasmo por Drupal que terminé participando como ponente en dos sesiones (esta y esta otra) en la Drupalcamp de 2011 en mi ciudad. Descubrí ese ecosistema y una comunidad muy implicada y estimulante.
Comencé a hacerme cargo de la gestión de equipos de trabajo sobre el 2009. Y no tenía ni idea de qué iba aquello, así que leí muchísimo al respecto y lo intenté hacer lo mejor posible.
La empresa para la que trabajaba entonces (la ingeniería Telvent Energía, ahora propiedad de Schneider Electric), no se puede decir que fuese una de esas cárnicas, pero lógicamente, la presión de sacar proyectos era alta. Como en todo, hay momentos buenos y malos, pero todo lo que quiero recordar de aquel periodo (trabajé en esa compañía desde el 2000 hasta el 2012) es bueno y hasta excepcional, y considero que no todo el mundo tiene la suerte de caer en una empresa y tener las experiencias nacionales e internacionales como tuve en Telvent, asistiendo a eventos importantes, etc. Viajé varias veces a USA (estuve en semana asistiendo a TAP program de Microsoft en Seattle, toda una experiencia viendo, oyendo y hablando con auténticos gurús, de los de verdad), así como viajes a diferentes ciudades de Suecia, Holanda, Eslovenia, etc. y hasta una semana en Beirut.
Pero el ciclo se fue acabando y comencé a interesarme por otras cosas y otras posibilidades laborales. Digamos que dejé de verme en un futuro lejano trabajando para la misma compañía.