Frameworkless, o dell'incontro tra business e tech

Intervista a Francesco Strazzullo

Francesco Strazzullo è Developer @  Flowing e trainer Avanscoperta.
Appassionato di codice fin dal primo incontro con il mondo tech (il nome PlayStation vi dice niente?), tra una riga di codice e un’altra si diverte sui palchi di conferenze ed eventi in Italia e in Europa a raccontare le sue esperienze in ambito architettura web e pratiche agili.

Gli abbiamo fatto qualche domanda per conoscerlo meglio.
Buona lettura!

Avanscoperta: Ciao Francesco! Nella tua bio leggiamo che il primo contatto col mondo del software l’hai avuto grazie alla mitica PlayStation e al videogame di Tomb Raider (e non sei stato certamente l’unico!).
Un’esclusiva per Avanscoperta: chi ti ha regalato la prima console, e quali altri giochi ti piacevano?

Francesco: La mitica PlayStation è stata la mia prima console in realtà. Quindi per me la passione dei videogame è nata proprio con i giochi di quegli anni.
Oltre a Tomb Raider ricordo ancora benissimo Crash Bandicoot, Metal Gear Solid e Final Fantasy VII, tutti giochi che ogni paio d’anni rispolvero in qualche modo. Tomb Raider è stato uno dei primi che ho avuto.
Quando ho visto Lara Croft in un mondo che sembrava così reale (per l’epoca) mi impressionò a tal punto che decisi che, da grande, avrei fatto quello: i videogame. Da lì il primo interessamento alla programmazione, anche se poi nella vita ho fatto altro.

PlayStation
La mitica PlayStation! Quanti pomeriggi passati a giocare a Tomb Raider, Crash Bandicoot, Metal Gear Solid, Final Fantasy VII…

Avanscoperta: Dalla PlayStation sei passato allo sviluppo software, che proprio negli anni ‘90 muoveva i suoi passi nella forma in cui lo conosciamo oggi. Cosa ricordi di quei primi anni, e qual è stato il tuo primo progetto web?

Francesco: Come quasi tutti i ragazzi della mia generazione l’approccio al web è arrivato grazie ai CMS come WordPress, Joomla e così via.
Il primo vero “software” web l’ho sviluppato in ASP Classic nel mio primo anno di università. Dei piccoli software gestionali per il comune di Jesi in provincia di Ancona.

Avanscoperta: Delle mille sfaccettature del mondo dello sviluppo software, hai deciso di occuparti più specificamente dello sviluppo Frontend.
Quali sono le ragioni di questa scelta, e di quali altri ambiti ti piace occuparti quando non sei impegnato con il Frontend?

Francesco: Perché da sempre preferisco studiare le architetture software rispetto alla creazione di algoritmi. Detto in altre parole ho sempre preferito studiare come far dialogare le varie parti di un’applicazione in maniera sana piuttosto che risolvere problemi logici complicati.
Ed oggi per me il Frontend è proprio questo: risolvere una miriade di problemi semplici ma organizzati in una maniera molto complessa.

La complessità del Frontend deriva da essere la prima linea verso gli utenti. Quindi un buon Frontend vive di esperimenti e di cambiamenti costanti.

Ultimamente mi sto appassionando alla Blockchain e agli Smart Contract, credo che la creazione di una rete che non sia controllata da un ente centrale (e quindi non censurabile) sarà la prossima rivoluzione della nostra fruizione delle informazioni.

Avanscoperta: Cosa significa, oggi, scegliere un Framework piuttosto che un altro?
C’è davvero l’imbarazzo della scelta… quali linee guida proponi a chi si affaccia al mondo dello sviluppato software?

Francesco: In generale noi sviluppatori tendiamo a fare scelte di questo tipo solo ed esclusivamente da un punto di vista tecnico: performances, community e in generale le skill attuali del team.
Questo atteggiamento però non è esaustivo, bisogna coinvolgere il cliente nelle scelte tecnologiche.

La responsabilità della scelta è nostra e non del cliente, ma il nostro compito è quello di fare le domande giuste e capire che una scelta tecnologica non può essere scollegata dal modello di business di cui il nostro software è parte.
Questo argomento è molto lungo e complesso, e sarà parte integrante del workshop. Una piccola anticipazione si può trovare su Medium in un articolo che ho scritto qualche tempo fa.

Meme Developers
Lo vuoi un framework-cino colorato?! L’incubo di generazioni di bambini… e sviluppatori!

Avanscoperta: Perché si è reso necessario ideare un approccio allo sviluppo software chiamato “Frameworkless Frontend Development”?

Francesco: Perché oggi la community frontend mondiale si sta legando in maniera indissolubile ai framework. Molti sviluppatori frontend non credono sia possibile far partire un progetto senza utilizzare nessun framework.
Ma il JavaScript e le API del Browser sono cambiate. Il web oggi è un ecosistema molto più solido rispetto a quando utilizzavamo jQuery.

