Am primit săptămânile trecute de la Today Software Magazine invitația de a participa, la I.T.A.K.E. Așteptam acest eveniment încă din toamnă, de când am discutat la IT Days cu Alex Bolboacă despre conceptul "unconference", concept care mi s-a părut foarte interesant. Recunosc că am avut o mică reținere având în vedere faptul că se anunța o conferință de "Software craftmanship", curent cu care nu prea rezonez. Totuși, în program erau și câteva prezentări legate de programarea funcțională și speram să cunosc mai mulți oameni interesați de acest subiect. De aceea, nu am stat pe gânduri și am acceptat imediat.
Locația a fost foarte bună: ultracentral, pentru pretențioși. Conferința s-a desfășurat pe mai multe fire, ceea ce m-a ajutat să mă eschivez de la subiectele care nu mi s-au părut interesante. Dintre "keynote speakers" mi-a plăcut doar Andrea Mocci, care a avut o prezentare despre vizualizarea codului și a felului în care lucrează programatorii. James Lewis și Simon Brown au abordat generalități. Spre dezamăgirea mea, James Lewis a vorbit despre microservices ca și când ar fi o idee nouă, fără să facă deloc trimitere la sisteme ca Erlang, în care de treizeci de ani se dezvoltă arhitecturi asemănătoare și din care un programator care scrie microservices ar putea aduna înțelepciune cu sacul.
Cât despre restul prezentărilor, am participat aproape în exclusivitate la cele din aria "hardcore programming", însă nu am simțit că merita bătut atâta drum. Repet, nu am participat la celelalte fire ale conferinței. Faptul că s-au desfășurat mai multe prezentări în paralel, a reprezentat un dezavantaj. Se poate să nu îmi fi ales bine prezentările, dar nu am fost impresionat. Cu mici excepții, au cam lipsit momentele "aha!", momente în care să remarc o idee nouă pe care vorbitorul mi-a transmis-o. Asta nu înseamnă că neglijez munca depusă de prezentatori și nu le apreciez efortul, ci doar că mă așteptam la un alt nivel.
O excepție a fost prezentarea "Monoids. Monoids Everywhere!", a lui Cyrille Martraire, care ne-a vorbit despre felul în care, în aplicații reale, am putea profita de compozabilitatea oferită de monoizi. A descris în câteva slide-uri monoidul, așa cum e definit în teoria categoriilor și apoi a arătat cum se aplică la codul real, cu care se luptă majoritatea dintre noi. Tema s-a aflat la intersecția dintre DDD și programare funcțională. Nivelul a fost introductiv, fără pretenții prea mari de la ascultători. S-a pus o problemă interesantă: dacă încercăm să alegem modelele astfel încât să fie monoizi, rezultatul este mai elegant, mai compozabil și mai ușor de folosit. E nevoie de mai multe prezentări de genul acesta, care să scape programarea funcțională de aerul academic pe care îl are în prezent și să ne arate cum am putea profita de tehnicile ei în situații întâlnite de "programatori normali".
Partea cea mai interesantă al evenimentului a fost, de departe, componenta open space. În ambele zile, a doua jumătate a fost rezervată pentru "open space". Rețeta e relativ simplă:
În 15 minute două treimi dintre cele 42 de slot-uri disponibile pentru ambele după-amieze au fost ocupate. Restul s-a ocupat ulterior. Tabelul s-a umplut cu stickere colorate cu subiecte foarte variate cum ar fi DDD, microservices, Clojure, big data, vim, coaching, programare funcțională, testare, continuous delivery, Scala etc. . O bună parte din merit îi revine moderatorului Mike Sutton, care a reușit să îi mobilizeze pe participanți să vină cu subiecte de discuție.
Definiția pe care o dă Alex Bolboaca open-space-ului și anume "o conferință care constă doar din pauze de cafea" e foarte reușită. Exact asta s-a întâmplat: oameni implicați, discuții aprinse, schimburi de contacte. Au lipsit cu desăvârșire dormitul în banca din spate, cititul mailurilor sau jucatul pe telefon în așteptarea pauzei de țigară. Când informația primită nu justifica timpul consumat, pur și simplu te ridicai și plecai în altă zonă de discuții. Cei care erau prea obosiți își căutau o canapea sau stăteau la o cafea unde, bineînțeles, pornea o altă discuție ad-hoc. Pe scurt: a fost o experiență excelentă.
Referitor la calitatea prezentărilor din cadrul open-space, unele au fost mai bune, altele mai puțin bune, dar asta e mai puțin important. Important e faptul că discuțiile pornite în jurul subiectelor respective au fost reușite și că lumea a participat activ. Impresia mea a fost că majoritatea nu a venit cu materiale pregătite. Au desenat la fata locului și au improvizat pe loc. Nu toate discuțiile au fost purtate într-un mod profesionist, nu toți știut să vorbească în public. Dar, din nou, asta nu contează. Contează faptul că și-au făcut curaj și s-au implicat masiv, lucru care a făcut evenimentul reușit.
În concluzie, trebuie să îi felicit pe cei de la Mozaic Works pentru organizare și, în primul rând, pentru formatul ales. Fără discuție, a fost un eveniment la care a meritat să merg. Sper că în edițiile viitoare partea open-space va ocupa majoritatea timpului. Eu unul voi încerca să aplic formatul acesta la viitoarele întâlniri ale comunității de programare funcțională. De asemenea, sper ca organizatorii evenimentelor de IT din Cluj și nu numai, să înțeleagă valoarea unui astfel de format și să avem cât de curând și un unconference local.