viernes, 27 de septiembre de 2019

Nuevo comienzo



El pasado viernes ha sido el último dia de trabajo en mi empresa de toda la vida. Mi sueño durante 28 años. Virtual Software



Es un paso que hace un tiempo ni se habia pasado por mi cabeza. Siempre que, en cualquier reunión, alguien me preguntaba en que trabajaba, mi respuesta orgullosa era la misma: «tengo una empresa de desarrollo de software». Era mi empresa.

Pero hace unos años las cosas empezaron a cambiar. O yo empecé a cambiar. Nunca se sabe. Lo cierto es que por una parte la visión de cómo debía ser el futuro de la empresa empezó a diferir y por otra tampoco estaba muy de acuerdo con la dinámica de los equipos de desarrollo. Como ya comenté en su momento, el Spring IO de 2012 supuso un cambio de mentalidad completo para mi, tanto en el aspecto técnico de desarrollo -Grails- como en la forma de abordar los proyectos y la interacción en los equipos -Agile-

Como casi siempre, los cambios desembocan en tensiones. Y en este caso las tensiones fueron creciendo hasta que llegó un momento en que no me mereció la pena y preferí dejar de luchar. Error. Siendo mi empresa cada día me sentía frustrado por no haber sido capaz de hacer ver cual era, en mi opinion, el camino a seguir.

Tal vez, por supuesto, mi camino no era el bueno. Y tal vez el mejor camino para la empresa tampoco era el mio. Pero lo que si está claro es que cada uno debe seguir el camino en el que cree y en mi caso el agachar la cabeza y seguir la corriente en la empresa que había fundado ha sido algo que me afectó mucho mas de lo que jamás hubiera pensado. A todo esto, se unió el cansancio por llevar tantos años (¡28 años!) haciendo prácticamente lo mismo. El mismo tipo de aplicaciones. De clientes. Las mismas rejillas. La misma forma de hacer las cosas.

No me malinterpretes: Por supuesto que Virtual ha avanzado mientras yo, tal vez injustamente, me quejaba. Cambiamos de Oracle a Postgres. Pasamos de nuestro framework propietario a Grails 2 y luego 3. Instalamos aplicaciones en AWS. Pero no era suficiente para lo que yo sentia que mi empresa y yo necesitábamos. Yo quería integrar en proyectos reales algunos de los experimentos que hacía en mi tiempo libre o tecnologías que pensaba podían ser útiles: Docker, RabbitMQ, búsquedas léxicas en lugar de rejillas, funciones Lambda, integración con más servicios de AWS, Micronaut, AngularJS, React o Vue. Soy de los de, como cantaba el gran Neil Young. «It's better to burn out than to fade away»

Todos estos cambios, si sabes de lo que hablo, suponen un cambio de mentalidad a la hora de diseñar nuevas aplicaciones. No se trata simplemente de cambiar una librería por otra, sino de pensar de forma radicalmente diferente y no conseguí que hubiera el interés suficiente para afrontar estos cambios. Sin duda también esto ha sido culpa mia, por no haber sabido gestionar, motivar e ilusionar. O, como decía arriba, tal vez los clientes de una empresa como la nuestra no necesiten esa tecnología.

Sea como sea, a través de Manfred surgió durante mis vacaciones una oportunidad que creí no podía rechazar. Se trataba de ir a una startup relacionada con temas de inversión sostenible. Con tecnologías con las que no he trabajado pero a las que sé que puedo adaptarme en un plazo corto de tiempo. A trabajar sólamente en la parte back, moviendo datos (muchos, muchísimos datos, eso si).

Hice la prueba técnica sin muchas expectativas (maldito síndrome del impostor) pero parece que les gustó. Pasé un par de entrevistas personales más y finalmente me encontré con una oferta. Tenía que decidir y ... elegí el cambio. El tiempo dirá si he elegido bien o ha sido la mayor cagada de mi vida.

Me voy a una empresa con mentalidad joven donde probablemente yo sea uno de los abueletes: Clarity. Hay dentro incluso gente que conozco y admiro. Estoy realmente ilusionado y con muchas ganas de empezar esta nueva vida. Porque como tal me lo tomo.

Paso de una vida de hombre orquesta a centrarme en el backend de una plataforma compleja y con posibilidades de cambiar (o intentar meter) Groovy por Kotlin (hace tiempo que tenía ganas de ponerme a ello) y avanzar en Java puro (la experiencia que tengo de funcionalidades de Java >6 vienen en su mayoría por las habilidades de programación funcional de Groovy) . Paso de la responsabilidad de tener que lidiar con toda la infraestructura y tener que estar atento y probar toda tecnología nueva que apareciera en el radar a la responsabilidad -no menor- de hacer que las cosas funcionen, aunque no sea mia la empresa. Algunas veces alguien ha comentado «claro, echas tantas horas porque es tu empresa», y yo siempre he negado que fuera ese el motivo: me va la marcha y es el momento de demostrarlo.


