​Când vorbim despre programare, e important să vorbim și despre colaborare. Pentru că în spatele unei aplicații sau al oricărui software pe care îl folosim se află o echipă de oameni care lucrează din mai multe țări, timp de mai multe luni sau ani, utilizează diferite tehnologii și abordări, o echipă care reușește să construiască într-un final un produs funcțional.

Colaborare în programareFoto: Freepik

Programarea e un domeniu deja dezvoltat și o "limbă internațională", și totuși, pe parcursul anilor, la evoluția și dezvoltarea comunității IT au contribuit oamenii care au ales să se implice cu pași mai mici sau mai mari: prin organizarea de conferințe și evenimente, colaborări cu universități și licee de profil, mentorat, feedback pe Github sau Stack Overflow, meet-up-uri, comunități online, deschiderea de start-up-uri, atragerea de fonduri și multe altele care au transformat România într-un hub de IT.

Am povestit cu patru programatori din ING Tech despre evoluția lor ca specialiști, despre cât de mult i-a ajutat comunitatea IT pe parcursul timpului și despre motivația lor de a se implica în continuare în comunitate și a porni inițiative in afara job-ului.

Gabriel Bornea – Team lead platforme și canale digitale | Inițiatorul comunității Kotlin User Group din București

Gabriel are o experiență de peste 10 ani în programare și crede că nu doar în IT, ci în orice domeniu e important să te implici și să faci mai mult decât job-ul de zi cu zi. Fie că asta înseamnă să contribui la proiecte open source, să susții prezentări sau workshop-uri prin care să împărtășești aspecte sau situații de care alții nu se lovesc în mod normal, toate ajutând în dezvoltarea ta ca profesionist.

"Am avut foarte mare noroc când am început să lucrez, deoarece am nimerit într-o echipă care m-a ghidat în direcția potrivită, fiind o echipă cu multă experiență. Când ești la început e foarte important să ai pe cineva care să te îndrume sau să te ajute, să îți fie practic ca un mentor."

Ne mărturisește că acum 10 ani nu știa multe comunități de IT în România unde să ai ocazia să interacționezi cu alți specialiști, să pui întrebări etc. Stack Overflow era la început în țara noastră și nu era la fel de popular. Prin urmare Gabriel se baza mult pe resursele de pe internet și pe ajutorul colegilor.

Despre pasiunea pentru Kotlin

Gabriel a fost cel care a înființat primul user Group de Kotlin din București, având o pasiune pentru limbajele de programare și dorindu-și mereu să învețe cât mai multe. Ne povestește că lucrul la limbajul Kotlin a început în 2010, el a auzit de el în 2015, iar în 2016 când a fost lansat a început să lucreze și să experimenteze cu acest limbaj. Tot în același an a creat Kotlin User Group în București (care pe atunci era primul grup de acest fel), iar în anul următor a început să țină meetup-uri și prezentări tehnice despre Kotlin.

"Ce m-a atras la Kotlin a fost faptul că poate fi folosit pe platforma JVM și are interoperabilitate extrem de bună cu Java (comparativ cu alte limbaje care au venit înainte și rulează tot pe JVM). Mi-am dat seama că este o posibilitate mai mare să atrag oamenii dinspre Java spre Kotlin, decât spre Scala de exemplu, pentru că trecerea e mult mai ușoară."

Gabriel ține în prezent traininguri în companie despre Kotlin și a reușit să crească comunitatea Kotlin User Group la peste 400 de membri. De asemenea, împreună cu echipa sa a dezvoltat și a dus în producție două proiecte scrise în Kotlin.

Sursa foto: Freepik

"În echipa în care lucrez e un criteriu pentru noi ca orice coleg nou venit să știe și un alt limbaj de programare în afară de Java."

"În echipa în care lucrez e un criteriu pentru noi ca orice coleg nou venit să știe și un alt limbaj de programare în afară de Java. Cred că acest aspect e foarte important pentru că dacă ai lucrat în alte limbaje sau ai fost curios să experimentezi, știi și cum se rezolvă în alte moduri o problemă."

Gabi ne povestește că e pasionat de F#, Haskell, cu care mai experimentează din când în când, dar spune că Kotlin chiar îi rezolvă o problemă reală.

