
Najpoznatija edukativna mobilna aplikacija ima – web tim? Upoznajte developere iza Photomathovog Math Expert Marketplacea!
Korisnici često nisu svjesni da je rješenje koje su dobili nakon skeniranja određenog matematičkog zadatka prošlo dalek put po raznim timovima u Photomathu, a još manje da je jedan od tih timova primarno zadužen za web...
Kako sad web u Photomathu koji se proslavio mobilnom aplikacijom, pitate se?
Web sustavi i alati Photomathovog web tima podržavaju i sudjeluju u kreiranju i analizi jednog dijela zadataka za samu aplikaciju. Taj sustav malo je poznat krajnjim korisnicima pa tako i developerima, kojima je često čudno čuti da postoji web tim u Photomathu. No, on postoji već 5 godina i odnedavno nosi ime po Math Expert Marketplaceu, njihovoj globalnoj web platformi za distribuiranu izradu sadržaja.
Krešimir Nesek, tehnički direktor tog Photomathovog tima pojašnjava koju ulogu oni imaju u većoj slici stvari ove globalno poznate edukativne aplikacije.
Ključna stvar Photomathove tehnologije je da se većina rješenja generira automatski. No, za onaj dio za koji nemamo automatsko rješenje, tu je Math Expert Marketplace.
Matematički stručnjaci diljem svijeta svakodnevno na našem Marketplaceu kreiraju visokokvalitetna rješenja matematičkih problema u nekoliko područja matematike, a sve s jednim ciljem, kako bi korisnici Photomath aplikacije za svaki problemski zadatak dobili pristupačnu, visokokvalitetnu i pravovremenu pomoć od Photomatha.
Detalje o tome što to sve obuhvaća te kako oni kao developeri grade i održavaju te web alate, saznali smo u razgovoru s Krešimirom i softverskom inženjerkom iz Marketplace tima – Karlom Kanižaj.
Cijeli niz web alata koji rade s jednim ciljem

Prije nego se određeni tip matematičkog zadatka i postupak njegova rješavanja prikažu korisniku na zaslonu njegova smartphonea, taj zadatak prolazi kroz dugačak proces od kojeg se veći dio odvija na sustavima Marketplace tima. Karla pojašnjava:
Ovisno o tome nalazi li se zadatak u knjizi koju obrađujemo ili je to zadatak s fotografije korisnika Photomath aplikacije, zadatak se priprema na različitim sustavima Marketplace tima.
Nakon određivanja i označavanja podataka koji su nam važni, za zadatak se određuje kojem području matematike pripada te se potom poslužuje na rješavanje našim matematičkim stručnjacima.
Zadatak tada prolazi proces rješavanja i provjere od strane matematičkih stručnjaka te jednom kada je sigurno da se radi o visokokvalitetnom sadržaju, zadatak je gotov te se rješenje sprema i po potrebi ažurira.
Marketplace tim bavi se razvojem platforme koja sve to omogućuje te održavanjem unutarnjih i vanjskih web platformi za izradu i upravljanje sadržajem, ali i brojnih unutarnjih alata i sustava koji podržavaju tu infrastrukturu.
Tako je tu spomenuti sustav koji prikuplja matematičke probleme iz različitih izvora, priprema podatke te ih šalje dalje na sustav za rješavanje. Taj sustav pak upravlja zadacima koje matematički stručnjaci rješavaju na Math Expert Marketplaceu, koji je centralno mjesto za proces edukacije, kao i rješavanja zadataka. Osim rješavanja zadataka, na Marketplaceu dio pripreme tih zadatka za vanjske matematičke stručnjake provode i kolege matematičari iz Photomatha.
A kako bi mogli lakše administrirati veliki broj matematičkih stručnjaka, Marketplace tim je podigao i administracijski sustav kroz koji se upravlja korisničkim računima, kreiraju isplate, pregledavaju aktivnosti korisnika te se pripremaju edukacijski sadržaji i testovi kako bi matematički stručnjaci imali mnoštvo edukativnog materijala za lakšu kvalifikaciju za rad te bolju podršku u rješavanju.
Uz to, imaju i sustav za obradu i rješavanje zadataka iz knjiga!

