Codemotion Rome 2017 – inseguire elefanti 🐘 fino alla luna 🌝
Come al solito volevo scrivere prima questo post, ma in questo periodo sembro avere un backlog abbastanza scombinato (e i capelli un po’ dritti). Questa scombinatezza di piani però non mi ha distolto dall’andare lo scorso weekend al Codemotion, e farmi avvolgere dall’amicizia di tante persone che non vedevo da tantissimo tempo, dal calore di chi vedo spesso a Roma, ma soprattutto dalla preparazione degli speaker di cui quest’anno mi sono goduto i talk.
Non so se è per qualche ragione particolare, ma quest’anno per me è stato il Codemotion più bello di tutti. Forse ho sentito di più la mia missione di “portatore di novità” in quanto a bagaglio culturale aziendale, forse effettivamente gli speaker di quest’anno avevano qualcosa in più (vero Luca? Vero Matteo?), o forse semplicemente sotto alcuni punti di vista ero più rilassato tanto da riuscire a godermi meglio l’evento, ma nessun Codemotion mai fatto supera per me quello di quest’anno.
Che cosa ho seguito
Molto del valore che ha avuto per me la conferenza quest’anno sicuramente lo devo agli speech che ho scelto di seguire, e con un pizzico di fortuna (può capitare il talk leggermente fiacco) ho piazzato tutte le mie scommesse sui cavalli giusti, nonché ovviamente su persone che mi hanno fatto portare a casa un bagaglio clamoroso di conoscenze e sentimenti.
Nello specifico, e in rigoroso ordine cronologico:
- Giorgio Natili - Unethical JavaScript: La voce sexy di Giorgio mista al suo accento “peggiore di Mario” (parole sue) di solito è sinonimo di qualità. Anche questa volta non mi ha deluso, parlando di best practice miste a un po’ di ultimo grido per scrivere codice leggibile facendo un po’ meno gli hipster e un po’ di più i ragazzi gentili nei confronti dei colleghi che dovranno mantenere le nostre applicazioni. Messaggio principale: “Scrivi sempre il codice come se il prossimo maintainer fosse un pazzo psicopatico che sa dove vivi”.
- Luca Lanziani - Introduzione a NodeJS: Durante il meetup preserale della meravigliosa community di RomaJS (di cui qui alcuni esempi di figaggine) Luca ha presentato le basi per scrivere Javascript sul server senza paura e con un minimo di cognizione di causa. La cosa interessante è che era stata preventivata un’introduzione un pelo più profonda (e interattiva), cosa andata improvvisamente a monte visti due fattori: l’aula pienissima di persone, e il fatto che in pochi in realtà si erano già confrontati con NodeJS anche solo in maniera embrionale. Rispolverare le basi è sempre interessante, bisognerebbe farlo periodicamente con ogni tecnologia o framework, e date queste premesse anche i più senior hanno potuto (imho) portare comunque a casa un valore aggiunto.
- Russ Olsen - To The Moon: Troppo inspirational anche per una track inspirational. Russ Olsen ha descritto il percorso dalla terra alla luna, le decisioni strategiche che hanno condotto a questo traguardo, gli ostacoli, e le storie di uomini che hanno gettato il cuore oltre quegli ostacoli. Ho pianto come un vitello, e ho anche riscoperto il motivo per cui faccio quello che faccio, ogni giorno.
- Luciano Mammino - Universal Javascript Web Applications with React: Non avevo mai visto uno speech di Luciano, è molto bravo e ha introdotto un concetto interessante, demistificando il concetto di Universal Javascript (ossia il codice che può essere eseguito in maniera indiscriminata lato server e lato browser), mostrando come attraverso una serie di best practice e facendo riferimento a determinate librerie si possa raggiungere questo risultato con poco sforzo.
- Ronnie Chen - Staying Alive: Patterns for Failure Management From the Bottom of the Ocean: Rimanendo nella stessa aula, ho avuto il piacere di seguire Ronnie Chen, Data Engineer di Slack che ha parlato di pattern per la gestione del fallimento, facendo riferimento a uno degli oggetti più pericolosi per chi fa il sub, ovvero il rebreather. Prendendo spunto dalle procedure di emergenza in caso di malfunzionamento dei rebreather, e dalle best practice (come le checklist pre-immersione) per verificare in maniera preventiva l’operatività di questi, Ronnie ha illustrato come portare questi pattern all’interno di una tech company. Il paragone tra un server sotto botta e un rebreather che ama far scherzi è stato particolarmente efficace.
- Nicola Iarocci - RESTful Services Made Easy: The Eve REST API Framework: Il talk di Nicola è stato un hands-on interessante su un framework che ha sviluppato lui per servizi web REST in Python. A parte l’apprezzatissima scelta tecnica di basarsi su Flask per gestire le richieste agli endpoint, mi è risultata veramente efficace la strategia di far gestire praticamente qualsiasi cosa a livello di configurazione, dando la possibilità al programmatore di inserirsi nel ciclo di vita della API solo quando ne ha realmente bisogno. In questo modo secondo me il time to market si abbassa di un casino di tempo.
- Matteo Manchi - React Native for multi-platform mobile applications: Non avevo mai approcciato le applicazioni Android o iOS, se non per qualche ora totale della mia vita. React Native sembra un buon approccio allo sviluppo mobile per massimizzare la condivisione del codice su più piattaforme, e riuscire comunque a non perderci in performance renderizzando in ogni caso componenti grafici nativi. Matteo poi, come speaker, è veramente bestiale, tiene l’attenzione del pubblico e qualsiasi concetto lo esprime in maniera molto chiara, senza fronzoli, e sempre con qualche battutina che alleggerisce il clima. Come ultimo speech è stato veramente una boccata d’aria fresca, e non ho avvertito minimamente la pesantezza di tutta la conferenza sulle spalle. Plus: appena uscito volevo andare a scrivere JS per mobile. 😂
- Alberto Brandolini - Chasing Elephants: Alberto è stato un keynoter veramente tosto. Il suo talk è stato controverso, perché da un lato ha celebrato ancora una volta il “perché lo facciamo”, dall’altro mi ha fatto venire un po’ di depressione specialmente con le sue frasi riguardo il fatto che nessuna azienda italiana ha mai visto un senior developer in faccia. Sono tendenzialmente d’accordo, e questo mi intristisce molto. Anche qui un bagaglio molto interessante da portare a casa: “good developers go where good developers are; good developers are compulsive learners”.
Il pelo nell’uovo
“Ma ha anche dei difetti” è un meme che mi fa sempre ridere. E anche questo Codemotion, come quelli passati, e come la Panda 4x4, ha anche i suoi difetti. Difetti minimi, per carità, ma vale la pena andare a trovare il pelo nell’uovo per evitare lo status quo, no? 😇
In realtà come miglioramento marginale quello che ho potuto vedere è che molto della conferenza era spostato sul lato architetturale dello sviluppo di un’applicazione, o sul frontend. Una cosa a cui mi piacerebbe assistere sarebbe una maggior diversificazione tra le piattaforme utilizzate, mentre il feeling di quello che propone la comunità (che mi rendo conto che non sia esattamente controllabile da Codemotion) è sempre un po’ “Javascript, Java - e poi ci sono i soliti ignoti tipo Golang e Elixir”.
Mi rendo conto che sia meno appetibile, e che vada contro i miei stessi interessi, ma a me piacerebbe vedere anche altri tipi di informatici come gli esperti di networking confrontarsi a Codemotion, eventualmente a scapito di Javascript che quest’anno ha avuto una track dedicata.
D’altra parte mi fa piacere che una tecnologia che mi piace tanto come questa abbia una track tutta sua e un percorso privilegiato… forse un po’ troppo? Dopo questa critica, in ogni caso, sono sicuro che Guido mi verrà a prendere per un orecchio in ufficio 😂
Ending theme
Siamo arrivati in fondo. Spero che Codemotion continui così, è una grande conferenza con i suoi punti di forza e le sue contraddizioni. Mi fa piacere che in molti continuino a frequentarla, e che ormai sia il punto di riferimento in Italia. Al di là dell’aspetto tecnico, è anche un modo per incontrare tantissimi amici che altrimenti non vedrei mai, e un momento per dire “ok, stacco gli occhi dal monitor”.
Al prossimo Codemotion 😎
Images courtesy of Codemotion. Thanks guys!