250+ milijuna preuzimanja aplikacije možda upućuje na to da se u Photomathu danas “samo održava” – zapravo je suprotno!

250+ milijuna preuzimanja aplikacije možda upućuje na to da se u Photomathu danas “samo održava” – zapravo je suprotno!

Photomath aplikaciju danas s lakoćom koriste desetine milijuna korisnika mjesečno, a u pozadini te jednostavnosti koju vide korisnici nalazi se kompleksan i dobro uigran sustav baziran na umjetnoj inteligenciji koji ne prestaje inovirati. Pravi protagonist Photomathove priče zapravo je skup sofisticiranih softverskih proizvoda koji podupiru funkcionalnosti aplikacije i stvaranja sadržaja. Saznali smo više o njima!

“Nikad nisam zamišljao da će nas biti ovoliko i da ćemo izgraditi ovako sofisticirane sustave koji u pozadini pogone našu aplikaciju”, iskreno će Marko Mihovilić, Head of Product Engineering u Photomathu, prisjećajući se početaka jedne od najpopularnijih edukativnih aplikacija na svijetu.

Marko je ujedno i jedan od prvih inženjera koji je radio na Photomath aplikaciji. Danas nadgleda i usmjerava sve veće inženjerske projekte u tvrtki, a u tome mu pomaže višegodišnje iskustvo u izradi razne vrste softvera u C++ jeziku, nativnih mobilnih aplikacija, web servisa i frontend aplikacija, kao i iskustvo rada unutar i među timskim okolinama.

S Markom sam imala priliku razgovarati o novim i starim timovima u Photomathu – kako rade i što rade, kako izgleda proces “programiranja” matematičkog sadržaja, o jednostavnosti korištenja aplikacije i kompleksnosti u pozadini te što je tehnološki bilo potrebno da to tako i ostane.

Inženjeri znaju za praksu da “dobro napravljena softverska komponenta krije svoje implementacijske detalje od korisnika”, u tom procesu Photomathovi inženjeri imaju priliku jako puno toga naučiti. Foto: Marin Pavelić

Danas se unutar Photomatha razvija desetak softverskih proizvoda

Photomath poznajemo kao jedan od najuspješnijih hrvatskih izvoznih proizvoda, dostupan je na više od 30 jezika i preko 195 država diljem svijeta te danas broji preko 250 milijuna preuzimanja. Photomath mjesečno riješi i objasni preko 2 milijarde matematičkih problema! Njihov uspjeh zapečatila je i nedavna investicija Serije B od 23 milijuna dolara.

Pa iako je Photomath definitivno ušao u svoje zlatno doba, istraživanje i razvoj zapravo se sad najviše ubrzavaju, priča mi Marko.

Prirodno, kako rastemo kao tvrtka i kao inženjeri, tako rastu i naše ambicije, pa naši inženjeri uvijek rade na novim inovacijama i razvoju.

Postoji taj neki dojam koji primjećujem na razgovorima za posao s kandidatima: čini im se da je Photomath, nakon toliko godina, sad već “zreo” proizvod i da nema više puno izazova s kojima se inženjeri mogu susresti. Misle da je toga možda bilo u ranijim danima, ali da je to danas uglavnom održavanje.

Smatram da smo tu na neki način i sami “krivi”, jer ulažemo puno truda upravo u tu jednostavnost proizvoda i prikrivanje svih kompleksnosti koje leže iza nje.

Međutim, inženjeri bi prvi i sami trebali biti svjesni da “dobro napravljena softverska komponenta krije svoje implementacijske detalje od korisnika”, a time se vode i u Photomathu. U ovom razgovoru želimo vam i približiti sve ono u pozadini Photomatha.

Sve se vrti oko matematike

Odmah na početku, važno je objasniti i što je temelj poslovanja ove poznate hrvatske tvrtke. Ako ste do sad pratili njihov rad, znate da Photomath krasi odlična implementacija računalnog vida i umjetne inteligencije pomoću kojeg se hijeroglifi učenika pretvaraju u razumljive digitalne zapise na osnovu kojih se generira točno rješenje i objašnjenje. Ta tehnologija, kao i svi ostali vrsni alati koje su izgradili, postoje u službi nečega, a to je u slučaju Photomatha izrada raznog dinamičkog matematičkog sadržaja.

