Aarav Sharma
Senior Backend Engineer @ Paylane | Java, Spring Boot, Kafka | Building payment rails that don't wake you up at 3am

Spring Boot, JVM internals, interviews and real production stories
224 members 17 postsTechnology
A community for Java and Spring developers across India. Share what you're building, ask questions about Spring Boot, JPA, Kafka and JVM tuning, and help each other grow from junior to senior. Be kind, be specific, no spam or course promotions.
Aarav Sharma
Senior Backend Engineer @ Paylane | Java, Spring Boot, Kafka | Building payment rails that don't wake you up at 3am
Aarav Sharma
Senior Backend Engineer @ Paylane | Java, Spring Boot, Kafka | Building payment rails that don't wake you up at 3am
From Junior to Senior: Let’s Grow Together in Java!
Being a Java developer is more than writing code. It's about solving problems, learning from failures, and building reliable applications.
Here are a few topics every Java developer should explore:
Spring Boot: Build scalable REST APIs and microservices.
JPA & Hibernate: Understand database relationships and optimize queries.
Kafka: Learn how services communicate through event-driven architecture.
JVM Tuning: Improve application performance and understand memory management.
Clean Code: Write code that your teammates can understand and maintain.
You don't need to know everything to be a great developer. You just need to keep learning and be willing to help others.
🇮🇳 Let's build a strong Java and Spring community across India! Share your projects, ask questions, discuss real-world challenges, and help fellow developers grow from junior to senior.
Question for the community: What's one Spring Boot issue that took you hours to debug but taught you something valuable?
Aarav Sharma
Senior Backend Engineer @ Paylane | Java, Spring Boot, Kafka | Building payment rails that don't wake you up at 3am
Ah yes, the classic 'entry-level' paradox. 🤡☕️ Who else has seen this magic trick?

Aarav Sharma
Senior Backend Engineer @ Paylane | Java, Spring Boot, Kafka | Building payment rails that don't wake you up at 3am
Every developer loves writing code until production introduces a bug that cannot be reproduced locally. 😅
That's when logging, monitoring, and understanding the system matter more than writing another line of code.
Harshita
SDET | Playwright, Selenium, REST Assured | Quality is a team sport
We have 6 services and integration bugs keep slipping through. Has anyone used either in production? Which was easier for the team to adopt?
Riya Agarwal
Engineering Manager @ Paylane | Building teams that ship | Ex-backend engineer
Two backend roles (SDE-2 and Senior), Bengaluru hybrid. Spring Boot, Kafka, Postgres, lots of interesting payments problems. Happy to answer questions here or in DMs.
Dhruv Joshi
Software Developer | Java, Spring Boot, React | Learning system design one outage at a time
Layer-based (controller/service/repository) or feature-based (invoice/, payment/, customer/)? Our codebase is layer-based and finding things is getting hard at ~200 classes.
Harshita
SDET | Playwright, Selenium, REST Assured | Quality is a team sport
We used H2 for integration tests for years. Every few months a query that passed on H2 failed on Postgres in prod. Moved to Testcontainers with the real Postgres image + reusable containers. Test suite went from 6 to 8 minutes, and we haven't had a dialect bug since. Tip: enable container reuse locally
Kabir Singh
Full Stack Dev | Node.js, React, MongoDB | Travel-tech | Open to backend-heavy roles
For DTOs we've moved to records. Entities still use Lombok @Getter/@Setter. Is anyone going Lombok-free entirely? What did you replace @Builder with?
Aarav Sharma
Senior Backend Engineer @ Paylane | Java, Spring Boot, Kafka | Building payment rails that don't wake you up at 3am
One runaway report query held a lock for 40 minutes and took down our payouts API last month. Now every service sets `options=-c statement_timeout=30s` on the Hikari datasource. Long-running jobs use a separate datasource with a higher limit. Should have done this years ago.
Aarav Sharma
Senior Backend Engineer @ Paylane | Java, Spring Boot, Kafka | Building payment rails that don't wake you up at 3am
Curious where everyone is. We just finished moving everything to 21.
Riya Agarwal
Engineering Manager @ Paylane | Building teams that ship | Ex-backend engineer
Not a checklist, but patterns I've seen in people who made the jump: 1. They ask 'what happens when this fails?' before anyone else does. 2. Their PRs are small and their descriptions explain why, not what. 3. They unblock others without being asked. 4. They can say 'I don't know, let me find out' comfortably.
Kabir Singh
Full Stack Dev | Node.js, React, MongoDB | Travel-tech | Open to backend-heavy roles
Starting a new notifications service. Team knows Spring MVC well. Is there any reason to choose WebFlux now that we have virtual threads in Java 21?
Rohan Malhotra
Staff Engineer @ Orbitly | Distributed systems, Go, Postgres | Writing about architecture tradeoffs
Reviewed three architectures this month where a 6-person team runs 12 services. Every one of them had: • distributed transactions they didn't know they had • a shared DB anyway • a deploy pipeline more complex than the product A well-structured modular monolith (Spring Modulith is great for this) gets you 90% of the
Dhruv Joshi
Software Developer | Java, Spring Boot, React | Learning system design one outage at a time
Spent 2 hours on this today. My service method throws a custom checked exception after saving an entity, and the save is NOT rolled back. ```java @Transactional public void createInvoice(...) throws InvoiceException { repo.save(invoice);
Aarav Sharma
Senior Backend Engineer @ Paylane | Java, Spring Boot, Kafka | Building payment rails that don't wake you up at 3am
We had duplicate payouts twice last year. Both times: client retried after a timeout, server had already processed the first call. What fixed it for good: 1. Every mutating API takes an Idempotency-Key header (client generates UUID). 2. We store (key, request_hash, response, status) in Postgres with a unique index on
Aarav Sharma
Senior Backend Engineer @ Paylane | Java, Spring Boot, Kafka | Building payment rails that don't wake you up at 3am
Started this because most Java groups I'm in are either job spam or course ads. What this space is for: • Real questions from real projects (stack traces welcome) • Spring Boot / JPA / Kafka / JVM tuning discussions • Interview prep, but focused on understanding, not memorising