WHO AM I

About Me

Nikola Kabasaj
Nikola KabasajBackend Software EngineerJava · Spring Boot

Hi, I'm Nikola Kabašaj

A backend software engineer with a passion for building scalable, secure and robust distributed systems. I enjoy designing scalable enterprise systems, improving application performance, and delivering robust, high-quality solutions. I work across the full development lifecycle—from designing architecture and integrating services to optimizing databases and automating infrastructure.

I have experience working across the full software lifecycle — from design and planning, through implementation and testing, to production deployment and monitoring. I've contributed to cloud-native microservice architectures on AWS, message brokers, CI/CD pipelines, and authentication platforms.

My core stack is Java / Spring Boot, and I have hands-on experience with RabbitMQ, Kafka, Kubernetes, Docker, Keycloak and various AWS services. I enjoy clean code, thoughtful architecture and continuous learning.

JavaSpring BootPostgreSQLMySQLJPA/HibernateKubernetesTerraformKafkaRabbitMQAWSRedisGraphQLELK StackKeycloakCamundaMavenGradleJUnitMockitoLiquibaseFlywayJira
INTRODUCTION

Work Experience

BACKGROUND

Education

2021 – 2026GPA 9.6/10

Master of Science — Software Engineering and Information Technology

Faculty of Technical Sciences, University of Novi Sad

Specialization in distributed systems and software engineering. Master thesis on Performance Testing of a Serverless Application Implemented Using AWS CDK Tools.

2017 – 2021

Bachelor of Science — Software Engineering and Information Technology, Electrical Banking

Faculty of Technical Sciences, University of Novi Sad

Core studies in algorithms, data structures, databases, operating systems, and software design. Graduated with honors.

PEOPLE FIRST

Leadership & Mentorship

Chapter 1

Building Careers, Not Just Software

Development Lead

There's a moment every senior engineer faces — when writing great code stops being enough. For me, that moment came when I stepped into a Development Lead role and found myself responsible not for features, but for people. I guided 5+ colleagues through the messiest, most human part of engineering: figuring out where you want to go. Through one-on-one conversations about career goals, strengths, and ambitions, I helped each person map a path that felt genuinely theirs. Some wanted deep technical expertise, others wanted project ownership. My job was to listen, challenge the assumptions that were holding them back, and then connect the dots between their aspirations and real opportunities — including steering them toward the right projects before those projects were even announced.

Chapter 2

Passing the Torch

Mentoring Interns & Junior Engineers

The first Spring Boot pull request an intern submits is rarely elegant — and that's exactly the point. Over dozens of internship cycles and onboarding programs, I learned that the fastest way to grow a junior engineer isn't to give them answers, but to teach them how to find the right questions. I mentored interns and junior engineers through full-stack Spring Boot and React programs, covering everything from clean API design and testing discipline to the unwritten rules of production systems. As the designated tech mentor for new hires, I held a 100% preparation success rate across every cohort I worked with. I also conducted interviews for internship and entry-level applicants — each one a chance to spot raw potential and advocate for people who might otherwise be overlooked.

Chapter 3

Learning from the Top

Mentorship Received

The best engineers I know are voracious learners — not just of code, but of how organizations actually work. I was fortunate to receive direct mentorship from a C-level Delivery Manager, gaining a perspective that rarely reaches engineering depth: how to scope work before a single line is written, how to gather requirements from stakeholders who don't yet know what they want, and how to frame technical tradeoffs in a language that moves decisions forward. These sessions changed how I approach projects — not just the implementation, but everything that comes before and after it. That lens, from architecture down to boardroom, is something I now consciously try to pass on.

TOOLS I USE

Technologies

JavaJava
Spring BootSpring Boot
KubernetesKubernetes
KafkaKafka
AWSAWS
RedisRedis
MySQLMySQL
PostgreSQLPostgreSQL
DockerDocker
TerraformTerraform
JavaJava
Spring BootSpring Boot
KubernetesKubernetes
KafkaKafka
AWSAWS
RedisRedis
MySQLMySQL
PostgreSQLPostgreSQL
DockerDocker
TerraformTerraform
JavaJava
Spring BootSpring Boot
KubernetesKubernetes
KafkaKafka
AWSAWS
RedisRedis
MySQLMySQL
PostgreSQLPostgreSQL
DockerDocker
TerraformTerraform
JavaJava
Spring BootSpring Boot
KubernetesKubernetes
KafkaKafka
AWSAWS
RedisRedis
MySQLMySQL
PostgreSQLPostgreSQL
DockerDocker
TerraformTerraform
RabbitMQRabbitMQ
GraphQLGraphQL
ElasticsearchElasticsearch
KeycloakKeycloak
GradleGradle
MavenMaven
KotlinKotlin
GoGo
JiraJira
RabbitMQRabbitMQ
GraphQLGraphQL
ElasticsearchElasticsearch
KeycloakKeycloak
GradleGradle
MavenMaven
KotlinKotlin
GoGo
JiraJira
RabbitMQRabbitMQ
GraphQLGraphQL
ElasticsearchElasticsearch
KeycloakKeycloak
GradleGradle
MavenMaven
KotlinKotlin
GoGo
JiraJira
RabbitMQRabbitMQ
GraphQLGraphQL
ElasticsearchElasticsearch
KeycloakKeycloak
GradleGradle
MavenMaven
KotlinKotlin
GoGo
JiraJira

GET IN TOUCH

Contact Me