Tengo muchas cosas que agradecer a Virtual Software. Es la empresa donde he aprendido todo lo que sé, tanto de programación como de sistemas como de... tantas cosas.


Pero lo primero que tengo que agradecer es al destino por haberme puesto en el camino de mis dos socios. Javier y Gonzalo, Gonzalo y Javier. 28 años aguantándome, ya tienen mérito. Gracias, gracias, mil gracias por haber sido capaces de soportarme en los malos momentos. Y en los buenos.

Gracias tambien a todos los trabajadores que han pasado por Virtual Software. Debería cotejar el dato, pero de memoria yo diría que alrededor de los 150. Muchas gracias a todos. Cada uno ha aportado su granito para que Virtual Software haya llegado a ser lo que es. A los que habéis estado casi 20 años con nosotros (que alguno hay) y a los que estuvieron poco. A los que se fueron a uno de nuestros clientes mas importantes y a los que se quedaron en aquella desbandada. No me cabe ninguna duda de que la empresa tiene todavía un largo futuro por delante con el equipo que se queda.

Un recuerdo especial a Javi Valero, esté donde esté. Una de mis motivaciones para 3 años de movember. A los que estuvísteis en alguno de las empresas que salieron de Virtual (Universe Linux, Scancia). A los clientes y proveedores. De todos he intentado aprender algo y a todos he intentando enseñar algo.

Y ahora, a seguir aprendiendo. En pocos dias empiezo un nuevo camino y optimista como soy, seguro que todo va a ir bien.


«Vive como si fueras a morir mañana, aprende como si fueras a vivir para siempre»  - Frase atribuida a Ganhdi


martes, 8 de enero de 2019

Nuevo año

En los primeros dias del año se multiplican los buenos deseos y las ganas de hacer cosas diferentes. En algunos casos, la motivación viene por continuar con propuestas de personas que proponen hacerlo. En otros, son solo una sucesión de deseos que se olvidarán a los pocos dias.

Cuando me planteé si merecia la pena proponerme una lista de objetivos para este 2019 que acaba de comenzar, lo primero que pensé fué intentar analizar que tal me había ido el año pasado. Aunque no hubiera tenido una lista de objetivos, ¿que recuerdo haber hecho el año pasado que merezca la pena recordarse?. ¿Alguna cosa a nivel profesional o personal de la que sentirme orgulloso?. Si, por supuesto que he ido a un par de eventos técnicos (Greach, GR8Conf, CommitConf, Meetups de Cryptos, Java, Groovy, el magnífico taller de @diana_aceves_ en Tarugconf...) y he conocido alguna gente estupenda. Pero nada que haya aprovechado realmente para hacer algo.

No solo eso, sino que uno de los side-project con los que empecé el año (Proyecto Pandora, uno de los que más ilusión me habían provocado y en los que eché mas tiempo libre), finalmente quedó en el olvido enterrado entre el trabajo del dia a dia. Tras una fase en la que pasó a ser mas-o-menos oficial en mi empresa -pero sin recursos asignados- solamente mi tiempo libre, el proyecto fué perdiendo fuerza hasta el verano. Durante las vacaciones de verano le dí un empujón pero a veces me pasaron cosas tan frustrantes como que tras hacer algún módulo, al empezar a hacer los tests, me encontraba con que... ese modulo ya existia porque lo había hecho hace un año y no lo recordaba. Tras varios fines de semana aislados, decidí hace poco menos de un mes que no podía seguir con un ritmo de trabajo que me ocupaba muchos fines de semana con el trabajo "normal" y además la frustración de intentar y no poder seguir con ese proyecto. Peor aún, la presión autoimpuesta por avanzar en ese frente que hacía que no avanzara en otros. Asi que de momento aparcado por mi parte.

Tras unos dias de intentar hacer memoria, es triste (tristisimo, no podéis imaginar cuanto) no encontrar nada realmente reseñable. Alguna cosa que me haya llevado un esfuerzo y una recompensa. Algún logro que me haya servido para evolucionar personal o profesionalmente. No voy a decir que esto me haya hundido, pero desde luego me ha hecho plantearme que efectivamente necesito hacer una lista de objetivos para que el año que viene no vuelva a tener esta sensación tan desagradable.

Asi que vamos a ello, sin ningun orden concreto, simplemente tal cual fueron apareciendo en mi libreta:


- Implicarme más en Madridgug. Pertenezco al grupo de usuario de groovy de Madriddesde hace unos cuantos años, y colaboro habitualmente manteniendo el dominio, grabando las charlas y echando una mano a Ivan Lopez en la organización. Pero sigue siendo él quien lleva el peso. Voy a intentar quitarle parte de ese trabajo para repartir la carga.

