Welcome—and thanks for being here. I'm a Staff Software Lead, with 15+ years in Java. For the last few years, I've lived in event-driven, distributed systems.
I build real-time platforms for financial infrastructure—streaming on Apache Kafka and Apache Flink, handling strict ordering, exactly-once processing, watermarking, and schema evolution with Avro.
I've built reconciliation pipelines for core banking, where a lost event isn't a bug—it's a financial discrepancy. I also led one platform's shift to a SaaS-ready, multi-tenant product, deployed globally.
I own the full lifecycle: Kafka topology, consumer lag, Flink state tuning, CI/CD for streaming jobs, plus the surrounding architecture—Cassandra, Oracle, Spring Boot.
Low-level design matters to me: clean class structures, solid interfaces. Systems fail at the seams, so I weigh trade-offs constantly—consistency vs. availability, throughput vs. latency.
I stay hands-on, shipping code and solving hard consistency problems, while also leading teams and mentoring engineers.
Educative.io Review in 2026: Is It Worth It for Developers?
Thinking about Educative.io? Here's the honest verdict: outstanding for interview prep and system design, not ideal for beginners. Full review with pricing, comparisons, and FAQ.
How To Prevent cannot read property map of undefined
The "cannot read property map of undefined" error occurs when we try to call the map method on a variable that stores an undefined or null value.
How can I remove a specific item from an array in JavaScript?
Removing a specific item from an array is the most use case a developer runs into. You will learn more than 7 ways to achieve this.
A Complete Guide To JavaScript LocalStorage
localStorage is a property of the window object in JavaScript that allows you to store key/value pairs in a web browser. The data stored in localStorage persist even after the browser is closed, making it a useful tool for saving user data on the client side.
How to Prevent cannot read property split of undefined
The "cannot read property split of undefined" error occurs when we try to call the split() method on a variable that stores an undefined value.
Consumer Rebalance Storms: Why Your Kafka Consumer Group Never Stabilizes
A deep dive into Kafka consumer rebalance storms — the exact CommitFailedException and JoinGroup log spam that signals it, why max.poll.interval.ms and eager rebalancing are usually to blame, and how to fix it with cooperative sticky assignment and static membership.
LazyInitializationException: could not initialize proxy — no Session — Root Cause and Fix
A deep dive into Spring Boot's LazyInitializationException, why it slips past code review and blows up in production, and how to fix it properly instead of slapping @Transactional on everything.
5 Steps to Ace Your FAANG Interview: Checklists for DSA, LLD & HLD
Stop grinding blindly. Follow this structured 5-phase checklist to master Data Structures, Low-Level Design, System Architecture, and behavioral questions for major tech company interviews.
Mastering Spring Boot: Building Production-Ready Microservices
Spring Boot has revolutionized Java application development by eliminating boilerplate configuration and providing a streamlined approach to building production-ready applications. In this comprehensive guide, we'll explore advanced Spring Boot concepts and patterns that will help you build robust, scalable microservices that can handle real-world demands. Understanding
Spring Boot Hello World Tutorial with Lombok and H2 Database – Quick Start for Beginners
Learn how to create a Hello World Spring Boot application using Lombok for cleaner code and the H2 in-memory database for rapid development. This step-by-step guide includes annotations, project setup, REST API, H2 console access, and more to kickstart your Spring Boot journey.
Gopi Gorantala Newsletter
Join the newsletter to receive the latest updates in your inbox.