Visita a Valencia

2016-02-28

Gracias a Manuel Rivero, me estuvo rondando por la cabeza hacer una visita a la comunidad de Valencia. Claro está que después de haberlos conocido en la Craftsmanship de Barcelona, aumentaron aún más mis ganas de trabajar con ellos. Así pues hace un par de semanas tuvo lugar esta visita. Fue una experiencia inolvidable.

Este viaje me ha aportado mucho tanto a nivel profesional como personal. Su forma de trabajar y su filosofía me han permitido aprender mucho, no solo de ellos sino que también de mí mismo. Dos semanas después me doy cuenta que todavía estoy interiorizando todo lo que vi por allí. Fueron 10 días en los que estaba constantemente reflexionando. No conseguiré recoger todo lo que aprendí en esas dos semanas, ya que no sabría expresarlas, simplemente hay que vivirlas. No obstante, trataré de recoger ciertas cosas que traigo en la libretita:

COLABORACIÓN ENTRE PERSONAS

Nuestros equipos de trabajo están formados por personas. Las personas tienen objetivos y necesidades. Sus trabajos deben ofrecer la posibilidad de que se satisfagan y se alcancen respectivamente. Algo que aprendí es que la Cueva es un espacio cuyo principal objetivo es crear un ambiente colaborativo donde todos alcancen sus metas. Un espacio donde las personas crecen y comparten. Es decir, un Open-Space pero continúo.

DEVSCOLA

Tuve la suerte de conocer el proyecto de la Devscola y a sus actuales integrantes (mentores y alumnos). Simplemente me encantó. Los mentores se ofrecen voluntariamente para impartir un curso intensivo de desarrollo a unos alumnos altamente motivados. Fue muy interesante poder debatir y compartir con ellos acerca de temas muy interesantes. Incluso hubo ocasión de poner cosas en común y comparar el programa de aprendizaje de la Devscola y el que tenemos aquí. Me he traído muchas ideas para ponerlas en práctica aquí con mis demás compañeros aprendices y nuestros mentores.

COMUNICACIÓN ENTRE COMUNIDADES

Un tema del que estuvimos hablando era el de mantener una interacción más activa entre las comunidades. Con ese objetivo he pedido a Xavi entrar en el Slack de la devscola. Sin duda, la intención es que mentores y aprendices de ambas comunidades podamos no solo comunicarnos, sino que también hacer desksurfing a menudo. De hecho, ahora en marzo se viene Rubén Antón a pasar unos días con nosotros. Este ha sido mi primer Desksurfing y ha sido en Valencia, pero me encantaría que esta posibilidad se abra con muchas otras comunidades.

ESTUDIAR LIBROS EN LUGAR DE LEERLOS

Para el primer fin de semana nos propusimos leernos el primer capítulo de Analisys Patterns (Martin Fowler). Un libro que recoge patrones de diseño a gran escala, los cuales están muy bien estudiados por parte del autor. Es un libro que para el que aún no estoy preparado (sin duda, estudiaré duro para estarlo).

Lo realmente relevante de la experiencia fue el lunes por la mañana. Xavi, Sergio y yo, nos pusimos en una pizarra a estudiar los conceptos explicados en el primer capítulo. Esta sesión duró una hora y media y avanzamos 4 páginas. Sin embargo, en esa hora y media aprendí más que si me hubiera leído el capítulo 3 veces. En gran parte por las buenas explicaciones de Xavi y Sergio, claro está. Por la tarde cogimos el ejemplo de la pizarra y nos pusimos a programarlo en Ruby.

En nuestro club de lectura hemos considerado cambiar nuestra estrategia en las reuniones por un formato más parecido a este. Actualmente nos estamos leyendo Refactoring. Practicar lo leído entre todos, nos ayuda a interiorizar de manera más profunda lo que estamos leyendo cada semana.

AFINAR NUESTRAS HABILIDADES

Ponernos constraints a la hora de programar nos ayudará a afinar nuestro estilo. Nos ayuda a mejorar nuestras técnicas y/o habilidades. Otro ejercicio para afinar es utilizar en katas o proyectos personales, lenguajes como Ruby, Python, JavaScript… (es decir, que no tienen gran ayuda por parte del compilador o IDE). Ya que nos ayudan a interiorizar mejor los baby steps y los propios refactors entre otras cosas. Además hubo un constraint de Xavi que me pareció muy interesante. Hacer que nuestros métodos públicos se lean como pseudo-código. A parte de ser un buen entrenamiento, esto hace que consigas un código muy legible y de muy alta calidad.

Además para alguien como yo que estoy muy acostumbrado a IDEs, resultará también un buen ejercicio usar un editor de texto (como Atom) con el propósito de afinar mi estilo.

SALIR DE TU ZONA DE CONFORT

A nivel personal, he aprendido que los últimos meses he estado muy enfocado tan solo en mejorar mis skills de desarrollo. Allí tuve la oportunidad de ver a muchos desarrolladores que controlaban también temas como Devops, front-end, tecnologías, interacción con el cliente… Siempre tendremos nuestras preferencias. En mi caso me encanta plantearme cuestiones de diseño y arquitectura que implique mejorar en Patrones de diseño, SOLID, orientación a objetos… Probablemente siempre le dedicaremos más tiempo a nuestra preferencia. No obstante, lo demás también nos enriquece y es guay. Además tener un punto de vista distinto al que estás acostumbrado, siempre te permitirá encontrar nuevas soluciones y adoptar nuevas formas de pensamiento.

