Tools I use, languages I work with, and infrastructure I build on.

Here's an overview of the technologies and tools that power my day-to-day work as a backend engineer.

Languages & Frameworks

  • Java & Kotlin

    My primary languages for over a decade. I use them daily for building microservices, APIs, and backend systems with Spring Boot and Spring Cloud.

  • Spring Boot & Spring Cloud

    The backbone of most systems I build. From REST APIs to event-driven microservices, Spring Boot is my go-to framework for production-grade Java/Kotlin applications.

  • Python

    I use Python for scripting, automation, and increasingly for AI/ML experiments with LLMs and agentic workflows.

Cloud & Infrastructure

  • Azure & Google Cloud

    My primary cloud platforms. On Azure I work with AKS, Cosmos DB, Azure DevOps, and Azure AI Services. On GCP I use Cloud Run, GKE, and Cloud Build. I hold multiple Azure certifications.

  • Docker & Kubernetes

    Essential for containerized deployments. I use Docker for local development environments and Kubernetes (AKS, GKE) for production orchestration.

  • Terraform

    My infrastructure as code tool for provisioning and managing cloud resources across Azure and GCP reproducibly.

  • GitHub Actions

    My CI/CD platform of choice. I design workflows for module-specific builds, automated testing, and deployment pipelines.

Databases

  • PostgreSQL

    My go-to relational database for most projects. I use it with Flyway for schema migrations and Spring Data JPA for persistence.

  • Redis

    For caching, session management, and high-throughput data scenarios where low latency matters.

  • Azure Cosmos DB & MongoDB

    For document-oriented data models and globally distributed applications. I hold the Azure Cosmos DB Developer Specialty certification.

Development Tools

  • IntelliJ IDEA

    My primary IDE for Java and Kotlin development. The refactoring tools and Spring Boot integration are unmatched.

  • VS Code & Claude Code

    VS Code is my editor for TypeScript, Python, and general-purpose work. Claude Code is my AI-powered CLI for autonomous coding tasks, code review, and rapid prototyping.

  • iTerm2 + Zsh + Oh My Zsh

    My terminal setup. Combined with custom aliases and plugins, it makes navigating projects and running commands efficient.

  • SDKMAN, nvm, uv

    Version managers for Java/Kotlin (SDKMAN), Node.js (nvm), and Python (uv). Essential for managing multiple projects with different runtime versions.

Build & Package

  • Maven & Gradle

    Build tools for JVM projects. I use Maven for most Spring Boot projects and Gradle when more flexibility is needed.

  • pnpm

    My preferred package manager for JavaScript/TypeScript projects. Fast, disk-efficient, and strict about dependency resolution.