- ° quarter

Gilde: accrescere e condividere le conoscenze

Ogni settimana dedichiamo parte del nostro tempo per lavorare all'interno delle Gilde. La Gilda è gruppo spontaneo di 4-8 persone che nasce con lo scopo di apprendere e condividere le conoscenze. Ogni quattro mesi si formano nuove Gilde sulla base degli argomenti proposti liberamente da ogni persona.
2020 1Quarter

iwwwannaplay: microbit + design

Questa gilda, composta sia da sviluppatori sia da designer, si è posta due obiettivi:
  • progettazione e realizzazione di controller fisici (cartone o altro materiale) che integrino la scheda micro:bit e permettano di comandare giochi realizzati in Scratch;
  • realizzazione di uno o più mini siti in linea con l’argomento (retro)gaming per capire e sfruttare le potenzialità di animazioni e transizioni (scrollMagic più barbaJS).

I primi incontri sono stati dedicati a una fase di analisi della scheda micro:bit, dei controller da realizzare in cartone, quali videogiochi sviluppare, il concept e la grafica del sito. Serviva una sorta di filo conduttore: definire lo stile, ispirandosi al mondo del retrogaming anni ’80.
Sono stati prodotti diversi output, presentati a un appuntamento ad hoc di gildonferenza:

  • due videogiochi con Scratch: Space Shooter (navicella che spara per distruggere asteroidi) e Road Rage, gioco di guida di un’auto;
  • due controller fisici (joystick e volante);
  • un minisito che fa da collettore: presentazione dei due giochi e istruzioni di montaggio dei controller.

Insanely Fast Devs

Chi ha detto che sviluppare una applicazione web debba richiedere molto tempo?
Con questa gilda sono stati messi alla prova alcuni strumenti che accelerano lo sviluppo scoprendo che è possibile ottenere un valido risultato in pochissimo tempo. Di seguito alcuni:
  • Gatsby.js
  • Firestore
  • Spring Boot
  • React Native
Il focus è stato su strumenti per lo sviluppo di frontend e backend, che dessero un punto di partenza estendibile e “production ready”.
Come output sono stati realizzati diversi progetti: alcuni solo dimostrativi, altri attualmente utilizzati nella vita aziendal.

MarHashCode

La gilda è nata con unico obiettivo: sviluppare le competenze necessarie per partecipare al round di qualificazione della competizione Hash Code, organizzata da Google per il 20 Febbraio.
Negli incontri a disposizione il gruppo ha svolto le seguenti attività:

  • simulazione del round di qualificazione, ossia quattro ore dedicate alla risoluzione di esercizi degli anni precedenti;
  • eventuale ripetizione di esercizi andati male e analisi delle soluzioni pubblicate da altri team;
  • retrospettive per individuare gli aspetti da migliorare;
  • analisi e sviluppo di strumenti utili come “highcharts” per i dati e un progetto base dal quale partire per la risoluzione degli esercizi.

Tutto ciò ha permesso al team di classificarci al 560° posto su un totale di oltre 10000 partecipanti provenienti da tutto il mondo. Per saperne di più sulla serata della competizione Hash Code, potete leggere l’intervista linkata alla fine della scheda di questa gilda.

JS4dummies

Durante il loro percorso, i componenti di questa gilda hanno affrontato i concetti base del linguaggio JavaScript, la sintassi, Node.js, e il tema della gestione dell’asincronicità (callback, promise, async/await).

Uno degli output ha riguardato la realizzazione di un semplice CRUD per la gestione anagrafiche. È stato implementato:

  • un server REST utilizzando Fastify e MongoDB;
  • la gestione delle REST tramite Swagger;
  • la documentazione;
  • il frontend utilizzando Angular.

L’altro importante risultato è un articolo di approfondimento tecnico del lavoro svolto, che potete leggere cliccando il link al termine della scheda di questa gilda.

GildIT

Lo scopo della gilda è stato studiare e produrre strumenti da inserire nell’infrastruttura di rete aziendale per renderla attuale, fruibile e sicura.
Dei tanti temi proposti, sono stati approfonditi e sperimentati i seguenti:

  • DUO Mobile per la 2FA (Two Factors Authentication);
  • Google Meet con accesso telefonico, o alternative all’utilizzo di Meet;
  • WeKan, uno strumento open source grazie al quale è possibile gestire Kanban board, definire card, swimming lane e altro.

