REST API & BACKEND DEVELOPMENT
Spring Framework
Spring Boot
IOC & DI
Configuration & Bean Scopes
Spring Validation
Maven Build Tool
Lombok
Api Versioning
Spring Boot Redis
Memcached
Spring Boot WebSocket
Tomcat Server
AI ENGINEERING, LLM and DEVELOPMENT
Spring AI
Message and Models
Open AI (GPT models)
Deepseek
Anthropic Claude
Ollama
Mistral
Amazon Bedrock
Output Converters
Tool Calling
MCP (Model Context Protocol)
RAG Techniques (Retrieval Augmented Generation)
VectorDB
Software Architectures, Design Principles & Design Patterns
Microservices Architecture
Monolithic Architecture
Event Driven Architecture
REST API Design Principles
MVC Pattern
Layered Architecture Designing
3-Tier Architecture
4-Tier/N-Tier Architecture
Package By Feature
Package By Layer
Builder Pattern
Singleton Pattern
Proxy Pattern
Factory Pattern
Observer Pattern
Strategy Pattern
Decorator Pattern
Front Controller Pattern
Relational Databases, ORM Frameworks & DB Migrations
Spring Data JPA
Hibernate
Spring Data JDBC
SQL Syntaxes, JOINs and Relational Mapping
Liquibase
Flyway
MySQL
MariaDB
PostgreSQL
Test Driven Development(TDD), Code Quality Assurance & CI/CD
Spring Test
jUnit
Mockito
Hamcrest
JSONAssert
JSONPath
JaCoCo
Mock and Spy Beans
SonarQube
Mocking and Spying
Unit & Integration Testing
Code Coverage
Jenkins
GitHub Actions
Container Based Development
Spring Boot Docker Compose
Docker
Docker Compose
Docker Administration
Security (Authentication & Authorization)
Spring Security
Role Based Authorization
JWT (Json Web Token)
HTTP Basic Authentication
CSRF Token
CORS
Microservices Design and Development
Spring Cloud
Netflix OSS
Event Driven Architecture
Eureka Discovery Server
Spring Cloud Load Balancer
Spring Cloud Gateway
Spring Cloud Stream
RabbitMQ
Spring Cloud Config Server
Zipkin/Slueth
Resilience4j
OpenFeign
Application Performance, Log Management and Monitoring
ELK Stack (Elasticsearch, Logstash, Kibana)
Log4J
SLf4J
Logback
Grafana & Prometheus
Elastic APM Monitoring
Spring Boot Actuator