Marko Horvat
Dr. Marko Horvat is an Associate Professor at the Department of Applied Computing, Faculty of Electrical Engineering and Computing (FER), University of Zagreb.
Before joining FER in 2008, he accumulated 10 years of industry experience as a software engineer, architect, project manager, and department manager. At FER, he has contributed to numerous national and EU scientific projects as a project manager, principal researcher or domain expert.
His primary research is focused on improving Large Language Models (LLMs) and employing them in diverse production systems in complex real-life scenarios. Currently, he leads novel research in neuro-symbolic AI, specifically investigating the synthesis of LLMs with formal knowledge representation methods and automated reasoning services to develop next-generation of intelligent systems. By bridging the gap between transformer-based network architectures and symbolic logic, he is trying to enhance the reliability and effectiveness of AI-driven tutoring and adaptive learning environments. Furthermore, in his work Dr. Horvat explores the integration of Generative AI and Natural Language Processing (NLP) within affective computing and semantic web frameworks to develop better context-aware general knowledge intelligent systems.
During his academic career, he has published more than 120 scientific papers in international journals and conference proceedings. He has also published several university and professional teaching manuals and textbooks.
Marko Horvat is an active promoter of science and STEM education, regularly participating in expert panels, educational activities and making media appearances on podcasts, radio, and TV speaking about a wide range of topics covering computer science, artificial intelligence, and the impact of disruptive technologies.
He is a Senior Member of IEEE and serves on the IEEE Croatia Section Executive Board.

Talk: To vibe, or not to vibe, that is the question: The future of AI-assisted software engineering
Contemporary AI tools have made basic coding very easy. Today, coding often means translating human ideas into natural language computer instructions. No programming skills are necessary to become a software developer. As a result, the recent vibe coding paradigm has become very popular. In vibe coding, developers simply tell the AI what they want in plain language, and the AI generates the code. However, we must recognize the important difference between just writing code and real software engineering. Engineering involves building solid architecture and ensuring that software systems are heterogeneous, modular, decoupled, and can quickly scale and deploy, at the same time avoiding messy and inefficient code.
For students, vibe coding can be very risky. It can make them feel like experts too quickly. If they do not struggle to understand fundamental concepts, find bugs, or fix logic errors, they never truly learn how computers and software work. For experienced developers, the risk can mean giving up critical thinking. They may start to trust the AI completely, instead of using it to save time so they can focus on challenging design problems.
When developers stop thinking critically, they often ask AI to build an entire app in a single, large prompt. This zero-shot approach results in bad, bloated, and messy code that is very difficult to fix or update later. Therefore, it is important to use AI more effectively and securely. The main problem also lies in human limitations. Developers simply do not have enough time or cognitive capacity to review every line of AI-generated code. Today, AI agents can easily write thousands of lines of code in a single day, making it impossible for people to read and check all of it line by line.
Additionally, it is crucial to address a major problem with AI: the limitation of training data. AI models perform well with older programming languages, where training data is abundant, but they struggle with emerging technologies because there is not enough historical data for them to learn from.
Ultimately, the question “to vibe, or not to vibe” is not about avoiding AI entirely. Rather, it is about choosing when to use AI optimally for speed and efficiency and when to maintain control. It is important to recognize when to use AI for quick tests and when to apply strict engineering principles to build robust systems for the future.
Get your free ticket here https://www.entrio.hr/en/event/dorscluc-2026-28348 and see you at DORS/CLUC 31!