Încearcă să se implice în comunitatea IT prin meet-up-uri, prezentări sau alte sesiuni similare și crede că împărtășind din experiența ta, poți să îi ajuți pe alții, dar și să te ajuți pe tine, să cunoști și alte perspective, alte tehnologii și păreri.

Remus Popescu – Business Intelligence Developer | Predă seminarii de baze de date pentru studenți

Remus e developer de peste 9 ani, dar a trecut pe parcursul timpului prin mai multe roluri de la reporting specialist, până la cel de project manager, developer, analiză de business etc.

"Am văzut din mai multe unghiuri jobul meu, prin ochii oamenilor de business, dar și prin cei ai developerilor și asta cred că mă ajută să am o perspectivă 360 asupra domeniului."

Remus a început să predea în calitate de colaborator acum câteva luni la ASE, Cibernetică, Statistică și informatică economică, la masterul de baze de date. A ținut un curs și 2 seminarii și anul acesta se gândește să continue colaborarea.

Ne-a explicat că pentru el totul a început cu o propunere din partea companiei, dar a simțit că ar fi o provocare și pentru el. Astfel ar trece de la prezentări bazate de multe ori pe monolog (cum a mai ținut la conferințe sau evenimente), la predat, unde există un plus de interacțiune cu studenții, răspuns constant la întrebări.

Nevoia de exemple practice la cursuri

"Pentru mine a fost o mică discrepanță între experiența de student și cea de lucru. La clase și seminarii totul era foarte clar explicat – pleci din A în B – totul într-un mediu stabil, cel puțin în zona în care am studiat eu. Pe de altă parte, într-o lume de business lucrurile se schimbă constant, de la zi la zi și trebuie sa fii pregătit pentru schimbarea de mindset necesară. Trebuie să te adaptezi la o lume care și ea se adaptează la noile tehnologii, insight-uri din date etc. De aceea cred că e important ca noi, cei care avem experiență de muncă să putem îndruma puțin studenții legat de aspectele de care se vor lovi și care e modul de rezolvare potrivit."

Remus ne mărturisește că el a avut noroc de profesori care lucrau în domeniu, s-a implicat și într-un concurs organizat cu o companie de IT pe când era student și a ajuns astfel să facă lucruri dincolo de partea teoretică. Dar consideră ca asta a fost o șansă punctuală, pentru că e foarte greu ca la clasă, în câteva seminarii, să fii pregătit pentru mediul de business.

"Trebuie să recunosc că mă duc mai mult în direcția de a ghida și integra oameni aflați la început de drum. Mi se pare important acest aspect."

"În rest, încerc să dau înapoi comunității de IT prin implicarea în calitate de buddy pentru colegi nou veniți. Trebuie să recunosc că și în cazul predatului și în cazul altor acțiuni din cadrul companiei mă duc mai mult în direcția de a ghida și a integra oameni aflați la început de drum. Mi se pare important acest aspect."

Remus consideră că această implicare în cadrul masterului ajută orice student care nu are încă experiența de lucru de zi cu zi, indiferent de direcția pe care alege să o urmeze mai departe: Business Intelligence sau programare. În cadrul seminarului de care se ocupă, Remus vine cu o parte practică: un dashboard real cu informații fictive, pe baza căruia studenții discută, fac simulări și astfel interacționează cu un produs final și au o imagine de ansamblu, nu lucrează doar cu bucățele mai mici.

El speră ca mulți colegi să îi urmeze exemplul, predatul e modul lui de a ajuta comunitatea de IT să progreseze, dar crede că oricare dintre celelalte metode sunt importante: a ține prezentări, a crea comunități pe diverse tehnologii, a răspunde pe platforme la întrebări sau situații întâlnite de alți programatori etc. Toate îi par importante și crede că nu în ultimul rând, așa a reușit și el să crească mult mai repede ca profesionist.

Sursa foto: Freepik

Bogdan Arvinte & Mihai Țintă, Team Leads, aria de canale și platforme digitale | Dezvoltă împreună o aplicație de car sharing

Mihai, care lucrează de peste 10 ani în IT ne mărturisește că el crede că în România ne concentrăm foarte mult pe a ne îndeplini responsabilitățile de la job și într-un fel țara rămâne destul de în urmă și cu multe lipsuri.

