Mi experiencia en Software Craftsmanship Bcn 2016

Este fin de semana se celebró el Software Craftsmanship Barcelona 2016, un evento que tiene como objetivo la difusión de conocimiento relacionado con el desarrollo de software, y del que se celebran varias ediciones en diferentes países del mundo.

En un evento de estas características, como no podía ser menos, Runroom tenía que estar presente… y allá que me fui. En este post os cuento cómo me fue mi experiencia.

 

El evento

No cabe duda de que este evento es muy popular, como quedó demostrado por la rapidez con la que se vendieron las entradas. En cuestión de segundos, sin exagerar.

Esta edición de la Software Craftsmanship Barcelona se llevó a cabo en las oficinas de Netmind, quienes generosamente las cedieron para la ocasión. El recinto no era muy grande, pero era suficiente para la cantidad de asistentes.

El evento consistió en: charlas durante todo el sábado y domingo por la mañana (con almuerzo dispuesto por la organización de por medio), una cena en L’ovella negra el sábado por la noche y un Open Space el domingo por la tarde, donde cada uno podía proponer alguna actividad para llevar a cabo. Podía ser cualquier cosa: katas, workshops, charlas…

 

Las charlas

Al igual que en el Symfony Catalunya 2016, evento al que asistí hace unos meses, las charlas fueron el plato fuerte.

Había un calendario con las diferentes charlas que había en el evento, y puesto que se celebraron varias en paralelo, había que escoger a cuál ir. A continuación os resumo las charlas a las que asistí:

  • Designing in the small: principles and practices: cuando escribimos código a diario tenemos que tomar decisiones a un nivel de detalle muy pequeño (nombres de clases, extraer o no extraer funciones de otras más grandes…), pero que a la larga puede tener un gran impacto en términos de mantenibilidad. En esta charla, Carlos Blé nos habló de algunas de esas decisiones.
  • Patterns for Crafting Docker Containers: en esta charla, José Armesto nos explicó una serie de buenas prácticas necesarias para poder usar Docker de manera efectiva en todas las fases de desarrollo de nuestro producto, desde el setup en nuestra máquina hasta el despliegue a un servidor de producción. La más importante: hacer docker build dos veces con el mismo manifesto puede producir diferentes resultados, por lo que conviene más hacerlo sólo una vez y desplegar la build resultante en todos los entornos necesarios.
  • Desarrollar un chat con Scala, Akka y WebSockets desde 0. ¡¿Qué puede salir mal?!: una charla a cargo de Sergi González y Javier Ferrer Aquí vimos un caso real de implementación de un sistema de chat, y sirvió para ilustrar las bases de funcionamiento de Scala, Akka y el paradigma de actores.
  • Event Storming for Fun and Profit: esta charla / workshop, a cargo de Vaughn Vernon, fue probablemente mi favorita. Los primeros 35 minutos los pasamos aprendiendo las bases del Event Sourcing, una técnica que permite dividir nuestro proyecto en dominios compuestos por entidades con comandos que disparan eventos. El resto del tiempo (hora y media aproximadamente) lo pasamos poniendo en práctica lo aprendido. Nos dividimos por grupos y tratamos de definir las especificaciones de un proyecto de software inventado por nosotros.
  • Databases — the choice is yours: una charla donde vimos la evolución a lo largo de la historia de las bases de datos en general, y donde Philipp Krenn hizo un repaso tanto de las diferentes bases de datos relacionales como de las bases de datos NoSQL más populares.

 

No faltaron tampoco charlas de contenido no técnico, como por ejemplo:

  • Embracing flow for maximum productivity: ésta es la charla que di yo :). ¿Alguna vez has empezado a leer un libro y luego no has podido parar? ¿Recuerdas cómo te sentiste? Pues bien, en esta charla expliqué cómo podemos experimentar esa sensación mientras escribimos código (aunque las técnicas vistas en la charla se pueden aplicar a cualquier clase de trabajo). ¿El objetivo? Ser más productivos y disfrutar más de nuestro trabajo. Permanece atento/a, porque en breve publicaré un resumen de mi ponencia en este blog.
  • CDD (Desarrollo dirigido por consenso): una charla muy interesante en la que Xavi Gost propuso un modelo de desarrollo de software en el que todas las decisiones son consensuadas por el equipo, y donde se tumbaron algunos mitos como el de la autoridad.
  • Teal organization: a living example: haciendo un paralelismo con la historia de la humanidad nada menos, Sandro Marcuso nos explicó la evolución de los modelos laborales de las empresas hasta llegar al modelo Teal.

Conclusión

Si eres desarrollador/a, no pierdas la oportunidad de asistir a este evento en cuanto puedas. El balance es claramente positivo: charlas interesantes con grandes ponentes, un ambiente de lujo, comida… ¿Qué más se puede pedir?

Software Craftsmanship 2016

About Joel Rodríguez

Desarrollador. Aficionado a la lectura, la música y las series.

Something to say?