Oko stvaranja matematičkog sadržaja organizirani su svi drugi timovi u tvrtki, a posebno oni tehnički koji sve to omogućuju. Danas se unutar Photomatha tako razvija desetak softverskih proizvoda, od kojih je samo dio vidljiv krajnjim korisnicima, pojašnjava Marko, poput web portala za prevođenje matematičkog sadržaja, simulatora prikaza rješenja za web, namjenskog programskog jezika i kompajlera za programiranje internog alata “Solvera” te niza drugih.

Najstarije i najnovije razvojnog svijeta Photomatha

Photomath je vodeća edukativna aplikacija u svijetu, a to su mjesto zauzeli zahvaljujući vrhunskoj tehnologiji.

Solver sustav: Od pisanog zadatka do rješenja u aplikaciji

Upravo je jedan od prvih internih alata Photomatha bio web sustav za pomoć pri razvoju Solvera, inače glavnog alata Photomath sustava. Solver služi generiranju rješenja te klasičnih, korak-po-korak objašnjenja postupka rješavanja pojedinog zadatka u aplikaciji.

Kako izgleda proces integracije zadataka u aplikaciju? Naravno, sve počinje od ključnih stručnjaka.

Matematičari, vođeni svojim produktnim procesom prioritiziraju koje matematičko područje iduće želimo podržati te unose tzv. “procedure” u Solver sustav. Procedure su ručno pisani postupci rješavanja određenih stereotipnih zadataka iz nekog matematičkog područja (npr. “traženje domene funkcije”) koji služe kao primjeri inženjerima kod programiranja Solvera. Na ovaj način zapravo matematičari određuju kako se točno neki tip matematičkog zadatka objašnjava korisniku, dok programeri osiguravaju da Photomath isproducira takvo objašnjenje.

Nakon što je unesen dovoljan broj procedura, Solver inženjeri će proučiti procedure te osmisliti kako se iste mogu implementirati u Solveru pomoću Solver “pravila”. Pravila daju upute Solver sustavu kako generirati korake rješavanja, kao i konačno rješenje zadatka, a unose se u posebnom, funkcijskom domenskom jeziku stvorenom specifično za programiranje Solver sustava. Ponekad će pokrivanje nekog matematičkog područja zahtijevati proširivanje mogućnosti Solver sustava i njegovih podržanih pravila, dodaje Marko.

Kada inženjeri završe s implementacijom i lokalnim testiranjem svojih izmjena, naš CI sustav preuzima kontrolu te automatski testira novu verziju Solvera na velikoj bazi zadataka i procedura. Rezultati se dojavljuju inženjerima i matematičarima koji tako mogu, koristeći zajednički web sustav, provjeriti jesu li na dobrom putu. Ako je sve u redu, novo dodano “gradivo” spremno je za isporuku u idućem testnom periodu Solvera gdje će se ispitati integracija s aplikacijom, prije nego što se Solver uputi u produkciju.

“Kako se jedan čovjek pretvara u tim ljudi, tako se i način rada mora postepeno mijenjati. Svaka tvrtka treba naći svoju “optimalnu konfiguraciju” za trenutne potrebe i to je našim ljudima, uz sve tehničke, konstantan paralelni izazov”, komentira Marko. Foto: Marin Pavelić

Web aplikacije kao proizvodni pogon za mobilnu aplikaciju

Možda ste se dosad već pitali otkud toliko web alata jednoj – mobilnoj aplikaciji i što web developeri rade u Photomathu općenito?

Pa, objasnimo to tako da su u Photomathu shvatili da razvojem internih alata kreatorima omogućuju izradu bogatijeg i kvalitetnijeg sadržaja, a web je tu nezamjenjiv iz nekoliko razloga. Marko pojašnjava:

Dosta smo rano prepoznali prednosti web aplikacija i web sustava u upravljanju sadržajem (Google Docs nam je bio inspiracija :)) i tako danas gradimo većinu naših sustava. Time osiguravamo portabilne alate koji imaju integriranu podršku za više istovremenih korisnika s različitim rolama i integriranom potporom za poslovne procese: sustav prati u kojoj fazi je neki posao i koji su dalje dozvoljeni/potrebni koraci, a u pozadini se također “brine” za pohranu i interakciju sa srodnim sustavima kojima se dojavljuju promjene/prenose potrebni podaci.

