{"id":2870,"date":"2019-10-28T07:20:45","date_gmt":"2019-10-28T05:20:45","guid":{"rendered":"https:\/\/inlab.fib.upc.edu\/?p=2870"},"modified":"2023-07-13T12:24:34","modified_gmt":"2023-07-13T10:24:34","slug":"software-crafters-barcelona-2019","status":"publish","type":"post","link":"https:\/\/inlab.fib.upc.edu\/es\/uncategorized-ca\/software-crafters-barcelona-2019","title":{"rendered":"Software Crafters Barcelona 2019"},"content":{"rendered":"<p>El primer fin de semana del mes de octubre 2019 tuvo lugar la <a href=\"https:\/\/softwarecrafters.barcelona\/\">Software Crafters Barcelona 2019<\/a>, tambi\u00e9n conocida como SCBCN 2019. Como miembro de inLab FIB tuve la ocasi\u00f3n de asistir. All\u00ed&nbsp;pude compartir experiencias con apasionados y grandes artesano del desarrollo de software. Algunos de ellos, han pasado por el programa Talent de inLab, como por ejemplo, <a href=\"https:\/\/twitter.com\/trepixxx\">Pau Trepat<\/a>, parte de la organizaci\u00f3n de la SCBCN 2019, y que adem\u00e1s en la&nbsp; anterior SCBCN (2018) nos deleit\u00f3 con la charla <a href=\"https:\/\/youtu.be\/c_4XbWiiqQ8\"><em>Culture engine and stopper of changes<\/em><\/a> que pod\u00e9is ver en YouTube.&nbsp; Tambi\u00e9n estuvo <a href=\"https:\/\/twitter.com\/joanjan14\">Joan L\u00f3pez de la Franca<\/a>, otro ex-inLaber, que hizo de ponente en un charla sobre DDD y Go, que m\u00e1s abajo os resumo. Y durante diferentes charlas, estuve codo con codo con <a href=\"https:\/\/twitter.com\/edu_maura\">Eduard Maura<\/a>, otro Talent boy.<\/p>\n<p>&nbsp;<\/p>\n<p>Las conferencias est\u00e1n divididas en 4 tracks durante 2 d\u00edas, donde se hicieron diferentes conferencias que coincid\u00edan en el tiempo, algunas en castellano y otras en ingl\u00e9s. Solo voy a comentar sobre algunas de las charlas a las que pude asistir.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>C\u00f3mo las herramientas correctas ayudan a implantar la arquitectura correcta<\/strong><\/p>\n<p>En esta charla, <a href=\"https:\/\/twitter.com\/carlosvillu\">Carlos Villuendas<\/a> nos cuenta su experiencia personal de llevar una arquitectura a producci\u00f3n. En concreto se centra en resolver problemas de arquitectura que los equipos se han ido encontrando, y nos cuenta las soluciones por las que optaron.&nbsp;<\/p>\n<p>Una de las soluciones, fue evitar que los equipos de desarrollo pudieran tocar la configuraci\u00f3n de los proyectos de software, creando un repositorio donde todos los proyectos ten\u00edan la misma configuraci\u00f3n como dependencia. De esta soluci\u00f3n, surgi\u00f3 un debate interesante entre la libertad del equipo para poder probar e innovar, respecto a las ventajas de uniformidad de configuraci\u00f3n de los repositorios del software creado.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Ingenier\u00eda del caos: Rompiendo cosas a prop\u00f3sito en producci\u00f3n<\/strong><\/p>\n<p><a href=\"https:\/\/twitter.com\/llunatweets\">David Lluna<\/a> nos cuenta los inicios de la ingenier\u00eda del caos, cont\u00e1ndonos la historia de c\u00f3mo Netflix comenz\u00f3 a crear y utilizar herramientas, como <a href=\"https:\/\/github.com\/Netflix\/chaosmonkey\">Chaos Monkey<\/a>, para comprobar la resiliencia de sus sistemas en producci\u00f3n en Amazon Web Service. Una frase que lo resume ser\u00eda: \u201cDecir que funciona en \u2018stage\u2019 es igual de malo que decir que funciona en local\u201d.&nbsp;<\/p>\n<p>Para crear experimentos hay cuatro pasos a seguir:<\/p>\n<ol>\n<li>Definir un estado estable medible que indica el comportamiento habitual.<\/li>\n<li>Realizar una hip\u00f3tesis del estado que le seguir\u00e1 con un grupo de control y otro grupo experimental.<\/li>\n<li>Introducir variables que produzcan errores en el sistema, como fallos de disco, de red, etc.<\/li>\n<li>Y finalmente intentar refutar la hip\u00f3tesis buscando la diferencia entre el estado estable en el grupo de control y el grupo experimental.<\/li>\n<\/ol>\n<p>Tambi\u00e9n habl\u00f3 sobre c\u00f3mo se ha de realizar un postmortem sin culpables, para conseguir saber qu\u00e9 partes del sistema han fallado y buscar maneras de poder mejorarlas.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Back to the basics: Modelando nuestro dominio<\/strong><\/p>\n<p>En la tercera charla que asist\u00ed, <a href=\"https:\/\/twitter.com\/JavierCane\">Javi Ferrer Gonz\u00e1lez<\/a> y <a href=\"https:\/\/twitter.com\/rafaoe\">Rafa G\u00f3mez Casas<\/a> de <a href=\"https:\/\/codely.tv\/\">CodelyTV<\/a>, nos deleitaron con un ameno relato de como modelar nuestro dominio sin volvernos locos con Domain Driven Design (DDD) y los principios SOLID.&nbsp; En ocasiones necesitamos una soluci\u00f3n simple que no introduzca una complejidad accidental que realmente no aporta valor para solucionar un problema. Nos cuenta con ejemplos de c\u00f3digo diferentes matices para resolver algunos de los problemas habituales al trabajar DDD. Os recomiendo ver sus charlas que cuelga en su <a href=\"https:\/\/www.youtube.com\/CodelyTV\">canal de YouTube<\/a>.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Why Serverless?<\/strong><\/p>\n<p><a href=\"https:\/\/twitter.com\/vgaltes\">Vicen\u00e7 Garc\u00eda Alt\u00e9s<\/a> nos explic\u00f3, desde su experiencia, las ventajas y desventajas de trabajar con <em>serverless<\/em>, en concreto con AWS Lambda. Coment\u00f3 que no es posible solucionar todo con <em>serverless<\/em>, pero que hacerlo ayudaba a los equipos a centrarse en crear&nbsp;valor, desarrollando software de producto, delegando gran parte del trabajo de gestionar la infraestructura a la herramienta de AWS Lambda.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Desde el caos al Domain Driven Design en Go<\/strong><\/p>\n<p>Nuestro conocido ex-inLaber <a href=\"https:\/\/twitter.com\/joanjan14\">Joan L\u00f3pez de la Franca<\/a>, junto con <a href=\"https:\/\/twitter.com\/adrianpgl\">Adri\u00e1n P\u00e9rez<\/a> nos explicaron una divertida historia de c\u00f3mo llevar una idea de negocio, desarrollada en Go, y de c\u00f3mo fueron aplicando poco a poco DDD. Me pareci\u00f3 muy ilustrativa e instructiva incluso para alguien como yo que desconoce Go.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Software and architecture quality in a startup<\/strong><\/p>\n<p>Un crack como <a href=\"https:\/\/twitter.com\/ccotesg\">Cristian Cotes<\/a>, nos dio una p\u00edldora de sabidur\u00eda, simplificando un tema tan complejo como la calidad de c\u00f3digo y arquitectura. Seg\u00fan la fase de maduraci\u00f3n de una empresa, el c\u00f3digo a desarrollar no tiene porque tener la misma calidad. Si estamos en una fase inicial donde el objetivo es validar una idea de negocio, queremos poder validarla cuanto antes, gastando el m\u00ednimo dinero. En esa fase, un prototipado r\u00e1pido y barato puede marcar la diferencia de una startup. Una vez validado el modelo de negocio, en la siguiente fase, has de encontrar el momento en el que plantear si mejorar la calidad de tu software, o directamente comenzar con c\u00f3digo nuevo y limpio, ya que has de comenzar a tener en cuenta los costes de mantenimiento y extensibilidad de tu producto. Y en la fase final, es decir, cuando la empresa gana dinero, es fundamental la calidad en el c\u00f3digo y arquitectura.&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Visualizaci\u00f3n de datos: \u00bfUn nuevo arte?<\/strong><\/p>\n<p><a href=\"https:\/\/twitter.com\/maballesrin\">Mar\u00eda Ballesteros<\/a> nos explic\u00f3 lo importante de comunicar con im\u00e1genes. Nos dio alguna referencia como la <a href=\"http:\/\/ft-interactive.github.io\/visual-vocabulary\/\">Gu\u00eda de vocabulario visual de Financial Times<\/a> que nos puede ayudar a decidir qu\u00e9 gr\u00e1fico utilizar, seg\u00fan los tipos de datos que tenemos y lo que queremos contar. Y tambi\u00e9n hizo referencia a <em><a href=\"https:\/\/viz.wtf\/\">WTF Visualizations<\/a><\/em> donde podemos encontrar en un contexto humor\u00edstico, una recopilaci\u00f3n visualizaciones de datos reales, vistas en internet, televisiones y peri\u00f3dicos.&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Don&#8217;t fear DDD: introducing it to your project<\/strong><\/p>\n<p>En la \u00faltima charla que asist\u00ed, el formato fue diferente. <a href=\"https:\/\/twitter.com\/the_crazyweb\">Oriol Saludes<\/a> y <a href=\"https:\/\/twitter.com\/alvarobiz\">\u00c1lvaro Garc\u00eda<\/a> nos mostraron, programando en directo, c\u00f3mo evitar tener miedo a aplicar DDD, centr\u00e1ndose en la parte de entidades, value objects, agregados y repositorios. Realizaron in-situ diferentes refactorizaciones de un c\u00f3digo en producci\u00f3n, aplicando Test Driven Development (TDD) y baby-steps. Charla muy recomendable para quien quiera iniciarse en DDD con Java.<\/p>\n<p>&nbsp;<\/p>\n<p>En resumen, la Software Crafter de Barcelona ha sido un espacio donde he aprendido peque\u00f1as p\u00edldoras de sabidur\u00eda y experiencias de otros compa\u00f1eros de profesi\u00f3n, que me ser\u00e1n muy \u00fatiles para mejorar como profesional. Os recomiendo asistir a este tipo de eventos siempre que pod\u00e1is.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Bonustrack<\/strong><\/p>\n<p>Si os hab\u00e9is quedado con ganas de asistir a las charlas, en los pr\u00f3ximos meses <a href=\"https:\/\/www.youtube.com\/user\/AutentiaMedia\">Autentia<\/a> colgar\u00e1 las diferentes charlas en su canal de YouTube. Aqu\u00ed ten\u00e9is el <a href=\"https:\/\/www.youtube.com\/playlist?list=PLKxa4AIfm4pXO6GQN0oRROrxgz6MbuN6c\">enlace<\/a> a la playlist de videos de la Software Crafter Barcelona de 2018.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El primer fin de semana del mes de octubre 2019 tuvo lugar la Software Crafters Barcelona 2019, tambi\u00e9n conocida como SCBCN 2019. Como miembro de inLab FIB tuve la ocasi\u00f3n de asistir. All\u00ed&nbsp;pude compartir experiencias con apasionados y grandes artesano del desarrollo de software. Algunos de ellos, han pasado por el programa Talent de inLab, [&hellip;]<\/p>\n","protected":false},"author":594,"featured_media":2867,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"experteses":[17,27],"class_list":["post-2870","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized-ca","experteses-entornosyserviciosticdesoportealaprendizaje-es","experteses-knowledgeyserviceengineering-es"],"acf":[],"_links":{"self":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts\/2870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/users\/594"}],"replies":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/comments?post=2870"}],"version-history":[{"count":2,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts\/2870\/revisions"}],"predecessor-version":[{"id":23181,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts\/2870\/revisions\/23181"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/media\/2867"}],"wp:attachment":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/media?parent=2870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/categories?post=2870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/tags?post=2870"},{"taxonomy":"experteses","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/experteses?post=2870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}