BuildStuff LT 2019, la Software Development Conference

In questo articolo voglio raccontare la mia esperienza alla BuildStuff LT 2019, alla quale io e Pietro abbiamo avuto l’opportunità di partecipare, portando a casa tanti spunti e riflessioni interessanti.
La BuildStuff è una Conferenza rivolta a Sviluppatori Software, Accademici, Team Leader, Software Architect e Project Manager e può essere considerata il più grande evento tech dei Paesi Baltici; dopo il successo riscosso in questa regione, la BuildStuff ha conquistato anche l’Ucraina e la Spagna.

Io e Pietro abbiamo partecipato all’evento nella città di Vilnius, in Lituania, dal 13 al 15 novembre e vi posso assicurare che è stata un vero e proprio calderone di informazioni stimolanti, grazie anche agli oltre 80 speaker che hanno trattato i più svariati temi nell’ambito del Software Development.

In questo post riassumo alcuni degli argomenti che sono stati toccati durante la BuildStuff LT, così da rendere l’idea della grande varietà di informazioni che questa conf ci ha messo a disposizione. Big Data, Machine Learning, Quantum Computing, UX, UI, Serverless, DevOps practices, IoT, Robotics, Agile, Programming Languages, Microservices… Già questo dovrebbe bastare: ce n’era davvero per tutti. Per qualcuno potrebbe non essere niente di nuovo ma, personalmente, ciò che secondo me ha reso unico questo evento è lo spessore degli speaker, figure esponenti del nostro settore.

Giorno 1

David JP Philips – The Magical Science of Storytelling

La Keynote iniziale è di David JP Philips con The Magical Science of Storytelling. David Philips è fondatore della Presentationsteknik.com e l’argomento principale del suo talk è la comunicazione. David cerca di mostrarci come la narrazione può stimolare il nostro cervello a produrre specifiche sostanze bio chimiche. Tra queste la dopamina, l’ossitocina e l’endorfina. Queste sostanze hanno particolari effetti sul nostro cervello.

Se vi interessa l’argomento il talk è disponibile in un video su YouTube.

James Lewis – Scale, Microservices and Flow

Uno dei talk più ricchi della giornata del 13 novembre è stato sicuramente quello di James Lewis, Scale, Microservices and Flow, con un interessante punto di vista relativo al “contesto dei microservizi”. Il concetto esposto dal relatore è che oggi sono i progetti software a definire il behaviour dell’azienda. Prima c’era la struttura aziendale alla quale veniva adattato il gestionale, ora, anche con l’introduzione dell’agile, è l’intero processo che porta alla creazione del prodotto che verrà usato in azienda. La stessa si dovrà rimodellare di conseguenza.

Lo speaker ha poi mostrato il frutto dei suoi studi e ha paragonato la creazione e la gestione di microservizi al mondo animale e allo sviluppo delle città: per ogni microservizio è “facile” creare un collegamento ad altri e, di conseguenza, la struttura informativa si espanderà in modo non lineare, ma seguendo una progressione (1-5-10-20…). La diretta conseguenza è che in passato, più una struttura (intesa come azienda o software) era articolata e più la crescita era difficile, ora se si è progettati a microservizi, più la struttura è grande e più il contesto facilita la crescita. Inoltre, in proporzione, l’investimento per la crescita sarà inferiore alla resa.

Potete trovare il talk online.

Se seguite da vicino il mondo dello sviluppo sapete bene come la parola “microservices” sia sulla bocca di tutti. Infatti i microservizi sono stati ripresi da più speakers, rendendo l’argomento uno dei principali topic della conferenza.

Dylan Beattie – The Art of Code

Alla BuildStuff, però, c’è stato spazio anche per guardare al codice in forma artistica. È ciò che Dylan Beattie ha cercato, infatti, di mostrarci con The Art of Code. Il software ai nostri giorni è fondamentale per la nostra società e il codice ha cambiato ogni aspetto della quotidianità: le banche, gli ospedali, gli aeroporti e gli smartphone si basano sul loro sistema, scritto da un team di sviluppatori… Ma Dylan si concentra su tutt’altro, in quanto parla del software che non è stato scritto per fornire servizi o per fare soldi. Parla del software che è stato scritto per ispirare, per far ridere e divertire, per mostrare la bellezza del codice e, forse, per farci vedere il mondo dello sviluppo in modo diverso. 

Il talk è un viaggio attraverso l’origine della programmazione, vista come una forma d’arte, passando attraverso Conway’s Game of Life (1970), le prime competizioni di Obfuscated C Competitions, linguaggi esoterici, programmi quines (programmi che non ricevono alcun input e producono come output la loro stessa sorgente), code golfs e codice che genera l’arte come, ad esempio, Sonic Pi.

Anche in questo caso, potete trovare il talk online.

Giorno 2

Come per il primo giorno, anche le keynote della seconda giornata sono state molto stimolanti.

Julie Lerman – Living With Your Legacy