Danas u Photomathu već radi 11 web developera. Raniji projekti  uglavnom su razvijani uz Spring Boot i Kotlin, a noviji se rade u Micronautu i Kotlinu, Gradle se koristi za build, dok se za frontend uglavnom koriste React i Semantic UI. Za više detalja o unutarnjem funkcioniranju Photomatha, njegovom content development procesu i web softverskoj infrastrukturi, pogledajte njihov kratki video Behind-the-screensi pratite Netokraciju, jer ćemo uskoro razgovarati i s web ekipom.

Photomath animira!?

Razvoj Photomatha neprestan je, organski proces, ističe Marko.

Razvojem novih tehnoloških rješenja, kako bismo proširili mogućnosti naših sustava,  širimo se i u ta područja i gradimo okolne potporne funkcije.

Ono što danas Photomath izdvaja kao lidera među edukativnim aplikacijama ovog tipa su – animirane instrukcije (animated tutorials). Najnovija funkcionalnost iz Photomath “radionice” obuhvaća animirani prikaz matematičkog postupka. Marko ističe kako su ovakva rješenja prvenstveno proizašla iz potrebe da unaprijede način objašnjavanja nekih osnovnijih matematičkih  koncepata za koje im klasično, prvenstveno tekstualno, statičko korak-po-korak rješenje nije bilo dovoljno izražajno.

Eksperimentirali smo sa nekoliko varijanti dok nismo došli do trenutnog pristupa, u kojem naši kreatori animacija “programiraju” generiranje animacija pomoću vizualnog programskog sustava. Inspiracija je preuzeta od alata koji danas služe u izradi računalnih igara. Trebalo je nekoliko pokušaja dok nismo došli do dobrog omjera blage krivulje učenja, fleksibilnosti i mogućnosti brze iteracije.

Animirana objašnjenja  veoma su zahtjevna za izvesti, ali daju do sad neviđeno iskustvo učenja i razumijevanja postupka ili matematičkih koncepata. Cijela stvar postaje posebno djelotvorna s dodatkom strojno-generiranih glasovnih uputa, koje upravo postepeno puštamo korisnicima engleskog jezika.

“Kopije Photomatha na mobilnim trgovinama više nas i ne ljute”

Jedno od pitanja koje me je kopkalo jest i kako sve to besprijekorno funkcionira na prosječnom mobilnom uređaju. Računalni vid, strojno učenje, animacije… sve su to teški elementi za jednu mobilnu aplikaciju. I zaista, Photomath je nekada bio u potpunosti offline aplikacija te su se svi izračuni obavljali na mobilnom uređaju korisnika, prisjeća se Marko.

Postići to bio je izazov za sebe i jako smo ponosni što smo uspjeli to napraviti. No, kako idemo naprijed i kako nam rastu ambicije, tako nam je cloud-based pristup puno skalabilniji. Osim što nam rješava niz logističkih problema oko kontinuiranog puštanja novog sadržaja, omogućuje nam i implementaciju nekih tehničkih rješenja koja ne bi bilo moguće “strpati” na telefon.

Prebacivanje izračuna u Cloud, naravno, donijelo je sa sobom niz novih izazova koje prije nisu imali. Pojedini sustavi moraju obrađivati i po tisuću zahtjeva u sekundi te pritom biti pouzdani i brzi kako bi korisničko iskustvo ostalo na visokoj razini. Marko ističe kako im zbog toga nije strano posegnuti za nativnim kodom ili primjerice akceleriranim large-scale GPU inference sistemima kako bi postigli takve zahtjeve u kritičnim sustavima.

Photomath je početkom ove godine pokrenuo “Photomath Talks”, seriju besplatnih mjesečnih online meetupova za tech zajednicu, na kojem su predavači njihovi najiskusniji inženjeri. Na snimci gore Marko i Matija razgovaraju na temu: “Sve o razvoju softvera u Photomathu: od C++-a do React-a i natrag”. Ako želite da vas obavijeste o budućim sličnim događajima, prijavite se u njihov Tech Community.

Kad pitam Marka kako iz današnje perspektive gleda na Photomath nekada i sada, komentira ipak kako mu se čini da se i nije puno toga promijenilo. Naravno, osim što su postali puno kompleksniji, puno su i naučili, a konstantna težnja da proizvod učine još boljim i korisnijim daje im, ističe, beskonačan izvor novih izazova.

U konačnici, takvo ih je razmišljanje i dovelo do liderske pozicije.