- Implicarme en GreachConf. En esto ya no tengo vuelta atrás, ni falta que hace. Greach ha sido una de las conferencias que mas me han ayudado profesionalmente en los últimos 7 años. Cuando hace unos meses los organizadores de toda la vida anunciaron que este año no se de celebraría, lo dejé pasar pensando en ayudar cuando volviera. Pero Sergio del Amo no se conformó y anunció que el la organizaría. Inmediatamente me puse en contacto con el para co-organizarla. Y en ello estoy.

- Micronaut. Una de las cosas de las que me arrepiento no haber hecho nada el año pasado. La presentación mundial del proyecto fué en Greach (Marzo). La continuación con presentación oficial fué en GR8Conf. Estuve en ambas y no aproveché el tren. Peor aún: conozco personalmente a tres de los desarrolladores de este framework para microservicios que creo que está llamado a revolucionar las aplicaciones en la JVM. Esto no puede continuar así. En mi empresa probablemente no sea útil (hace tiempo que dejé de pelear por ser el referente técnico -allá cada cual-) pero a nivel personal no puedo seguir dejándolo escapar. Prioridad 2.

- Javascript, algo de CSS. No me gusta, pero ha llegado el momento de asumir que esta aqui para quedarse para siempre. Mi zona de confort tiene que ampliarse mas allá del cable de los servidores hasta el navegador. Seguramente no haré nada nunca en nodejs para el backend, pero necesito irme al navegador. Probablemente con React. ¿Alguna opinión a favor de Angular o Vue.js?

- Dar al menos dos charlas en eventos. Este pasado año no he dado ninguna. Ni siquiera internamente en mi empresa (no ha habido ninguna). Debo a MadridGUG el estrename con al menos una charla, cosa que nunca he hecho. Y puede servir de base para repetirla y ampliarla en algun otro evento mas grande. ¿Sobre Micronaut?. Probablemente. ¿Tal vez alguno internacional?. Sería divertido ;-)

- Mejorar mi inglés. Mi nivel de ingles escrito y leido creo que es más que aceptable. Otra cosa es hablado y escuchado. Hay que (empezar a) solucionarlo. ¿Duolingo?. ¿Alguna otra plataforma?

- Aparte de Javascript, que no puedo considerar como un lenguaje desconocido (aunque no dominado), aprender algun lenguaje nuevo: ¿Go? ¿Python?. Este último me gustaría para empezar a meterme a ver temas de Deep Learning y similares. Me quedé con muchas ganas de profundizar tras el pasote de charla de Andrés Torrubia en TarugoConf.

- Blockchain ya tal. Al menos de momento.


- Salvo durante las vacaciones de verano (y a veces, como los últimos años, ni eso) el resto del año prácticamente el 100% de mi tiempo, quitando sábados por la mañana para los partidos de basket de los niños, los he dedicado a trabajar. Si. Así de idiota he sido toda mi vida, pero esto tiene que acabar. Y esta es la prioridad #1: Familia y yo mismo. ¿Que pienso hacer con ese tiempo libre (además de lo que os he contado ya arriba)?

- Leer. Sólo leo cosas no técnicas en verano. Creo que ponerme un objetivo de leer un libro no técnico al mes no debería ser un problema. Tengo a medias dos de la guerra civil española (Hugh Thomas y Paul Preston) y empezando la autobiografía de Miles Davies. En camino En Pasada. Y muchos más que he ido comprando y no he podido leer.

- Fotografia. Seguir con ella. Y si es posible, meterme en algún taller para que no todo sea intuición e improvisación. Si no lo consigo no lo consideraré un fracaso.

- Música. Toco la guitarra desde siempre, pero tras un parón de mas de 10 años volví tocando jazz con un combo. El problema es que no avanzo como guitarrista a la velocidad que me gustaría asi que es probable que coja un profesor para avanzar, quitarme vicios y aprender algo de teoria.

- Volar. Una pasión (nada barata) pero que llevo sin practicar más de 2 años por el único motivo de no tener tiempo para ello. Ya me vale. Al menos un par de vuelecitos me tengo que echar este año.


Y todo lo de arriba tengo que hacerlo... de domingo a viernes. Lunes a viernes intentaré que quede algo de tiempo libre. O al menos que el 100% (incluido el tiempo de casa en las madrugadas) no sea de trabajo. El domingo es típico que sea la mitad del dia de estudio y deberes para mis hijos, asi que además de ponerme con ellos (y, de paso recordar cosas olvidadas) seguramente tendré tiempo para todo lo técnico de arriba: Micronaut, Javascript, Python... El domingo es mio.

Y el sábado, de la familia. Prioridad -19 (los usuarios de *nix sabrán por qué :-))