Meet the teams

De la tehnologii, la oamenii din eMAG Tech Teams

650 de persoane lucreaza astazi in echipele de Platforms & Technology din eMAG, din hub-urile IT localizate in Bucuresti, Iasi, Craiova si Varsovia. Daca ar fi sa transformam milioanele de linii de cod scrise in eMAG in descrieri ale produselor dezvoltate, probabil nu ar fi o lectura pe care sa o parcurgem cu usurinta.

Dar oamenii care lucreaza zi de zi la aceste proiecte sunt cei care ne pot prezenta cat mai clar experienta tehnologica din eMAG. Ce inseamna asta pentru ei? Cum i-a schimbat? Cum definesc performanta si care sunt proiectele pe care vor sa le faca cunoscute?

Dan Belibov, Beniamin Calota, Florian Cazacu si Ovidiu Anicai, parte din divizia Technology eMAG, ne-au povestit despre experienta lor profesionala, despre proiectele de targeting, recomandari, content si anti-spy la care lucreaza, despre ce ii motiveaza si cum sunt echipele lor.

Ce inseamna experienta eMAG pentru voi?

Dan: Profesional, inseamna foarte multa experienta acumulata. In eMAG, fiind dezvoltator, nu te afli doar in zona in care primesti un task si trebuie sa il rezolvi. Esti in zona in care ai posibilitatea sa gandesti produsul, sa aduci imbunatatiri produsului final si sa mergi cu aceste propuneri mai departe, fara nicio problema, catre oamenii de business.

Florian: Am invatat foarte mult: intr-un an la eMAG inveti cat in 5 ani in alta parte. Asteptarea tehnica de la tine este mult mai mare decat in alte companii si asta m-a ajutat sa am o disciplina a excelentei. Trebuie sa iei in calcul toate aspectele, sa te gandesti la mai mult decat la a-ti face treaba si a incheia un task.  

Beniamin: In 4 ani si jumatate am invatat despre sisteme distribuite, DevOps, infrastructura si multe altele, dar am crescut foarte mult si pe zona de People Management. Am inteles multe lucruri despre cum poti sa conduci o echipa, un proiect, sa oferi suport, sa faci suport, multe zone pe care nu le stapaneam inainte.

Ovidiu: Profesional, eu mi-am schimbat job-ul aici. Am pornit din rolul de programator clasic care dezvolta backend si frontend si mi s-au deschis oportunitati de a lucra cu machine learning, data science, SQL analitic.

Care sunt proiectele cu care va mandriti?

Dan: In echipa de Targeting noi lucram la doua aplicatii: cea de targetare, prin care incercam sa fim cat mai aproape de clientii nostri, notificandu-i de schimbarile care i-ar putea interesa si aplicatia de recomandari pentru clienti. Tot timpul lucram la ceva nou pentru ambele aplicatii, dar focusul nostru in aceasta perioada este sa personalizam toata zona de recomandari, astfel incat ea sa fie cat mai relevanta pentru fiecare client in parte. Scopul nostru final este sa construim recomandari care sa porneasca de la client, nu de la produs. Experienta de pana acum ne arata ca acest tip de recomandari le ofera clientilor nostri o experienta mult mai buna: unii reusesc sa gaseasca mai rapid produsele de care au nevoie, altii reusesc sa faca o comanda relevanta pentru ei.

Ovidiu: Unul dintre cele mai provocatoare proiecte a fost initiativa prin care am mutat un mecanism care include elemente de machine learning in Google Cloud, cu scopul final de a construi un scoring pentru segmentele de trafic. Avem sute de milioane de request-uri pe zi, in medie, iar o cantitate atat de mare de date este greu de procesat fara o infrastructura scalabila. Practic, challenge-ul nostru a fost sa ducem datele in Google si sa avem un flux cat mai stabil, iar ulterior sa gasim o abordare corecta din punct de vedere statistic si cu elemente din machine learning prin care sa putem genera scorul pentru segmentele de trafic.

Beniamin: Cel mai challenging a fost proiectul de Product Matching. Cand l-am preluat am analizat din nou utilitatea tool-ului si l-am rescris ca sa fie mai bun. Acum inca rescriem parti din el, challenge-urile cele mai mari provenind din volumul foarte mare de date si din optimizarile necesare. La Product Matching folosim retele de machine learning pentru a analiza daca texte similare se refera la acelasi produs sau nu. Este un tool, practic, prin care incercam sa gasim duplicatele produselor, pentru a obtine un catalog de content cat mai structurat care sa aduca toate anunturile relevante de produse sub acelasi link, in site.

Florian: Proiectul de refactorizare a fost unul dintre cele mai provocatoare proiecte la care am lucrat. Am adoptat Single-Page Applications, o tehnologie noua, care ne-a ajutat sa ajungem la obiectivele propuse: scalabilitate si performanta. Pe langa acest proiect, am intampinat provocari destul de mari atunci cand am construit un sistem care sa faca automat matching de produse.  

Cum definiti performanta, ce inseamna pentru voi?

Dan: Atunci cand ma gandesc la performanta, ma raportez atat la performanta aplicatiilor, cat si la performanta personala. Ambele proiecte la care lucram (de targeting & recomandari) sunt menite sa ajute clientul sa faca o comanda relevanta, sa isi gaseasca produsele importante pentru el. Si atunci, cu cat mai multe comenzi sunt facute prin intermediul recomandarilor, cu atat mai mult creste calitatea acestui produs dezvoltat de noi. Probabil asta inseamna performanta intregii echipe.

La nivel personal, performanta inseamna capacitatea de a aduce imbunatatiri aplicatiei, si nu ma refer doar la a scrie linii de cod, ci, per total, la a aduce imbunatatiri de valoare, a simplifica anumite lucruri sau a automatiza anumite procese.

Beniamin: Performanta inseamna sa faci mai mult cu aceiasi oameni sau cu aceleasi resurse. Cam asta am invatat sa facem si noi in echipa de Content. Ne era destul de greu sa definim performanta, pentru ca era foarte dificil sa cuantificam in cifre ce facem- sa descoperim care este valoarea unui content de calitate in site. Si atunci am incercat sa aducem plus valoare prin optimizarea muncii noastre cu resursele pe care le avem deja la dispozitie.

Ovidiu: Pentru ca proiectele noastre implica cantitati foarte mari de date, noi trebuie sa dezvoltam produse care sa functioneze la orice dimensiune- scalabilitatea este foarte importanta. Avem de facut mai mult analiza decat sa dezvoltam cod si, prin urmare, mai degraba facem lucrurile sa iasa bine. Nu facem produse care sa iasa pe banda rulanta. Fiind vorba de multe analize complexe, performanta se raporteaza la creativitate: trebuie sa gasim metode cat mai potrivite de a rezolva problemele.

Florian: Pornind de la disciplina excelentei, cred ca performanta este sa duci mereu analiza un pas mai in fata. Dupa ce gasesti o solutie la problema cu care te confrunti, trebuie sa te gandesti ce alta solutie ar mai putea fi potrivita si, in final, sa mai repeti o data procesul. Aici se afla performanta.

In final, ce apreciaza cel mai mult la echipele lor?

Cand vine vorba de tehnologie, toti cei 4 aprecieaza posibilitatea de a experimenta, de a gresi si de a gasi solutii noi in cadrul echipelor. Mai mult de atat, apreciaza dorinta oamenilor de a inova si de a testa tehnologii noi, de a fi constructivi, implicati in proiectele pe care le dezvolta. La nivel de invatare, initiativa de a propune implementari noi si de a isi dezvolta competentele zi de zi astfel incat aceste proiecte tehnice sa fie duse pana la capat.