"Ideea de comunitate și participarea noastră în comunitate pe zona de IT e încă la început, cred eu. Impactul pe care îl putem avea e destul de mic, motiv pentru care mulți aleg să plece din țară, dar lucrurile trebuie până la urmă să plece de undeva."

Bogdan, și el de peste 9 ani în domeniu crede că e important să nu așteptăm mereu soluții din exterior și atunci când ne lovim de o problemă care ne afectează, să ne întrebăm dacă nu putem contribui și noi la rezolvarea ei.

Pornind de la aceste principii comune, cei doi lucrează de anul trecut la o aplicație de car sharing, momentan gândită pentru colegii lor din ING Tech, pentru a rezolva problema de care mulți dintre ei se lovesc (sau se loveau mai ales până la apariția pandemiei), transportul până la birou.

"Majoritatea soluțiilor pornesc de la probleme care ne afectează pe noi. Naveta zilnică la birou a fost impasul nostru și ne-a determinat să facem primul pas cu o aplicație care poate deveni mai mare. Una dintre misiunile noastre nu e doar să o folosească colegii, ci să creăm o comunitate în jurul ei", ne povestește Bogdan.

"La începutul carierei foloseam platforme precum Stack Overflow pentru a pune întrebări, a cere suportul altora, dar încet încet, începi să te întrebi: cum pot să ajut eu?"

"La începutul carierei foloseam platforme precum Stack Overflow pentru a pune întrebări, a cere suportul altora, dar încet, încet începi să te întrebi: cum pot să ajut eu? Așa că ulterior am început să răspund la întrebări, să mă implic mai mult pentru că până la urmă eu m-am dezvoltat ca specialist și pentru că alții mi-au răspuns și m-au îndrumat când eram la început", povestește Mihai.

Despre aplicația de car sharing la care lucrează împreună ne spun că s-au apucat să o dezvolte anul trecut în primăvară, după ce Mihai se gândise la o idee similară când pregătea lucrarea de licență, acum câțiva ani. Bogdan a înțeles perfect nevoia implementării unei astfel de idei, pentru că el era în poziția în care câteodată era nevoie să schimbe două metrouri, un autobuz și serviciul de shuttle al companiei pentru a ajunge în clădirea ING Tech.

Pandemia i-a prins în perioade de teste pe un grup mic de 20 de colegi. Ei au dezvoltat în prezent versiunea web și Android și după testare și feedback, ar vrea să o rescrie, să o anunțe între colegii din companie și dacă totul merge bine, vor să o dezvolte și pentru iOS . Ulterior își propun să facă acest cod public, sa le fie util și altor colegi din comunitatea IT.

"Scriind aplicația am putut să experimentez un limbaj de Front-End care îmi place, Flutter", ne povestește Bogdan. "Pe zona de Back-End am lucrat în Spring Boot cu programare reactivă, non-blocking, iar partea de web Front-End a fost lucrată în Angular", adaugă Mihai.

Amândoi ne precizează că încearcă să contribuie cât pot la comunitatea IT din companie, dar și la cea din afara ei. Ei cred că doar prin colaborare și învățare continuă poți să crești ca specialist în IT și că odată ce ajuți comunitatea să avanseze, să crească, ajuți și țara, dar și pe tine, să rezolvi mai ușor problemele de care te lovești.

Bogdan a mai predat în cadrul unei proiect de învățare pentru studenți inițiat de companie, a ținut cursuri și traininguri pentru colegii de facultate, iar în perioada pandemiei având o imprimantă 3D, a încercat să ajute un ONG să creeze viziere pentru spitale. Mihai încearcă să fie un mentor pentru echipa sa, îi încurajează să experimenteze diferite tool-uri tehnice și chiar să se implice în prezentări și conferințe în calitate de speakeri, nu doar de participanți.

Discuțiile cu cei patru definesc programarea ca un domeniu hiper-colaborativ și bazat pe o învățare continuă, atât la nivel personal, cât și în cadrul comunității. Fie că e vorba de un limbaj nou, de o modalitate prin care să îți pui în aplicare o idee sau de o cale prin care să îi ajuți pe cei la început de drum să cunoască cât mai mult din partea practică, toate sunt eforturi care cresc valoarea specialiștilor IT din România și, implicit, a comunității locale.