
Upoznajte Anastasiu koja vodi 6 timova u Yandexu i koja je zadužena za kompletnu bazu kodova u ovoj kompaniji
IT konferencija HighLoad u organizaciji kompanije Yandex održana je početkom jula, a redakcija Netokracije je imala priliku da razgovara sa Anastasiom Abrašitovom, 'keynote' predavačem na ovom stručnom događaju.
Svoju karijeru Anastasia je započela kao C# developer, a danas vodi čak šest timova u kompaniji Yandex gde radi kao Head of repository tools. Ona je odgovorna za Arcadiu, veliki mono-repo sistem u ovoj kompaniji, koji sadrži kompletnu bazu kodova za sve digitalne servise koji dolaze iz Yandexa. Ona je na pomenutoj konferenciji pričala o razvoju tehnologija, vođenju internih produkt timova u jednoj IT kompaniji, ali i na koji način održati motivaciju distribucionih IT timova.
Prvi kontakt sa IT industrijom za Anastasiu je bio sasvim spontan, a kako i sama kaže, njen put do ove industrije je bila čista sreća. Želja naše sagovornice je bila da upiše matematičku gimnaziju, ali nije bilo slobodnih mesta, pa je završila u informatičkoj oblasti. Sasvim neplanirano, tamo je otkrila strast za razvoj softvera i kompjuterske nauke.
Nakon toga, Anastasia je želela da nastavi da se bavi IT sektorom i matematikom, pa je odlučila da studije nastavi na računarsko-matematičkom odseku u okviru Moskovskog državnog univerziteta. Na fakultetu je imala priliku da odradi praksu za razvoj softvera, shvativši tada da je napravila pravi izbor koji je dalje razvio njen karijerni put. O tom profesionalnom putu sa Anastasiom smo razgovarali u nastavku teksta.
Anastasia, kako je izgledao prvi posao koji si dobila?
Anastasia: Karijeru sam započela na univerzitetskom sajmu poslova koji mi je doneo posao mlađeg programera softvera, fokusirajući se na C++ i SQL alate. Kako sam stekla veće iskustvo, prešla sam na kompleksniji projekat koji je uključivao rad sa C# programom. Nakon izvesnog vremena, napredovala sam do seniorske pozicije programera. Međutim, želela sam da se bavim poslom koji je direktno uticao na korisnike i njihovo zadovoljstvo.
Iako sam često istraživala UX dizajn, kompanije su moje iskustvo u razvoju softvera prepoznale kao prednost i umesto toga su mi ponudili prostor da se dodatno unapređuje u sektoru razvoja. Potom mi se ukazala prilika da radim za kompaniju Kaspersky, gde sam započela rad kao programer korisničkog interfejsa. Tokom godina, znatno sam napredovala od višeg inženjera do tehničkog vođe tima, radeći posao koji me ispunjava.
Spomenula si da ti je prvi posao uključivao rad sa C++ alatima. Kako si se zainteresovala za ovaj programski jezik?
Anastasia: Započela sam rad kao C++ programer ali sam se ubrzo usmerila na C#, što mi se više dopalo jer mi je omogućilo da se više fokusiram na poslovnu logiku, umesto na upravljanje memorijom. Kasnije sam dodatno razvila svoje veštine, koristeći WPF tehnologiju za korisnički interfejs, a što je svakako uključivalo C# programiranje.
Onog trenutka kada sam shvatila da je vreme da idem korak dalje, prešla sam na razvoj unutrašnje infrastrukture. Naš tim je koristio Python i C#, ali zbog svoje pozicije koja se fokusirala na menadžment, nisam imala priliku da dublje istražim njihove funkcije.
Kada si se pridružila velikoj međunarodnoj IT kompaniji kao što je Yandex?
Anastasia: Yandex je zaista velika IT kompanija sa preko 90 usluga koje opslužuju milione ljudi širom sveta, čiji zahtevi su izuzetno obimni. Na primer, samo za indeksiranje platforme za pretragu obrađujemo više od 10 petabajta podataka dnevno. Sa druge strane, moj dolazak u kompaniju bio je zaista uzbudljiv, jer pored toga što radim posao koji volim, imam priliku da pravim alate za hiljade programera.
Specifično, radila sam kao menadžer i vodila više projekata, nakon toga sam se pridružila timu za infrastrukture, koji je zadužen za razvijanje cloud platforme na kojima su bazirane usluge kompanije Yandex. Bila sam odgovorna za razvoj, primenu i nadzor tehnologija. Vremenom mi je ponuđena rukovodeća pozicija u sektoru koji je spojio moje menadžerske i tehničke sposobnosti, te sam trenutno na funkciji direktorke sektora za infrastrukturu i odgovorna sam za mono-repo kao što je Arcadia.
Šta podrazumeva tvoja trenutna pozicija. Koja sve zaduženja obavljaš u toku jednog dana?
Anastasia: Kao vođa više sektora, fokus mi je na angažovanju talenata za svaki izazov, na izgradnji jakih i uravnoteženih timova i pružanju odgovarajućih zadataka pojedincima kako bi se dalje razvijali. Pored toga, odgovorna sam za upravljanje strategijom, a paralelno pratim razvoj IT industrije, pre svega rast kompanije. To je neophodno, jer kao deo infrastrukture, moramo uvek da pratimo šta je potrebno našim profesionalcima kako bi bili efikasni i razvijali svoje projekte.
Takođe, posao svakog dobrog menadžera je da uvek traži nove načine saradnje između različitih timova i proizvoda i pomogne da razvojna infrastruktura ostane ujedinjena i u balansu. Generalno, rad u internoj infrastrukturi je dinamična oblast, koja kombinuje tehnologiju, menadžment i zadovoljstvo korisnika.
Trenutno vodiš šest timova. To je veliki broj ljudi, a ujedno ogromna odgovornost. Kako se suočavaš sa potencijalnim izazovima i koji tehnički profil ljudi vodiš?
Anastasia: Vodim šest različitih razvojnih timova, odgovornih za brojne delove Yandex infrastrukture. Ovo uključuje naš veliki VCS program zasnovan na virtuelnom sistemu datoteka, web portal za CI/CD, preglede i pretragu kodova, cloud tehnologije za daljinsku obradu informacija i plagin-ove za integraciju poznatih IDE-a sa našim ekosistemom.
Ovi timovi rade sa nizom programerskih jezika kao što su C++, Go, Python, Java i Kotlin, a koji obuhvataju više tehničkih polja, uključujući web i aplikacije na stranicama klijenata, backend i sisteme velikih opterećenja poznatijih kao highload, sistemsko programiranje, složene efikasne algoritme i druge.
Možeš li nam pojasniti pojam Arcadia i zbog čega je ovaj razvojni segment važan za Yandex?
Anastasia: Yandex je kompanija koja postoji skoro 26 godina i poseduje širok spektar usluga za koje su potrebni milioni datoteka kodova, otprilike 10TB repo. Za skladištenje tako velike količine kodova kompanija koristi sopstveni interni mono-repo – Arcadia. Počeo je kao skladište za sistem pretraživanja kompanije Yandex, a kasnije se razvio u jedinstveni ekosistem celokupne kompanije, odnosno usluga koje pružamo.
Šta tačno podrazumeva strategija razvoja mono-repo softvera velikih razmera i kako je primenjujete u kompaniji prilikom razvijanja desetine usluga?
Anastasia: Mono-repo pristup omogućava efikasno korišćenje koda, promoviše deljenje znanja i olakšava CI/CD procese velikih razmera. Koristeći ovu vrstu kodiranja, sprečavamo potencijalne neovlašćene promene. Uz niz usluga koje Yandex pruža, Arcadia je suštinski alat koji pomaže da svi naši proizvodi budu ažurni.
Da li postoji razlika između mono-repo i mikroservisa i koja metoda je bolja za korišćenje u IT kompanijama?
Anastasia: Potrebno je da uvek odaberete između mono-repo i mikroservisa. Mikroservisi nude raznovrsnost i prostor za napredovanje, dok je mono-repo lakši za razvijanje i primenjivanje. Takođe, mono-repo olakšava korišćenje koda i deljenje znanja, dok mikroservisi imaju bolju kontrolu nad primenjenim pristupima. U našoj kompaniji, ali i mnogim drugim u okviru IT sektora se primarno koristi mono-repo, koji ima ključne prednosti koje su neophodne za veliki obim posla.
Kako vidiš upotrebu mono-repo strategije u narednom periodu i da li će njena primena zavisiti od budućih trendova u svetu tehnologije?
Anastasia: Mono-repo su popularni kod velikih kompanija već skoro jednu deceniju. Prednosti mono-repo strategije se u velikoj meri oslanjaju na mogućnost čitanja, modifikacije i ponovnog korišćenja koda iz drugih projekata. Ukoliko se u budućnosti napravi scenario gde programeri imaju ograničen pristup određenim delovima koda kompanije, koncept mono-repo postaje manje održiv. Samim tim, budućnost i relevantnost ove strategije zavisiće od toga kako se svet tehnologije suočava sa izazovima bezbednosti i kontrole pristupa.
Koji su tvoji budući profesionalni planovi?
Anastasia: Moj plan za naredni period je da ojačam kao lider za svoje timove, kroz angažman inženjera koji su mi potrebni kako bi celokupan tim bio efikasniji. Ključno je da budemo u toku sa novim trendovima kada je reč o internoj infrastrukturi, kao što je recimo korišćenje ML tehnologije i povećanje bezbednosnih mera. Pored toga, planiram da nastavim da širim svoje znanje i veštine zbog daljeg razvoja IT zajednice.
Želiš da podeliš svoje mišljenje o ovoj temi? Komentari su otvoreni na našoj Facebook i LinkedIn stranici!