Nekad su to inkrementalne promjene, a nekad kompletna revizija nekog sustava. Unatoč tome što je iza nas već puno napravljenog posla i iskustva, i danas se, kada započinjemo neki novi projekt, osjećam kao da krećemo u mrak. Često znam ljudima reći da ne postoji knjiga “Kako dobro napraviti Photomath” po kojoj bismo se mogli ravnati, nego smo mi ti koji definiramo što znači dobra aplikacija za pomoć pri učenju matematike i drugi će se ravnati po nama.

Danas postoji niz primjera na App trgovinama gdje neki čak prilično besramno kopiraju cijele ekrane naše aplikacije. To nas čak ne ljuti toliko koliko nas veseli vidjeti potvrdu da drugi smatraju da nešto radimo dovoljno dobro da oni nisu mogli osmisliti bolje, nego su odlučili kopirati nas :).

Fokusirani na specijaliziranije pozicije i seniore

Photomath je u svojih 7 godina narastao u globalnu priču, a to je značilo mnoge infrastrukturne promjene samog sustava, kao i restrukturu organizacije rada i timova. Photomath danas zapošljava preko 130 ljudi (od čega preko 60 inženjera) i 150 studenata, a imaju urede u Zagrebu (Strojarska 20) i San Mateu, California.

Kako se jedan čovjek pretvara u tim ljudi, tako se i način rada mora postepeno mijenjati, pojašnjava Marko:

Organizacijski smo postali kompleksniji kako bismo podržali paralelni razvoj sve većeg broja projekata i kontinuiranih procesa, a zapošljavamo i specijaliziranije i zrelije role što pomaže rasteretiti rastom nastali pritisak na naše timove. Trenutno je jedna od naših značajnijih inicijativa izgradnja ozbiljnog engineering managementa u tvrtki, a imamo i otvoren natječaj za rolu Engineering Managera u više naših inženjerskih timova (AI, QA, Core, Mobile, DevOps, Web).

The employee satisfaction survey 📊 is one of our ways of giving every employee a voice 🎤 to improve the overall employee…

Posted by Photomath on Wednesday, May 5, 2021

Da su na dobrom putu izgraditi još veći tim sposobnih ljudi, govore i rezultati internog istraživanja prema kojem bi 71% njihovih inženjera preporučilo Photomath kao odlično mjesto za rad svojim prijateljima. Također, imaju značajno nižu stopu fluktuacije od industrijskog prosjeka, primjerice, 2020. i 2021. godine, u prosjeku je otišlo samo 1-2 inženjera godišnje, unatoč prilikama koje im nerijetko “kucaju na vrata” ;), dodaje Marko.

Ako biste im se voljeli pridružiti, prilika itekako ima. Konstantno su u potrazi za vrhunskim AI, mobile, C++, frontend i backend inženjerima, ali i podatkovnim znanstvenicima i stručnjacima za DevOps, SysAdmin i Quality Assurance koje privlače ambiciozni projekti u sklopu izgradnje vrhunskog proizvoda. Samo u ovom trenutku imaju 8 aktivnih oglasa, a uvijek je tu i otvorena prijava.

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 držeći se sljedećih pravila ponašanja:

  • Ne budite 💩: Nema vrijeđanja, diskriminiranja, ni psovanja (osim ako nije osobni izričaj, ali onda neka psovka bude općenita, a ne usmjerena prema nekome)
  • Samo kvalitetna rasprava, manje trolanja: Ne morate se ni sa kim slagati, ali budite konstruktivni i doprinesite raspravi! Svako trolanje, flameanje, koliko god "plesalo" na granici, leti van.
  • Imenom i prezimenom, nismo Anonymous 👤: Autor sadržaja stoji iza svog sadržaja, stoga stojite i vi iza svog komentara. Koristimo ime i prezime (Hrvoje Lončar) ili barem ime i inicijala (Hrvoje L.) te pravu email adresu. Kako koristimo podatke koje tamo 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.

Komentari

  1. Marko K

    Marko K

    09. 09. 2021. u 1:09 pm Odgovori

    Osobno sam malo skeptičan prema hvalospjevima svih tih programera i njihovog rada (i sam sam programer). Kao i strani jezik, to je samo kod i ništa više, ili znaš ili ne znaš. Ono što je bitno je kreativna primjena toga koda, a toga ima jako malo. Od Google PageRanka i search algoritma naovamo koji su brilijantan rad kreativnih programera, jako je malo projekata gdje ima mjesta za hvalospjeve programerima. Usput zarađuje li Photomath i koliko godišnje, to bi bilo zanimljivije čuti.

    • Igpr Bizuv

      Igpr Bizuv

      10. 09. 2021. u 10:24 am Odgovori

      Pozdrav…Marko K. da si iole ozbiljan komentator znao bi sam pretražiti godišnja izvješća kompanija…ovako samo trolaš s komentarima ovako dobrih priča…primi se obrazovanja, završi faks i kreni sam…stvori ovakvu kompaniju pa ćemo mi tebe komentirati…