Veliki i mali projekti
Marketplace tim nastao je iz prijašnjeg Photomathovog web tima u srpnju 2021. godine. Nastavili su raditi s 8 članova u timu, a danas ih je već 11. Tim je sazdan od ključnih uloga: Engineering Managera, Team Leada, Technical Product Managera te podjednakog broja developera koji rade na frontendu i backendu.
Krešimir dodaje kako u idejama i prijedlozima svi sudjeluju, neovisno o tome rade li trenutno na tom području ili ne. Tako u Marketplace timu svatko može pridonijeti ili otkriti nešto novo što ga zanima. Na raspolaganju su im i veliki i mali projekti, dodaje Karla:
Veliki dio tih manjih projekata su zapravo naši interni projekti koji nam omogućuju stjecanje novih inženjerskih znanja te unaprjeđivanje naših praksi, kao naprimjer – uvođenje dizajnerskog sustava, pripreme predložaka budućih projekata koristeći najbolje inženjerske prakse, formaliziranje tih praksi…
Od većih projekata, trenutno kontinuirano radimo na poboljšanju sustava za označavanje zadataka te određivanje područja matematike kako bi pomogli u unapređivanju i učenju ML modela koji onda pružaju dodatnu vrijednost našim matematičkim stručnjacima.
Karla u Marketplace timu danas većinom radi frontend development, ali je zbog svog znanja o procesima unutar Photomatha podrška ostalim timovima i kolegama u istraživanju i rješavanju problema te odgovaranju na pitanja o ovisnostima i funkcionalnostima različitih procesa i alata. Krešimir pak kao tehnički voditelj, odnosno Engineering Manager za Marketplace tim, nosi i dio produktne odgovornosti za Math Expert Marketplace platformu. No, najvažnije – primarno je podrška tehničkoj ekipi.
Brinem se da tim funkcionira dobro, da kontinuirano unapređujemo naše prakse i stječemo nova inženjerska znanja, da smo dobro organizirani i da su nam ciljevi jasni i usklađeni s drugim timovima i smjerom u kojem se tvrtka kreće.

A tehnološki stack?
Što se tiče produktnog i inženjerskog plana, u Photomathu rade 6-mjesečne cikluse planiranja te su svi produktni zahtjevi prioritizirani i uklopljeni u vremenski plan samog Marketplace tima, dodaje Krešimir. Proces isporuke softvera prate na način inspiriran Kanbanom, zadacima upravljaju u Jiri, dokumentaciju zapisuju u Confluenceu, a dizajn u Figmi. Što se tiče tehnologije, Karla nastavlja:
Imamo definirane dvotjedne isporuke, a svaka značajka (feature) prije isporuke je testirana od našeg QA i Content Operations tima. Glavne tehnologije na backendu u većem broju projekata su Kotlin, Micronaut ili Spring Boot, a neki manji projekti su NodeJS i Python.
Za baze podataka koristimo PgSQL DB i MongoDB, Redis za caching te GCP PubSub za razmjenu poruka.
Na frontendu koristimo TypeScript, React te Sass.
Servisi koje razvijaju izvršavaju se na Google Cloud Kubernetesu i CloudRunu, a za CI/CD koriste Github Actions, Jenkins i ArgoCD.

Specifičnosti web developmenta u Photomathu: suradnja sa svima!
Veći dio projekata na kojima Marketplace tim radi danas realizira se zajedno s drugim timovima.
Najviše surađuju s Content Operations timom koji se bavi operativnim poslovima vezanim uz matematički sadržaj. Za cilj imaju omogućiti, podržati i upravljati kreiranjem rješenja matematičkih zadataka od strane matematičkih stručnjaka na Math Expert Marketplace platformi. Content Operations tim kontinuirano radi na platformi te im od njih dolazi najveći dio zahtjeva. Te zahtjeve potom detaljno analizira Product tim, a u suradnji s Design timom pripremaju specifikacije budućih projekata…
Naravno, kako bi naši matematički stručnjaci nesmetano kreirali i pregledavali rješenja onako kako će biti prikazani korisnicima u samoj aplikaciji, blisko surađujemo i s Internal Tools timom koji razvija editore i komponente za prikaz.
AI tim priprema podatke iz aplikacije koji dalje idu u proces u Marketplace tim. Data Analytics tim nam pomaže analizirati gotove podatke, App services tim priprema riješeni sadržaj za Photomath aplikaciju, a u svakodnevnom radu nam pomaže QA tim koji je uključen u bitan dio našeg procesa pred samu isporuku proizvoda na produkcijsku okolinu.
I u konačnici, DevOps tim im omogućuje da svi sustavi rade glatko, zaključuje Karla.

