El primer cap de setmana del mes d’octubre 2019 va tenir lloc l’esdeveniment de Software Crafters Barcelona 2019, També coneguda com a SCBCN 2019. Com a membre de l’inLab FIB vaig tenir l’ocasió d’assistir. Allà vaig poder compartir experiències amb apassionats i grans artesans del desenvolupament software. Alguns d’ells, han passat pel programa Talent de l’inLab, com per exemple, Pau Trepat, part de l’organització de la SCBCN 2019, i que a més en l’anterior SCBCN (2018) ens va delectar amb la xerrada Culture engine and stopper of changes que podeu veure a YouTube. També va estar en Joan López de la Franca, un altre ex-inLaber, que va fer de ponent en una xerrada sobre DDD i Go, que més avall us resumeixo. I durant diferents xerrades, vaig estar amb l’Eduard Maura, un altre Talent boy.
Les conferències estaven dividides en 4 tracks durant 2 dies, on es van fer diferents conferències que coincidien en el temps, algunes en castellà i altres en anglès. Només comentaré sobre algunes de les xerrades a les quals vaig poder assistir.
Com les eines correctes ajuden a implantar l’arquitectura correcta
En aquesta xerrada, Carlos Villuendas ens explica la seva experiència personal de portar una arquitectura a producció. En concret se centra a resoldre problemes d’arquitectura que els equips s’han anat trobant, i ens explica les solucions per les quals van optar.
Una de les solucions, va ser evitar que els equips de desenvolupament poguessin tocar la configuració dels projectes de programari, creant un repositori on tots els projectes tenien la mateixa configuració com dependència. D’aquesta solució, va sorgir un debat interessant entre la llibertat de l’equip per poder provar i innovar, respecte als avantatges d’uniformitat de configuració dels repositoris del programari creat.
Enginyeria del caos: Trencant coses a propòsit en producció
David Lluna ens explica els inicis de l’enginyeria del caos, explicant-nos la història de com Netflix va començar a crear i utilitzar eines, com Chaos Monkey, per comprovar la resiliència dels seus sistemes en producció a Amazon Web Service. Una frase que ho resumeix seria: “Dir que funciona a ‘stage’ és igual de dolent que dir que funciona en local”.
Per crear experiments hi ha quatre passos a seguir:
- Definir un estat estable mesurable que indica el comportament habitual.
- Realitzar una hipòtesi de l’estat que li seguirà amb un grup de control i un altre grup experimental.
- Introduir variables que produeixin errors en el sistema, com fallades de disc, de xarxa, etc.
- I finalment intentar refutar la hipòtesi buscant la diferència entre l’estat estable en el grup de control i el grup experimental.
També va parlar sobre com s’ha de fer un post mortem sense culpables, per aconseguir saber quines parts del sistema han fallat i buscar maneres de poder millorar-les.
Back to the basics: Modelant el nostre domini
A la tercera xerrada que vaig assistir, Javi Ferrer González i Rafa Gómez Cases de CodelyTV, Ens van delectar amb un amè relat de com modelar el nostre domini sense tornar-nos bojos amb Domain Driven Design (DDD) i els principis SOLID. De vegades necessitem una solució simple que no introdueixi una complexitat accidental que realment no aporta valor per solucionar un problema. Ens explica amb exemples de codi diferents matisos per resoldre alguns dels problemes habituals en treballar DDD. Us recomano veure les seves xerrades que penja al seu canal de YouTube.
Why Serverless?
Vicenç Garcia Altés ens va explicar, des de la seva experiència, els avantatges i desavantatges de treballar amb serverless, en concret amb AWS Lambda. Va comentar que no és possible solucionar tot amb serverless, però que fer-ho ajudava els equips a centrar-se a crear valor, desenvolupant programari de producte, delegant gran part de la feina de gestionar la infraestructura a l’eina d’AWS Lambda.
Des del caos a l’Domain Driven Design a Go
El nostre conegut ex-inLaber Joan López de la Franca, juntament amb l’Adrián Pérez, ens van explicar una divertida història de com portar una idea de negoci, desenvolupada en Go, i de com van anar aplicant de mica en mica DDD. Em va semblar molt il·lustrativa i instructiva fins i tot per a algú com jo que desconeix Go.
Programari and architecture quality in a startup
Un crack com Cristian Cotes, Ens va donar una píndola de saviesa, simplificant un tema tan complex com la qualitat de codi i arquitectura. Segons la fase de maduració d’una empresa, el codi a desenvolupar no té per què tenir la mateixa qualitat. Si estem en una fase inicial on l’objectiu és validar una idea de negoci, volem poder validar com més aviat millor, gastant el mínim de diners. En aquesta fase, 1 prototipat ràpid i barat pot marcar la diferència d’una startup. Un cop validat el model de negoci, en la següent fase, has de trobar el moment en què plantejar si millorar la qualitat del teu programari, o directament començar amb codi nou i net, ja que has de començar a tenir en compte els costos de manteniment i extensibilitat del teu producte. I a la fase final, és a dir, quan l’empresa guanya diners, és fonamental la qualitat del codi i l’arquitectura.
Visualització de dades: un nou art?
Maria Ballesteros ens va explicar l’important de comunicar amb imatges. Ens va donar alguna referència com la Guia de vocabulari visual de Financial Times que ens pot ajudar a decidir quin gràfic utilitzar, segons el tipus de dades que tenim i el que volem explicar. I també va fer referència a WTF Visualizations on podem trobar en un context humorístic, un recull de visualitzacions de dades reals, vistes a internet, televisions i diaris.
Do not fear DDD: introducing it to your project
En l’última xerrada que vaig assistir, el format va ser diferent. Oriol Saludes i Álvaro García ens van mostrar, programant en directe, com evitar tenir por a aplicar DDD, centrant-se en la part d’entitats, value objects, agregats i repositoris. Van realitzar in-situ diferents refactoritzacions d’un codi en producció, aplicant Test Driven Development (TDD) i baby-steps. Xerrada molt recomanable per a qui vulgui iniciar-se en DDD amb Java.
En resum, el Software Crafter de Barcelona ha estat un espai on he après petites píndoles de saviesa i experiències d’altres companys de professió, que em seran molt útils per a millorar com a professional. Us recomano assistir a aquest tipus d’esdeveniments sempre que pugueu.
Bonustrack
Si us heu quedat amb ganes d’assistir a les xerrades, en els mesos vinents Autentia penjarà les diferents xerrades al seu canal de YouTube. Aquí teniu l’enllaç a la playlist de vídeos del Software Crafter Barcelona de 2018.