Odgovori

Tvoja e-mail adresa neće biti objavljena.

Popularno

Tehnologija

Brate, trebam li stvarno uzeti Šaomi?

Xiaomi je u relativno kratkom vremenu postao brend koji se daleko najviše preporučuje u Hrvatskoj i regiji. Zašto?

Kolumna

Što će nam uopće kriptovalute?

Iako o kriptovalutama slušamo već godinama, rijetko kad nam je netko dao suvisao odgovor na pitanje, a što će nama kriptovalute zapravo? U vremenima kada se centralizirani sustavi poput banaka igraju s našim povjerenjem, nikada nije bilo jasnije. Evo odgovora...

Izrada web stranica

Kad vam u 2021. padne server, što očekivati od svog hosting poslužitelja?

Po muci se poznaju junaci pa tako i hosting poslužitelji. Kako izgleda posao s druge strane vašeg weba, otkrili smo.

Što ste propustili

Digitalni marketing

Sean Ellis: “Prošlo je vrijeme kad jedan jedini growth hacker može dobiti vrtoglave rezultate”

Skovan kao termin prije više od 10 godina, growth hacking je osigurao strelovit rast mnogim poznatim firmama u tehnološkom svijetu, ali mu je ta popularnost osigurala i dozu notornosti. O kontroverzama i budućnosti ove metodologije imala sam priliku pričati s njenim utemeljiteljem, Seanom Ellisom, koji će uskoro nastupiti i uživo u Zagrebu na konferenciji SuperMinds: Don’t Code What You Don’t Understand.

Digitalni mediji

Što svaki developer treba znati o web analitici

Svaki put kad netko kaže da je web stranica gotova i “sad možemo instalirati analitiku”, analitičaru negdje na svijetu pametni telefon padne na pod, kaže stručnjak za web analitiku Robert Petković.

Startupi i poslovanje

Head of Growth: Ima li takvih superjunaka u Hrvatskoj?

Domaćim tehnološkim tvrtkama ojačanima investicijama na putu prema rastu trebaju iskusni multidiscplinarni stručnjaci koji će taj rast ubrzati. Analiziramo kako Head of Growth razmišlja, što treba znati te gdje ga i kako naći, a svoja razmišljanja dali su i Filip, vlasnik growth agencije te Tana, suosnivačica Bazzara, koji upravo zapošljava jednog.

Sponzorirano

eCommerce nakon pandemije? Najveće okupljanje industrije otkriva nam korijenske promjene

Svjedoci smo povijesnih preokreta u digitalnoj trgovini i promjena koje će imati dalekosežne posljedice. Kako se pripremiti za postpandemijski svijet eCommercea, Neuralab ekipa donosi saznanja sa središnjeg eCommerce događaja - RetailXa u Chicagu.

Startupi i poslovanje

Superology i Sportening: Želimo odgajati vrhunske product managere u Hrvatskoj

Jedan je prošao put od programera preko 'Katice za sve' do voditelja razvoja proizvoda, a drugi je nakon doktorata i akademske karijere u Kaliforniji radio u Googleu u Zürichu pa se vratio u Zagreb biti suosnivač startupa. Otkrili su nam što čini dobrog product managera, što dobri produktni tim i koji je najkraći put do inovacije.

Kultura 2.0

Velimir Grgić: “Ljudski mozak (i sve njegove mane) postao je transparentniji nego ikada, a sve zahvaljujući internetu.”

Velimir je kao novinar, pisac, scenarist i producent prošao zbilja sito i rešeto toga, ali teorije zavjera ostale su mu trajna inspiracija još od ranih dana. Zašto itko promišlja o zemlji koja je ravna ploča, hoće li teoretiziranje o zavjerama ikada prestati te koja teorija je njemu osobno najintrigantnija - saznali smo od autora netom rasprodane knjige "Teorije zavjera 21. stoljeća".