Zašto bi Photomath bio dobra prilika za web developere?
Kako vidimo, jedan od većih razloga zašto je rad u Marketplace timu tako zanimljiv i dinamičan je činjenica što svakodnevno surađuju s velikim brojem timova kako bi kreirali funkcionalan proizvod. Web developerima je to jedinstvena prilika da se upoznaju s radom na različitim sustavima, a ključno je što imaju mogućnost sami utjecati na svoj razvoj te razvoj cijelog tima, napominje Krešimir.
Web development u Photomathu nikad nije monoton, uvijek ima novih projekata, a postojeći projekti se uvijek mogu poboljšati te developeri imaju priliku isprobavati nove tehnologije i razvijati nova znanja i vještine.
U našem timu su velike mogućnosti za osobni razvoj i napredak, a u prilog tome govori i činjenica da je dobar dio projekata na kojima radimo proizašao iz ideja developera unutar tima, koji predlažu uvođenje novih praksi i promicanje tehnološke izvrsnosti.
Karla se na taj pristup osvrnula primjerom da su na jedan način “sami sebi klijenti” jer potiču jedni druge na stvaranje boljih rješenja, unapređivanje postojećih, sudjelovanje u smišljanju projekata i zadataka te dijeljenju inženjerskih praksi i znanja jedni s drugima.
Traže se backend i/ili fullstack inženjeri(ke)!
Uz rad i učenje, važna im je i fleksibilnost, a Karla dodaje kako im je svima cilj učiniti svakodnevni rad što ugodnijim. Rade od doma ili dolaze u ured, ovisno kako im odgovara, neki rade potpuno remotely, kao na primjer Krešimir koji živi i radi iz Londona, ali ističe kako to ne utječe na njihovu suradnju i opuštenu atmosferu.
Uvijek nađu nešto zanimljivo u čemu mogu kao tim sudjelovati, bile to zajedničke sportske aktivnosti, pub kvizovi, ručak ili piće poslije posla. Tako je i dio tima u travnju ove godine sudjelovao na International JavaScript konferenciji u Londonu, gdje su uložili veliki trud da posjete što više znamenitosti (čitaj: pubove) i degustiraju sve specijalitete.
U ovaj jedinstven Photomath tim ona i Krešimir nadaju se primiti još backend i/ili fullstack inženjera i napominju kako su uvijek otvoreni popričati s interesantnim kandidatima. A što ih posebno oduševi kod potencijalnih kolega?
Uz, naravno, inženjersku izvrsnost, važna nam je proaktivnost, želja za učenjem i razvijanjem te sudjelovanje u kontinuiranom razvijanju boljih procesa i praksi.
O Marketplace timu možete saznati više već ovaj tjedan. Prijavite se na 8. po redu Photomath Talk, online meetup za tech zajednicu, koji će se održati 21. rujna od 18-19 sati, a na kojem možete saznati o behind-the-scenes procesima Marketplace tima kroz predavanja i Q&A s njihovim iskusnim inženjerima. A ako želite da vas obavijeste o budućim sličnim događajima, prijavite se u njihov Tech Community (mailing listu).
Sukladno članku 94. Zakona o elektroničkim medijima, komentiranje članaka na Netokraciji dopušteno je samo korisnicima koji ostave svoje ime i prezime te mail adresu i prihvate pravila ponašanja.
Pravila ponašanja
Na Netokraciji za vas stvaramo kvalitetan, autorski potpisan sadržaj i zaista se veselimo vašim kvalitetnim, kontruktivnim komentarima. Poštujmo stoga jedni druge prilikom komentiranja, kao i Zakon, držeći se sljedećih pravila ponašanja:
Kako koristimo podatke koje ostavljate? Bacite oko na našu izjavu o privatnosti.
Sve ostale komentare ćemo s guštom spaliti, jer ne zaslužuju svoje mjesto na internetu.