Job title: Senior Software Engineer
Year of graduation: 2017
Supervisor: Associate Professor Zoran Kalafatić, Ph.D. and Professor Sven Lončarić, Ph.D.
Study profile: Computing
Hi everyone, my name is Ivan and I think that 4 years after my graduation it’s high time I go and pick up that diploma from the student administration. I’ve been working at Photomath for 6 years, and when I’m not programming, I’m usually hiking, climbing, or running late.
What are your responsibilities at work?
Since I’ve been working at Photomath practically from the very beginning, I’ve hands-on experience with most of Photomath’s systems and am therefore responsible for several areas. Although the application looks quite simple on the outside, it takes a complex infrastructure in the background to achieve such user experience.
For the first 6 months, I worked as an Android Developer. After that, I was involved in setting up the Machine Learning Research team, where I was mainly involved in pushing the boundaries of mathematical problem recognition. As time went on, I was less and less involved with training ML models practically and more and more focused on mentoring, prototyping new features, running models efficiently on mobile devices, and the infrastructure needed for learning ML models (local GPU clusters, etc.).
I then applied the knowledge I acquired to the development of our cloud infrastructure, while also leading the product and project development of some components and the design of the architecture of the Photomath systems. Lately, I’ve been mostly involved in mentoring and technical guidance in the areas of AI/ML, but I’m also no stranger to DevOps, Data Engineering, Backend, or Product roles.
What do you like most about your current job and what challenges do you face?
Every month, Photomath solves billions of problems. The impact of every improvement or new feature is immediately visible to millions of users around the world. While this is impressive for a Croatian start-up, it requires a large and complex infrastructure to handle this load. I especially like being confronted with real-time system development problems of this scale, which often require creative ideas and solutions that you can’t find on Stackoverflow or Google.
How did you find your first job after FER?
I’ve been interested in electronics since primary school, so it was only logical that I enrolled in FER after MIOC. But when I went to FER, I chose computing – for no particular reason, maybe it was mainly because of the wider choice of internships in computing.
As I wanted to find out what I was most interested in, I also worked on my personal projects in electronics, web/mobile application development, machine learning, and computer vision during my studies. I was most attracted to the combination of machine learning and computer vision, especially the concrete application of such systems.
I tried to deepen my knowledge in this area as much as possible by finding the right mentor at FER and privately with my own projects, and especially by looking for a student internship in this very field. So, at the end of the 3rd year, I started a student internship at the then small start-up Microblink, where I worked on projects that later grew into a separate start-up Photomath.
How and when did you decide that you wanted to work in the field you’re in now?
Although I was primarily interested in computer vision and deep learning, I felt that I wasn’t knowledgeable enough in these areas. That’s why I applied for a student internship at a start-up in this field, but for the development of an Android application.
I didn’t have much experience with Android, but, shortly before that, simply to get an extra note in my CV, I’d developed the application ZETcheck for locating trams and buses in the city, which was very popular in Zagreb for a short time.
The interview for the internship went great, mainly because they’d heard about this application, and six months later I got the opportunity to prove myself in the field I was aiming for. After graduation, I continued working at the same place, the only difference being that now I didn’t have to worry about labs and exams.
Thinking about your experience at FER, what prepared you for your career? What knowledge and skills are still useful to you today?
Today, for example, Google offers certifications within 6 months that they claim are considered equivalent to a university degree for hiring purposes. With such a certification, a person can definitely perform these tasks with high quality, but what FER offers is general knowledge that doesn’t become obsolete when one technology disappears and a new one emerges – which is increasingly common.
FER has given me broad knowledge and introduced me to areas that I probably would never have entered on my own. It often happens that I use knowledge from a field that I didn’t think I’d need at the time, that I apply knowledge from an electrical engineering course even though I’ve nothing to do with electrical engineering, or that I apply mathematical modelling methods to the problems I encounter.
Also, FER has fostered a systematic, analytical and engineering approach to problem-solving. These are general skills that are applicable not only in solving programming problems but also in work and life in general.
What advice would you give to students who are looking for a job in your field?
In my experience, having interviewed a considerable number of students from FER, the vast majority of whom naturally want to do something in the field of artificial intelligence, it’s difficult to distinguish from CVs those who find the field interesting only because they see impressive results from those who really want to devote themselves to it. Since the only fair approach – to give everyone a chance – isn’t practical with a large number of applications, preference is usually given to those applicants who’ve already done some relevant projects outside the faculty.
Here, I’d definitely encourage you to try out your practical knowledge in a practical project outside the faculty, which primarily teaches you theoretical knowledge. Ideally, you can try to solve a concrete problem that bothers you, such as the slowness of the trams in the city. If you study at FER and create an interesting project, I think you’ll have no problem finding your dream job. Good luck! 🙂