Nel primo intervento, una keynote davvero interessante di Julie Lerman sui sistemi legacy, la speaker ha espresso il suo punto di vista: non è detto che lavorare su un sistema legacy sia un “career killer”, perchè nonostante  non sempre venga sviluppato qualcosa di nuovo, c’è il vantaggio di poter portare avanti un progetto. Quello che bisogna fare è introdurre le nuove tecnologie e i nuovi paradigmi all’interno del sistema in essere: ad esempio, nulla vieta di versionare comunque con GIT un progetto scritto in Visual Basic 6. 

Un altro punto importante sul quale si è soffermata Julie Lerman è quello di fare refactoring (tecnica per modificare la struttura interna di porzioni di codice senza modificarne il comportamento esterno) solo sui pezzi di codice che si stanno toccando, perché il tempo a nostra disposizione di solito è limitato e non è detto che non si trovino grossi problemi.
Inoltre ha ribadito più volte la necessità di essere trasparenti con il cliente qualora emergano debiti tecnici importanti.

Potete trovare qui il talk di Julie.

Jonathan Mills – Building Realtime Serverless APIs with GraphQL

Tra gli speaker della BuildStuffLT di quest’anno c’era anche Jonathan Mills, un personaggio molto famoso nel mondo della programmazione soprattutto se avete seguito qualche corso di Javascript su Pluralsight. Vietato, dunque, perdersi il suo talk.

Questo era più una demo, ci è stata esposta una piccola applicazione Rest Serverless che utilizza GraphQL. L’intento di Jonathan era infatti mostrarci quanto fosse facile ottenere dati e manipolarli, in base alle esigenze del nostro front-end, da un’API che usa GraphQL. Jonathan ci spiega anche che un’API di questo tipo è particolarmente utile quando abbiamo diversi device types che la interrogano. Per esempio un’API che deve fornire i dati per i computer, per gli smartphone e per gli smartwatch: in questa situazione ci tornerebbe particolarmente utile perché possiamo facilmente interrogare l’API soltanto per dati che interessano quel particolare device type. Potrebbe essere molto utile anche nel caso si abbiano diverse sorgenti dati e li si debba aggregare in qualche modo prima di inviarli a chi li ha richiesti. 

Infine, dopo aver seguito questo talk, posso dire che GraphQL non sembra per niente difficile da implementare, è molto leggibile, veloce e facile da testare. Di sicuro è un tool da tenere sott’occhio.

Ted Neward – Why the Next Five Years will be about languages

La seconda giornata si è conclusa con la keynote Why the Next Five Years will be about languages, di Ted Neward.

Il relatore ha fatto una panoramica a 360° sul mondo dei linguaggi di programmazione, toccando vari argomenti durante il talk. Una riflessione interessante è stata quella relativa al fatto che molti sviluppatori tendono a “snobbare” i linguaggi di programmazione nati nel mondo accademico ma, se ci fermiamo a riflettere, possiamo notare che gli unici linguaggi che non sono nati nelle università sono ADA e COBOL. È anche vero che all’interno dell’universo dei linguaggi accademici ci sono alcuni di essi che durano solamente una decina di anni ma altri, diventano “immortali”: è il caso di linguaggi come C, Ruby e Phyton. Un’altra riflessione fatta da Neward è quella relativa alla grande diffusione di Java, secondo lui dovuta al fatto che gestisce automaticamente la memoria e libera il programmatore da questo onere. Grazie a questa funzionalità è stato adottato dalla maggior parte dei programmatori a scapito del C. Ovviamente, essendo il paradigma funzionale un trend topic di questo periodo, è stata doverosa una riflessione su di esso: ora sembra un paradigma molto innovativo, ma bisogna ricordare che LINQ si basa su concetti del linguaggio LISP e ciò che ora sembra innovativo per i programmatori Object Oriented, è in realtà la normalità per gli sviluppatori Lisp e Haskell.

Giorno 3

La visita agli stand, durante la terza giornata dell’evento, è stata altrettanto sorprendente.

Lo stand della Microsoft, ad esempio, esponeva Hololens, un dispositivo tramite il quale era possibile vedere il corpo di un essere umano privo della pelle. L’obiettivo era, sostanzialmente, mostrare l’anatomia dei tessuti umani e devo dire che il modello 3D era molto realistico.
La DanskeBank, tramite un enorme schermo provvisto di una telecamera e grazie a degli algoritmi di ricognizione facciale proponeva la ricostruzione del viso dell’osservatore in versione pixelata… Davvero divertente!
La SEB, invece, ha portato un interessante progetto, che permetteva di far muovere delle macchinine elettriche sopra un percorso tracciato solo grazie alla concentrazione: un’apparecchiatura posta sulla nostra testa riceveva informazioni dalle nostre attività cerebrali.

Insomma, la BuildStuff si è veramente dimostrata tra le conferenze più sorprendenti di sempre: ho potuto imparare molto dai talk, ho conosciuto dei personaggi incredibili del nostro settore. Se ne avrete la possibilità, non fatevi sfuggire l’occasione di partecipare!

Interessante? Chiedici una consulenza