Alexandra Ștefănescu, Code for Romania: „Cea mai mare parte a infrastructurii din spatele internetului pe care-l folosim azi este software open source”39 min read
Alexandra Ștefănescu, Chief Technology Officer Code for Romania, vorbește despre importanța factorului uman într-o lume digitală, nevoia de a crea sisteme de operare cu sursele deschise și voluntariatul în perioade de criză.
Alexandra Ștefănescu este pasionată de citit, de jocuri pe computer și de etica din spatele AI. Are o diplomă în Ingineria Sistemelor și lucrează full time pentru Code for Romania, o inițiativă din domeniul civic care, cu ajutorul a peste 1.800 voluntari, dezvoltă aplicații și tehnologie puse în slujba cetățeanului.
Poate cea mai cunoscută aplicație a lor este site-ul stirioficiale.ro, folosit de autoritățile de la noi pentru a anunța, zilnic, informații despre cazurile de COVID-19, dar Code for Romania a mai făcut și Vot Diaspora, o platformă prin care românii din afara granițelor primeau rapid informații clare despre locul și condițiile în care pot vota, sau Monitorizare Vot, o aplicație pe telefon prin care observarea nu se mai făcea cu pixul pe hârtie, iar informațiile se transmiteau în timp real, în secțiile de votare.
La începutul lui aprilie, Code for Romania a împlinit cinci ani de existență. Am vorbit cu Alexandra despre cum s-a integrat în echipă, felul organic în care se distribuie și se rezolvă lucrurile aici și rolul vital al transparenței în tehnologie, care a dus, de altfel, la crearea unei puternice comunități open source.
Mindcraft Stories: Pe Facebook te descrii ca „open source cat”. Vorbește-mi mai mult despre conceptul de open source, ce te atrage la acest domeniu?
Alexandra Ștefănescu: Open source înseamnă că un obiect, indiferent ce este, poate fi modificat și oferit altora, iar design-ul său și modul cum a fost construit sunt publice, accesibile oricui. Pentru programe software, asta înseamnă că oricine poate modifica direct codul unui program, pentru hardware asta poate însemna că oricine poate citi schema de componente a unui obiect și îl poate repara sau modifica după bunul plac.
Comunitatea open source și ideea de transparență și de a împărți roadele muncii sunt mai vechi decât internetul pe care-l folosim azi.
O parte a lumii a schimbat direcția înspre a scrie programe cu codul sursă închis, proprietar, sau înspre a patenta ceea ce au creat. Există sisteme de operare cu sursele deschise și unele cu sursele închise. Totuși, cea mai mare parte a infrastructurii din spatele internetului pe care-l folosim azi este software open source.
Entuziasmul de a oferi altora ceea ce ai creat, de a colabora direct și transparent cu alții, astea sunt principiile care m-au atras înspre open source. Cred că viitorul este al celor care învață de la alții și oferă, la rândul lor, mentorat, ajutor. În zona de open source, oamenii și omenia sunt componente esențiale ale procesului de dezvoltare. Când lucrezi alături de cineva pe un proiect, modul în care vorbești, ajuți, întrebi, colaborezi este important, la fel cum cunoștințele tale sunt importante. Când contează ceea ce spui și cum spui, oamenii se simt validați personal pentru munca lor – nu e vorba doar de un salariu încasat pentru niște ore prestate.
Ai ajuns să lucrezi în domeniul securității cibernetice, trecând prin poziția de tester, programator, incidence response person. Ce ai învățat din fiecare astfel de experiență?
A.Ș: Am avut multe roluri în anii în care am lucrat în industria IT și faptul că le schimbam atât de des vine din faptul că nu cred în ideea de rol. Nu am fost alt om atunci când pe fișa postului meu scria Asigurarea calității software-ului este un mijloc și o practică de monitorizare a proceselor și metodelor de inginerie software utilizate într-un proiect pentru a asigura calitatea corectă a software-ului. „What does a software quality assurance engineer do?”, careerexplorer.com față de momentul în care scria Developer. În fiecare loc am avut curiozitatea de a înțelege cât mai mult din problema la care lucram – un entuziasm care era util în unele momente, dar care se bătea cap în cap cu ideea că un rol, într-o companie, poate fi făcut de orice om cu un anumit set de cunoștințe.
Perioada în care am făcut Incident Response un set de politici și proceduri utilizate pentru a identifica, rezolva și elimina atacurile cibernetice a fost cea mai apropiată, ca dinamică, de munca pe care o fac acum, în Code for Romania. Lucram într-o echipă foarte mică, alături de trei alți oameni. De la programatorul senior al echipei învățam, zilnic, chiar și doar ascultând conversațiile la masa de prânz. În anul acela am citit și scris cod în vreo opt limbaje de programare diferite – ce era nevoie, aia făceam.
Erau unele zile în care simțeam că nu mai pot procesa mental toate lucrurile pe care le-am făcut, aflat, discutat în timpul orelor de muncă.
Când mă mutam de la o echipă la alta, căutam să mă apropii de acel mod de a lucra la probleme organic, care începe prin înțelegerea sistemului. Unii dintre oamenii cu care am lucrat foloseau argumentul „nu poți să le știi pe toate” pentru a valida un stil de muncă bazat pe hiperspecializare. Pentru mine, încă e un subiect la care mă gândesc și pe care-l discut des – care e modelul generalist de muncă funcțional, productiv?
De ce îți place să schimbi comunitățile și domeniile? Ce te face să vrei să înveți mereu (și) altceva?
A.Ș: Am învățat aproape exclusiv de la oameni, foarte rar am învățat printr-un proces care să nu implice ajutor uman. În facultate, partea mea preferată din orice curs, orice seminar, erau discuțiile libere, aplicațiile directe ale teoriei. Când ascultam cum profesorul discută un anumit concept, când urmăream ponturile și sfaturile care ni se dădeau la seminar când făceam experimente, abia atunci se legau toate informațiile abstracte din curs.
Îmi plăceau oamenii care ne povesteau despre experiențele lor directe, opiniile lor, despre toate pragurile de care s-au dat ei cu capul.
Când lucram în IT, învățam foarte multe în sesiunile de O tehnică de dezvoltare de software în care doi programatori lucrează împreună. Mai multe, aici: wikipedia.org și când făceam Procesul de a găsi și rezolva erori în cadrul programelor, software-ului sau sistemelor de calculator. Definiția, aici: wikipedia.org cu cineva. Din modul în care discuți un sistem, o problemă, reiese rapid informația pe care o știe fiecare, dar și toate presupunerile pe care le fac faci, toate certitudinile pe care crezi că le ai. În modul ăsta organic de a explora o problemă eu simt că pot face progrese mai mari, mai rapide. Este cel mai apropiat model de felul în care gândesc.
Caut să repet experiența asta în orice mediu în care ajung – să învăț de la oameni și să dau mai departe ceea ce am învățat. Caut cât mai multe ocazii să lucrez împreună cu oamenii, nu separat, fiecare la tastatura sa. Văd multă valoare în a citi documentație, a citi explicația formală a unui sistem, iar, apoi, de a intra direct în pâine și a interacționa cu sistemul respectiv. Pentru mine, am nevoie ca cele două lucruri să se succeadă rapid: citesc, încerc, nu iese, revin la documentație, mai încerc o dată.
Când schimb domeniul sau ajung față în față cu o problemă despre care nu știu mare lucru, caut să intru în sesiuni de lucru cu oamenii care sunt acolo, care gândesc și discută despre asta. Cred că este echivalent cu a învăța o limbă străină, mutându-te într-un spațiu în care oamenii o vorbesc zilnic.
Ești Chief Technology Officer la Code for Romania. Cum ai ajuns să lucrezi aici și la ce proiecte ai lucrat până acum?
A.Ș: Am aflat de ideea și energia de a porni Code for Romania înainte să se întâmple – și, recunosc, m-am simțit intimidată, am crezut că eu nu aș putea contribui la ceva atât de mare. Abia după un an de când s-a lansat, am participat la hackathoane organizate de ei și am decis că vreau să voluntariez alături de oamenii de acolo.
La al doilea hackathon la care am participat, mi s-a dat în brațe un proiect care „nu pornea” și am petrecut toată ziua încercând să înțeleg de ce. Am stat la masă cu doi dintre voluntari, fiecare dintre noi încerca să pună pe picioare câte ceva. Am povestit despre piedici, am râs. Când am găsit combinația asta de a lucra organic la o problemă alături de alți oameni, am simțit că vreau să rămân.
Am învățat foarte mult de la oamenii din Code for Romania, și aproape întotdeauna am aplicat direct ceea ce învățam. Când contribuiam cu cod, dinamica era mereu: mai întâi încerci, apoi ceri ajutor. Abia după ce mă dădeam de câteva ori cu capul de prag, mă prindeam ce anume nu îmi este clar și ceream ajutor. Nu e un model confortabil pentru oricine, dar, pentru mine, vine natural.
Când voluntariam, lucram, de obicei, după programul de muncă. Nu trecea zi să nu mă gândesc că aș fi vrut să am mai multă energie, mai mult timp să dedic către Code for Romania. În perioada respectivă ne vedeam de două ori pe lună, în București, la o bere, ceea ce a cimentat niște prietenii frumoase. Cu aceiași oameni cu care glumeam la bere am ajuns apoi să lucrez sub multă presiune, nedormiți, stresați – puteam mereu să mai facem o glumă când ne ajungea adrenalina în gât.
În perioada în care voluntariam, am pus pe butuci una dintre aplicațiile noastre fix în momentele în care era intens folosită, totul din cauza unei paranteze în minus. Am reparat greșeala la trei noaptea.
Cele mai dragi îmi sunt zilele de HackDay dintr-o anumită perioadă. În ultima sâmbătă din lună ne strângem în patru orașe (București, Cluj-Napoca, Iași și Timișoara) și lucrăm o zi întreagă alături de voluntari. Îmi sunt dragi orele acelea când pot să stau lângă cineva și să-i prezint un proiect, o problemă, să discutăm cod, să-i aud poveștile. Tot prin aceste sesiuni de HackDay am ajuns pentru prima oară în Iași și Timișoara (unde m-am și mutat o vreme). În pandemie, am dus dorul acestor întâlniri.
Când poate deveni tehnologia o problemă – fie că vorbim din punct de vedere etic, fie din cel al securității?
A.Ș: Tehnologia poate deveni o forță de segregare, care adâncește diferențele deja existente între nivelurile de trai pe care le au oamenii. Când un serviciu public e accesibil doar celor cu acces la tehnologie, exclude persoane care fie nu înțeleg cum să folosească tehnologia, fie nu au acces la ea. Când un website este construit astfel încât parcurgerea sa cu un screen reader sau din tastatură e imposibilă, exclude persoanele care folosesc tehnologii asistive.
CITEȘTE ȘI: Pandemia amplifică inegalitățile digitale din societate
Algoritmii aflați la baza tehnologiei pe care o folosim sunt, la rândul lor, un factor sensibil. Recunoașterea facială folosită de autorități are la bază produse software a căror eficiență de recunoaștere „Racial Discrimination in Face Recognition Technology”, harvard.edu
Un ultim exemplu este antrenarea algoritmilor de Machine Learning, proces care, pentru seturi de date foarte mari, este un factor poluant la fel de mare precum cel pe care-l au cinci mașini pe durata lor de funcționare. „Training a single AI model can emit as much carbon as five cars in their lifetimes” technologyreview.com
Vorbește-mi despre aplicațiile pe care le-ați dezvoltat pentru transparentizarea votului, buna lui funcționare și inputul tău în toată povestea asta.
A.Ș: Code for Romania a dezvoltat patru aplicații care contribuie direct la transparentizare și accesibilizarea alegerilor, precum și la informarea cetățenilor: Monitorizare Vot este aplicația de facto folosită de observatorii independenți în timpul alegerilor, Vot Diaspora, și, omologul său, Vot România, informează cetățeanul, la fiecare rundă de alegeri, asupra legislației în vigoare, cum și unde poate vota, iar Rezultate Vot conține date despre toate alegerile din România din 1990 până în prezent, plus contextualizarea acestora pe o hartă a țării.
Fiecare din aplicațiile acestea a fost funcțională în timpul a cel puțin două runde de alegeri. Monitorizare Vot a fost folosit deja la șapte runde de alegeri.
Munca de actualizare, dezvoltare, și reparare a fiecărei aplicații în parte, doar în anul 2020, care a avut două runde de alegeri, a pus multă presiune pe echipa tehnică. Rolul meu este unul mixt: coordonez munca voluntarilor și intru, alături de ei, în cod. În aceeași zi scriu cod, fac code review, testez, pun în producție variante noi ale aplicațiilor și fac apoi taskuri noi pentru munca rămasă. Nu este doar experiența mea – întreaga echipă de dezvoltare se organizează organic și nu ne punem singuri etichete și roluri.
Tot tu ai coordonat efortul voluntarilor din perioada de început a pandemiei. Sute de oameni au răspuns la apelul Code for Romania și au luat parte la o Hack Day anti-Covid. Povestește-mi despre această experiență, ce rezultate a avut?
A.Ș: Toate cele șapte aplicații din ecosistemul Covid-19, lansate în perioada lockdownului, sunt funcționale în momentul de față, (n. red.: martie 2021). Ele sunt: O sursă de informare corectă, un proiect realizat în cadrul Code for Romania Task Force în parteneriat cu Guvernul României, prin Autoritatea pentru Digitalizarea României și Departamentul pentru Situații de Urgență, stirioficiale.ro Accesul la date din surse oficiale cu privire la evoluția cazurilor de COVID-19 și a programului de vaccinare în România, datelazi.ro Un ghid cu reguli de interacțiune, acțiune și comportament recomandate în timpul situației de urgență generată de pandemia COVID-19, cetrebuiesafac.ro Platforma vine în sprijinul cetățenilor români din afara României și a asociațiilor și grupurilor de sprijin de peste hotare în situații de urgență precum cea cu care ne confruntăm în prezent, diasporahub.ro Cu ajutorul acestei platforme vei putea vedea care sunt cele mai presante nevoi ale organizațiilor de pe teritoriul țării și vei putea alege către ce cauză vrei să donezi sau la ce eforturi îți dorești să contribui, rohelp.ro O soluție digitală cu ajutorul căreia se reduce suprasolicitarea numerelor de urgență, se colectează rapid informații de la o populație foarte mare monitorizându-ți starea de sănătate. Datele completate de toți utilizatorii aplicației sunt centralizate și transmise zilnic către Institutul Național de Sănătate Publică și Direcțiile de Sănătate Publică pentru a putea gestiona potențiale focare și pentru a te putea proteja mai bine de pericol, jurnalmedical.ro și Un proiect de informare prin care cetățenii pot avea o imagine cât mai clară și corectă asupra rolurilor diverșilor actori din societate în situația de pandemie, cineceface.ro
Perioada de Code for Romania Taskforce, programul în cadrul căruia noi am dezvoltat aplicațiile din ecosistemul COVID-19, a fost una din cele mai intense experiențe de devoltare software, pentru mine. „Code for Romania, tinerii programatori care fără să fie plătiți au ajutat statul în vremea pandemiei: «Faptul că am reușit poate da încredere în întregul proiect de digitalizare, care nu mai e doar o fantasmă sau un caiet de sarcini»”, republica.ro despre acele zile: despre cât de multă presiune simțeam toți, despre cum scriam cod și gândeam funcționalități într-o mare de incertitudine, despre cum nimeni nu era odihnit, nimeni nu avea tihnă în adevăratul sens.
Aceste șapte aplicații au fost dezvoltate cu voluntari, într-o perioadă în care toată lumea își restructura modul în care lucra, modul în care își petrecea timpul liber.
Unele persoane cu care lucram erau active în primele ore ale dimineții, iar alte persoane stăteau noaptea, până dincolo de miezul nopții, să terminăm împreună un Implementare de software, wikipedia.org Prin răbdarea pe care am avut-o toți, unii cu ceilalți, am reușit să punem cap la cap niște aplicații de care România avea nevoie.
Ce invenție din tehnologie ce fascinează cel mai tare acum?
A.Ș: Niciun obiect nu mă preocupă atât de mult ca problema eticii în AI și consecințele tuturor proceselor de calcul intense asupra mediului, necesare pentru tehnologia pe care o folosim. Văd aici o conversație pe care unii încearcă să o amuțească, să o suprime. Însă, algoritmii AI pe care îi scriem și ajungem să-i folosim în situații de care depinde direct bunăstarea oamenilor trebuie să fie algoritmi antrenați pe date reprezentative, date care să nu le inducă un bias discriminator.
Dincolo de astea, sunt curioasă și entuziasmată de o revenire la „the right to repair”, la posibilitatea oricui de-a desface și de a-și repara de unul singur obiectele pe care le cumpără (un iPhone, un tractor). În momentul de față, oamenii se lovesc adesea de imposibilitatea de a găsi piese de schimb.
Am citit că ești pasionată de jocuri pe calculator. Ce îți place să joci și ce te-au învățat ele de-a lungul timpului?
A.Ș: Îmi plac foarte mult jocurile pe calculator și am mult respect pentru oamenii care lucrează în industria jocurilor indie.
Un fun fact este că eu am probleme cu echilibrul, și nu pot juca jocuri first-person. Amețesc și mi se face rău dacă văd lumea din joc din perspectiva asta. Nu am putut juca seria Half-Life, iar jocuri precum Morrowind sau Skyrim le-am jucat din perspectiva third-person. Jocuri care-mi sunt foarte dragi sunt greu de jucat, pentru mine, din cauza asta: Spec Ops: The Line, Dear Esther, The Beginner’s Guide, Soma.
Am jucat o vreme cu mult entuziasm și spirit competitiv League of Legends, apoi Hearthstone. Mi-e teamă să-mi instalez jocurile astea, pentru că ajung să mă scufund foarte, foarte multe ore în ele. La fel cum îmi e frică să-mi instalez Un joc video de rol online amplu multi-jucător (eng.: Massively multiplayer online role-playing game). Mai multe, aici: wikipedia.org meu preferat, Path of Exile.
Îmi plac mult jocurile care au o experiență de co-op multiplayer bună. Am terminat de mai multe ori jocurile din seria Borderlands împreună cu prieteni. Era o vreme când intram în Terraria și în Don’t Starve Together cu amici din alte orașe sau țări, ca să povestim ce-am mai făcut și să ne jucăm în același timp. Acum, caut timp liber ca să joc Divinity: Original Sin 2 co-op split-screen.
În single-player, îmi place să joc experiențe, nu neapărat să devin din ce în ce mai bună la mecanicile unui joc. Tot ce a scos Supergiant Games este un exemplu perfect de experiență de joc faină, care vine la pachet cu o dificultate din ce în ce mai mare. Am jucat câte puțin din tot ce-au scos: Bastion, Transistor, Pyre și Hades. Caut jocuri horror mici, făcute independent, pe itch.io și mă minunez de toate mecanicile prin care dezvoltatorii reușesc să mă înspăimânte.
Cea mai intensă experiență de joc recentă a fost Disco Elysium. L-am jucat în vacanța de iarnă cu un prieten bun alături, și jumătate din timp puneam pauză la joc și disecam alegerile pe care le-am făcut. Unele dintre cele mai bune dialoguri pe care le-am purtat într-un joc, acolo sunt.
Compania de jocuri indie pe care o urmăresc în România e Critique Gaming. Ei au făcut Interrogation, unul dintre cele mai bune simulatoare de moralitate gri și decizii dificile pe care l-am jucat. Aștept cu entuziasm să scoată următorul joc.
Mă bucură să văd un fenomen de eSports din ce în ce mai puternic și sper din suflet să creăm, în jurul lor, o comunitate sănătoasă, deschisă și inclusivă.
Știu că în adolescență ai fost pasionată de literatură. Cine ți-a insuflat interesul pentru cărți? Ce obișnuiai să citești? Care era rutina ta de lectură?
A.Ș.: Am fost și încă sunt pasionată nu doar de literatură ci și de cum se reflectă o societate în opera unui autor. În liceu, vedeam cum autorii canonici oferă o perspectivă foarte omogenă și exclusivistă asupra societății românești. Căutam să compar autori contemporani cu cei canonizați, și mă întrebam de cei ei (și mai ales ele) au fost marginalizați, excluși din discuțiile despre istoria literară a României.
Am o rutină de lectură ghidată de entuziasm: mă apuc de o carte și o citesc continuu, obsesiv, până o termin sau până se termină entuziasmul. Uneori, revin la cărțile începute, alteori nu. Înainte de pandemie mergeam foarte mult pe jos (și încerc să revin la obiceiul ăsta, în siguranță), așa că am citit unele cărți în format audiobook. Sunt un om care s-a oprit uneori pe trotuar, cu ochii în gol, ascultând un pasaj intens.
Cum altfel îți mai place să-ți petreci timpul liber?
A.Ș: Desenez (instagram.com) de fiecare dată când prind niște timp liber. E un hobby nesfârșit, pentru că mereu mai am de învățat, de rafinat ceva. În pandemie, mi-am desenat uneori interlocutorii în timpul video call-urilor. Când mă mai văd cu oameni, în tihnă, îi invit să pozeze.
Desenul, pentru mine, e un canal deschis direct cu haosul pe care-l am în cap. Încerc să exprim cât mai mult din ce-i acolo, să mă pricep să redau ceea ce văd în interior. Mi-ar plăcea să-mi pot desena visele, ca să pot aduce în realitate experiențele pe care mi se oferă creierul, în somn.
E important, pentru mine, să-mi exersez forme de exprimare – într-o bună zi, aș vrea să învăț și un instrument muzical.