Avanscoperta: In un recente intervento sul suo blog, Matteo Vaccari sembra avallare l’idea che sviluppare software senza utilizzare i framework non solo sia possibile, ma sia persino meglio!
Quali spunti del suo articolo ritieni siano i più attinenti con il tipo di approccio che proponi nel tuo workshop e nei tuoi talks?

Tweet Lorenzo Massacci
Lorenzo Massacci riassume in un tweet alcuni spunti presenti nell’articolo di Matteo Vaccari citato da Francesco Strazzullo

Francesco: Matteo Vaccari fa una riflessione davvero illuminante. Applicando il pensiero lean allo sviluppo software, se utilizziamo un framework in un contesto in cui il framework stesso non porta abbastanza valore, generiamo spreco. Spreco nell’imparare il framework, spreco negli aggiornamenti e così via.

Il punto per me rimane sempre lo stesso: per scegliere uno strumento bisogna capire il contesto in cui il nostro software “vive”, solo così possiamo capire se un framework è utile al team o è spreco,

Avanscoperta: Qual è stata la tua fonte di ispirazione nella messa a punto di questo approccio? Hai qualche “horror story” da condividere, o un momento “eureka” che ti ha fatto capire che la strada del Frameworkless Development fosse quella giusta?

Francesco: Il momento dell’Eureka l’ho avuto leggendo il post di Uncle Bob “Make the Magic go away”. Uncle Bob afferma che ogni framework in realtà è l’equivalente di questa affermazione: “My language sucks!”. Non sono d’accordo al 100% con il contenuto del post, ma devo ammettere che mi ha fatto molto riflettere.

L’intuizione è stata quella di dire “Io adoro JavaScript e la sua community, quindi perché non provo a non usare frameworks”, da lì mi sono accorto che la cosa è salutare anche solo come esperimento formativo.

Avanscoperta: Il tuo workshop “Frameworkless Frontend Development” è ormai giunto alla terza edizione.
Ci racconteresti qualcosa di questo workshop?

Francesco: Il workshop ha lo scopo di far capire quali sono le caratteristiche dei software frontend che ci sono oggi per poi provare a (ri)scrivere un’applicazione frontend senza nessun tipo di framework.
Affronteremo vari argomenti quali la manipolazione del DOM, il rendering, lo state management ed il routing.
Inoltre cercheremo di capire quando è il caso di adottare una soluzione frameworkless, e di come possiamo scegliere un framework in maniera sana.

Avanscoperta: A chi è rivolto il tuo corso, e cosa potranno portarsi a casa i partecipanti a livello pratico?

Francesco: Dato che non tratteremo un framework specifico, il corso è rivolto a chiunque abbia una minima conoscenza del JavaScript e del DOM.

Credo che i partecipanti potranno portarsi a casa una maggiore consapevolezza del fatto che creare una struttura che risponda esattamente ai requisiti di business sia non solo utile ma anche stimolante

Avanscoperta: Recentemente sei stato invitato a numerose conferenze internazionali come speaker e hai portato avanti il verbo del Frameworkless Development… qual è la reazione della comunità internazionale a questo approccio, e quali spunti utili ti sono stati forniti in questo contesto?

Strazzullo a Codemotion
Full house per Francesco Strazzullo e il suo talk su Frameworkless Frontend Development a Codemotion Milano 2017

Francesco: Ho notato che la gente è entusiasta ed un po’ attonita. In primo luogo perché quando faccio vedere un esempio di codice Frameworkless si rende conto di quanto il codice sia chiaro e leggibile.
In secondo luogo perché affermo che le scelte tecnologiche vanno fatte insieme al cliente, capendo il suo contesto.
Quest’ultima cosa è un concetto un po’ alieno per gli sviluppatori

Avanscoperta: Chiudiamo con una domanda sul futuro: quali sono i tuoi prossimi progetti, e che piani hai per il 2018?

Francesco: Nel 2018 spero di riuscire a fare lo speaker in Italia e all’estero come quest’anno. Ho già in mente un paio di talk da proporre in giro per il mondo.

Ma il mio progetto principale è quello di migliorare e diffondere l’Architectural Clash, un format ideato da me e da Lorenzo Massacci per testare l’adattabilità di un software a cambiamenti estremi. Spero che ne sentirete parlare presto 😉

Avanscoperta: Grazie mille Francesco, è stato un piacere parlare con te! Ci vediamo in aula a Febbraio! 🙂

Francesco: Grazie a voi!

Learn with Francesco Strazzullo

Francesco è il trainer di Frameworkless Frontend Development Workshop e autore del libro Decision-making for Software Development Teams (edito da Avanscoperta e disponibile su LeanPub).

La lista completa dei nostri corsi: Avanscoperta Workshops.

Francesco Strazzullo

Francesco is a web developer with a focus on Javascript and on the frontend and mobile apps development.

Enrico Meloni

Event manager and specialist, producer, customer experience, trainers' roadie and assistant - ensuring all stakeholders have a great time and an impactful learning experience.

Great! You've successfully subscribed.
Great! Next, complete checkout for full access.
Welcome back! You've successfully signed in.
Success! Your account is fully activated, you now have access to all content.