From Mobile to Machine Learning – Why I’m Making the Shift
In late 2024, my journey at Avast (later Gen) ended, and I wondered: What should I do next?
I decided to take some time off and learn something new. That something turned out to be Machine Learning, and here I want to explain why I chose that path.
When NPCs Needed Brains
I first encountered Artificial Intelligence while building a Wolfenstein-style shooter for Android. That was when I prototyped games to improve my Java skills.
I reached the point where the game had basic functionality: moving around rooms, picking up items, and shooting enemies. But those enemies? They stood still. They could shoot, but they did not move.
To make the player feel these are real enemies, I needed them to follow the player between rooms. For this, I implemented the A* algorithm to efficiently find the shortest path to the player.
Even though I never released the game, it was a fun exercise that helped me understand that I do not need human-like intelligence to make NPCs (Non-Player Characters) look intelligent, just as realistic-looking games do not require real-world physics.
The Maze That Changed Everything
I have always enjoyed learning new things, and the university is an excellent place to do that. It works best when it allows you to choose what to focus on. While options at the University of Economics in Bratislava were limited, I still found interesting topics to explore.
One of my favourite courses was Artificial Intelligence. There, I built an expert system using Clips, a rule-based programming tool, to solve puzzles and experiment with search strategies like breadth-first vs. depth-first search.
For the final assignment, I developed a maze-solving system. I loved working on it - even spending weekends running experiments. What initially took days to run, I managed to optimize down to hours and later minutes by applying heuristics.
Unfortunately, the follow-up course on Neural Networks was not available to my program. I was frustrated. I did not want to switch universities but still wanted more in-depth technical knowledge.
Luckily, I was able to complete my thesis and final year at Luleå University of Technology in Sweden. There were more options for me, and I learned how to develop a compiler, game engine and computer graphics using NVIDIA’s CUDA.
From Code Monkey to Curious Analyst
After university, I landed my first job as an Android Developer. In the early years, I was driven by imposter syndrome and wanted to prove myself, so I focused on becoming the best developer I could be. That mindset helped me land my second job at Avast.
Avast was a great place to learn, and I got to work on multiple apps and libraries. However, I quickly became interested in areas beyond coding, like product management and data science.
We had an incredible Product Manager who welcomed my curiosity. I helped test hypotheses using data, supported A/B tests, and explored metrics using our enormous dataset produced by millions of users worldwide.
Later, when I moved to another team as a team lead, I often stepped in as a temporary Product Manager. That is when I got to apply everything I had learned, and together with data science and sales people, we doubled the product’s revenue.
I loved collaborating with data scientists throughout my time at Avast (and later Gen). I appreciated how generously they shared their knowledge with me.
Real-World ML: Predicting Mobile Release Success
As a team lead, I always looked for ways to improve our development process. I was heavily inspired by backend engineering and DevOps. At the time, mobile development was quite new, and we still haven’t adopted all the good practices from the rest of the industry.
One big lesson I learned was that it is not about building the perfect system but about creating fast feedback loops.
I began integrating CI/CD practices into our mobile workflow. Alongside a like-minded colleague, we optimized every stage - from development to deployment and monitoring.
But there was still one major bottleneck: the release rollout phase.
Even with a new release ready in a week, we had to slowly roll it out over another 1–2 weeks, checking daily if metrics stayed green. It was inefficient.
Then came a lucky break: Avast launched a company-wide initiative to apply Machine Learning outside the antivirus team. Teams could pitch ideas, and if selected, they would get ML engineering support.
I pitched a system that could predict bad releases using our existing telemetry and do it much faster than a human expert.
Our idea was selected.
I worked closely with an outstanding ML Engineer. I acted as the domain expert and product owner - providing the data, validating outputs, and shaping the solution. I enjoyed it so much that I worked on it during holidays and evenings.
The result? We deployed a time-series classification model that could predict release outcomes with high confidence from just 1% of user data within a single day of rollout. It was one of the most satisfying projects I have ever worked on.
What’s Next: Shaping the Future
By the time my journey at Avast ended, I had been building mobile apps for over 12 years. The mobile world is still exciting, but I did not feel I could grow as much as I once did.
Throughout my career, I have tried to teach myself backend development and machine learning. The truth is that work always came first, and there was never enough focus left for learning.
Now, for the first time in years, I had the opportunity to take a step back and invest time into learning before jumping into the next job. The question was: what to learn?
Backend development had always been on my radar. After spending years focused on frontend and mobile platforms, it felt like the logical progression.
However, seeing all the progress in Artificial Intelligence, I remembered how much I enjoyed learning and working on it. I realized I already had a foundation thanks to university (Statistics, Artificial Intelligence), hobby game development (Artificial Intelligence), product development (Data Science), and developer experience work (CI/CD, Machine Learning).
It called to me, and this time, I listened.
Six months later, I’m glad I made that choice. Machine Learning has been everything I hoped for. On one hand, I’ve been able to reuse what I already knew. Python came naturally, and my experience with data helped a lot. On the other hand, the math and statistical thinking behind machine learning made me feel like a beginner all over again. And that’s precisely what I needed.
AI is shaping the future, and I don’t want to just live in it. I want to help build it.
I am fascinated by what AI unlocks in science, language, and tooling. There is still so much about the world and ourselves that we do not understand. For example, I love the idea that by building Artificial Intelligence, we might better understand our minds.
I am excited about the idea that I could be part of all that progress.