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

Infobip ❤️ Netokracijašto akvizicija znači za vas - i nas?

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.

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:

  • 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). Također, upoznajte se sa stavkom 2. članka 94. Zakona o elektroničkim medijima prije no što ostavite komentar.
  • 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 te pravu email adresu.

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.

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

Novost

Što se događa u tech industriji? Masovna otpuštanja, kripto-burza propala preko noći, a tek Twitter…

Malo je reći kako ovaj tjedan nije bio dobar za IT industriju. Zapravo, poprilično je kaotičan i čini se kako stabilnost neće doći uskoro...

Vodič

Gdje ćemo se družiti i raspravljati ako propadne Twitter?

Bilo da vas brine koliko dugo će još Twitter funkcionirati (što nije čudo s obzirom na svakodnevne vijesti o zbunjujućim poslovnim potezima) ili da ne želite biti dio Muskovog Twittera, evo što se nudi od alternativa.

Intervju

Miro Jurić već 23 godine radi u Microsoftu u Redmondu, a nama je otkrio tajne uspješnog developer managmenta

Kročiti u sjedište operativnog sustava kojeg koristiš cijeli svoj život, kojeg poznaješ po pozadini predivne livade i oblaka, stvarno je nezaboravno iskustvo. Ipak, ono što te još više iznenadi je razgovor s Hrvatom koji tamo radi 23 godine i koji je s tobom podijelio sve što zna o developer managementu.

Što ste propustili

Tehnologija

30. godina od prvog SMS-a: Kako je privatni kanal postao alat za B2C komunikaciju

Na 30. obljetnicu SMS-a prolazimo specifičnosti SMS kanala komunikacije koji je preživio dolazak interneta, pametnih telefona i messaging aplikacija, a s Infobipovim stručnjacima otkrivamo i zbog čega je na kraju opstao.

Tehnologija

Panika, izgubljeni podaci, ransomware: Kako spriječiti i liječiti sigurnosne incidente?

Napadi hakera, malware i ransomware ne događaju se nekom drugom. Kako takve napade spriječiti i što učiniti ako se ipak dogode - s tehničke, ali i ljudske strane, saznali smo od konzultanta za cybersigurnost Tomislava Poljaka.

Sponzorirano

Zoran Božičević: Zdrav tim “tajna” je dobrog developmenta

Zanimljivi projekti i dobra plaća nužan su uvjet zadovoljstva developera, međutim, posebno je umijeće održati ih zadovoljnima i sretnima.

Tehnologija

ReversingLabs: Kad radite s petabajtima podataka, tehnički izazovi su jedinstveni i često pomiču sve granice

Vodeće društvene mreže, antivirusne kompanije, korporacije i vladine agencije širom svijeta od malicioznog softvera štite se koristeći tehnologije razvijene u Zagrebu. S kakvim se sve izazovima susreću jer su stvorili najveću svjetsku bazu malwarea ispričali su nam voditelji tehničkih timova ReversingLabsa.

Društvene mreže

MUP u suradnji s Metom predstavio hrvatsku verziju Amber Alerta, NENO Alarm

NENO Alarm pomoći će u pronalaženju nestale djece u Hrvatskoj - ako dijete nestane, Ministarstvo unutarnjih poslova će obavijestiti tvrtku Meta, koja će inicirati upozorenje tj. NENO Alarm građanima - korisnicima društvenih mreža Facebook i Instagram – u krugu od 60 kilometara.

Intervju

Dobili ste poruku od “prijatelja” koji moli da mu kupite bon? Evo što kaže policija o takvim prijevarama

Uvijek razmišljaš kako se upravo tako nešto neće dogoditi tebi... Ali ipak se dogodi.