Sekt – Strict Extreme Kata Tournament

La gilda è nata con l’obiettivo di approfondire ognuna delle dodici pratiche della metodologia eXtreme Programming.

A ogni incontro il gruppo ha diviso il tempo a disposizione in due parti:

  • teoria/studio: scegliere un argomento, dopodiché cercare – entro un tempo limite – informazioni sul Web e riportarle in un foglio digitale condiviso, e infine rivedere insieme il materiale raccolto;
  • parte pratica: selezionare un Kata di programmazione tra i numerosi disponibili, decidere quale stile di Pair Programming e, divisi in mini gruppi, lavorare al Kata, retrospettiva finale per trovare considerazioni/azioni da applicare alla prossima iterazione.

Come output è stato organizzato un incontro ad hoc durante il quale collaborare insieme per risolvere alcuni Kata di programmazione.

2019 3Quarter

AgiLEGO

Obiettivo di questa gilda è stata la produzione di uno strumento a supporto dell’indottrinamento verso le metodologie Agili.
Nello specifico è stato creato un video sull’evento Daily Scrum avvalendosi la tecnica dello stop motion e utilizzando, come scenografia e interpreti, dei componenti LEGO®.
La realizzazione di un filmato è esso stesso essere parte del percorso di indottrinamento, sia come argomento trattato sia come organizzazione del lavoro stesso.
Nel video sono stati messi in scena gli errori tipici in cui i componenti del team possono incorrere.
Come è stato organizzato il lavoro? Di seguito gli step seguiti per la pianificazione della realizzazione del filmato:

  • coordinamento dei lavori in accordo alla consegna del materiale ordinato;
  • stesura del copione;
  • suddivisione dei compiti tra shooting e montaggio ha permesso di migliorare i legami tra i componenti del team.

Gumly

Una gilda composta sia da UX designer che da sviluppatori, con l’obiettivo di realizzare un prodotto per la experience transformation dei clienti: Gumly.
L’applicazione ha lo scopo di facilitare il lavoro designer durante le fasi evolutive di un progetto consentendo di mappare, monitorare e migliorare l’esperienza degli utenti.
Attraverso questo strumento è possibile:

  • identificare e rappresentare le tipologie di utenti/personas facendone emergere le aree di azione e i bisogni;
  • mappare i Customer Journey evidenziandone le interazioni e organizzandoli in macro flussi;
  • ottimizzare i processi tenendo traccia di tutti i pain point e di tutte le opportunità identificate durante la fase di ricerca qualitativa e quantitativa.

CobraML

Questa gilda è nata principalmente per due motivi:
  • acquisire una padronanza di base del linguaggio Python;
  • sfruttare la conoscenza di Python per apprendere i concetti fondamentali del Machine Learning.
Per mettere in pratica i concetti appresi è stato sviluppato uno script con lo scopo di mettere in comunicazione due sistemi (mediante API REST) trasformando i dati prima di salvarli.
Il primo contatto con il Machine Learning è avvenuto utilizzando una libreria per il riconoscimento facciale: in poco tempo è stato realizzato un software in grado di riconoscere con successo i volti dei membri del nostro team all’interno di foto di gruppo. Il gruppo ha poi approfondito la comprensione dei meccanismi implementati dalla libreria attraverso sessioni di studio e di implementazione di diversi approcci: reti neuralialgoritmi geneticialberi di decisione e reti bayesiane.

Test-Write-Share

Una gilda nata con l’obiettivo di implementare una libreria condivisibile all’interno dell’azienda (e pubblicarla come software open source) con particolare attenzione all’utilizzo di tecniche di test come garanzia di qualità.
Il codice è stato scritto utilizzando TDD e refactoring durante sessioni di mob programming.
I partecipanti, durante gli incontri, hanno affinato l’utilizzo degli strumenti di sviluppo messi a disposizione dall’IDE più utilizzato, IntelliJ.
Di seguito sono elencati alcune attività oggetto di approfondimento:

  • utilizzo di JUnit 5 anche per fare chiarezza sulla realizzazione dei test parametrici;
  • dry run del talk di Ferdinando Santacroce dal titolo “Testare l’intestabile“;
  • prove con la libreria PITest per verificare la test coverage del codice attraverso la tecnica del Mutation Testing.