Toda esta reflexión me llevó a pedirle a Gerardo una introducción a Ansible. Fue una gran introducción también al tema Devops. Aprovechó también para mostrarme algo de TDI (Test Driven Infrastructure) lo cual me pareció un concepto brutal. También con este propósito planteamos un Pet Project para poder enfrentarme a todas las partes que surjan del mismo.

FLYWIRE

Aunque no pude estar en Flywire tanto tiempo como me hubiera gustado (excusa perfecta para volver pronto), me ha encantado lo poco que pude ver. El primer fin de semana que estuve por allí, concretamente el sábado, organizaron una sesión de conferencias que ocupó prácticamente todo el día. Ver charlas en YouTube y debatirlas con tus compañeros era el principal objetivo. Además ese fin de semana tuve la oportunidad de estudiar patrones de diseño con Rubén y Oscar. Gracias a ello, comprendí mejor la teoría y la práctica de los patrones con los que estuvimos.

Sin duda, los katayunos de los martes seguidos de la formación sobre patrones de Xavi fueron reveladores cuanto menos. El katayuno fue muy divertido, estuve con Álvaro y aparte de enseñarme cosillas de ruby, me encantó su insistencia en los baby steps. En la formación posterior vimos muchos patrones y Xavi conseguía hacer explicaciones y distinciones muy concretas de cada uno. Fue un lujazo poder aprender de los conocimientos de todos los allí presentes.

RUBY

¿Cómo no? Esa semana también me puse a completar los koans de Ruby. La simplicidad más la semántica que puedes conseguir con Ruby me ha sorprendido muy gratamente. Es verdad que ya conocía algo de Ruby, pero al estar aprendiendo toda la semana con desarrolladores que lo dominan y explotan sus virtudes, no he podido resistirme. Así que el Pet Project que antes comenté será con Ruby. Utilizando un editor como Atom será un muy buen entrenamiento para mí.

MI FORMA DE APRENDER

He aprendido sobre mi forma de aprender. Tras este viaje me di cuenta de algo que me han explicado varias veces pero que no había entendido hasta ahora. Esto es que cuando aprendo algo nuevo, no termino de interiorizarlo hasta pasados unos minutos, horas o incluso días. Hay cosas que he aprendido de este viaje de las cuáles no me había dado cuenta hasta que traté de explicárselo a mis compañeros o incluso al escribir este post.

Para probar esta teoría y siguiendo un consejo de Xavi, he empezado a usar de nuevo la técnica del Pomodoro. Recuerdo como ingenuo le decía: “Xavi, yo no uso Pomodoro porque me corta el flow”. De poco te sirve tener flow si no estás fresco. Aunque no me dé cuenta parar me ayuda a interiorizar y comprender.

NARRATIVAS

En lugar de usar Impact mapping por ejemplo, para descubrir el producto utilizan narrativas. Me habría gustado estar más tiempo con Les dones y aprender más sobre este concepto. Tras leer una de las narrativas, solo puedo decir que se trata de narrar una pequeña historia de alguien que necesita tu software para solucionar un problema/necesidad. Pero llegando a un nivel de detalle muy concreto, llegando a expresar un conjunto de sentimientos con los cuáles sería fácil empatizar. Este ejercicio permite estudiar como el más mínimo detalle en la vida de una persona, puede ser contemplado para hacer mejor software. Tendré que preguntar más para saber realmente que métricas seguir para ponerlo en práctica.

FEEDBACK

Está claro que sin feedback no hay mejora. Durante esa semana pude experimentar la importancia de tener ciclos de feedback muy cortos. Pero no solo hablo de software. Me gustó que tuviéramos una visión tan alineada en la importancia de obtener feedback constante en todos los aspectos de nuestras vidas. Diría que la búsqueda de feedback para mejorar es incluso una filosofía de vida. Mi primer día en la Cueva, Xavi buscó mucho feedback acerca de mis primeras impresiones. Obtener feedback de nuestro trabajo, de nuestra actitud, de nuestras habilidades personales y profesionales es básico para avanzar en The Long Road.

CONCLUSIONES

¡Ha sido probablemente uno de los mejores viajes de mi vida! Es una experiencia totalmente recomendada. Se aprende mucho viendo como otros trabajan y es un punto muy bueno para empezar a reflexionar sobre nuestras herramientas, prácticas y metodologías. Después de este viaje, tengo aún más claro que mis vacaciones se irán en viajes de esta índole.

La próxima vez me gustaría programar algo más con la NoFlopSquad en algún proyecto concreto. Esta vez, estuve solo una semana y además estaban en fase de análisis, así que no hubo mucho tiempo para ello. También me alegró tener la oportunidad de conocer a Guillermo, espero que la próxima vez tengamos más tiempo para hablar. Aun así, disfruté mucho de lo poco que pudimos conversar.

Me gustaría agradecer a Xavi, Sergio y Gerardo por todo lo que me han enseñado. Gracias también a Flyware por permitirme visitar la empresa y la amigabilidad con la que me trataron todos. Gracias a todos los de la Cueva por hacerme sentir parte de esa gran familia durante mi estancia. Por último, gracias a Oscar y Rubén por los momentos tan divertidos que he pasado con vosotros, desde los ejercicios hasta las entretenidas charlas que tuvimos. Sin duda, este año volveré a veros a todos, porque pienso volver a Valencia. ¡Gracias a todos!