Nikola is a software architect, researcher, and software engineer. As a university assistant professor with a Ph.D. in computer science, Nikola has a robust analytical approach to problem-solving, which yields practical and effective solutions. Nikola's communication and coordination skills were developed throughout a six-year CTO and consultancy stint in various software engineering projects from diverse business domains.
Integrated machine learning algorithms for real-time processing of hotel reservations, outputting occupancy forecasts and Pryes optimization suggestions.
built a data pipeline from transactions to forecasting and optimization.
Monitored processes and automated data quality checks.
Led the development of both the back-end and front-end teams for a model-driven multi-platform information system. The end result was implemented in over a dozen South European customers in the supply chain management and retail domains.
Managed and led the development of a mobile and desktop cloud cash register software-as-a-service (SaaS) product with several thousand SME clients.
Built a fast in-memory Java-based OLAP solution that was capable of handling several million records efficiently.
Developed low-level Java drivers for a Bluetooth card payment processing terminal.
Designed a domain-specific language for specifying the database structure, REST services interfaces, and business processes workflows interpreted on a mobile hybrid web application based on PhoneGap.
Integrated Pentaho OLAP BI for various clients; programmed numerous MDX queries for extracting data from datamarts.
Evolving Software Systems (EVOSOFT) is a central component of rapidly growing applications across diverse economic sectors.
The system operates in complex, heterogeneous, decentralized, and inter-dependent environments, emphasizing availability and reliability.
The research project focuses on understanding how abstract software structures and local system properties influence fault distributions, impacting mission-critical system properties.
ElaClo is a framework for optimizing application configuration in cloud environments.
ElaClo was implemented as an expert tool and evaluated on a real-life cloud application.
The thesis contributes to the development of a model for optimizing cloud information systems with quality and infrastructure cost considerations, a component-based architecture for dynamic reconfiguration, performance evaluation methods, and an evolution algorithm for configuration optimization.