Tradeoffs over perfection
There is no perfect solution, only the right one for the constraints in front of you. Write down the why so the next person inherits context, not just code.
Senior backend engineer at Razorpay. I take ambiguous, cross-cutting problems from spec to production, raise the bar for the engineers around me, and ship products on weekends that people actually pay for.

per month in revenue leakage prevented at Rakuten
quarterly GMV from a feature I owned end to end
mean time to resolve, after unified observability
Newsio downloads in week one, 4.8-star rating
Payments infrastructure, internal AI tooling, and features owned from PRD to production.
Led a telecom revenue-assurance platform across a 12-service Go and Java ecosystem.
Backend systems for enterprise web platforms in Java.
Co-founded an AI short-news app during the pandemic and led a team of 7.
No meetings, no tickets, no roadmap. Just a problem I ran into during the week, a blank repo on Saturday morning, and something real people can use by Sunday night.
Coffee, then a blank repo. Pick the one annoying problem from the week worth fixing for everyone.
Ship the ugliest version that works. Deploy to a real domain before lunch so there is no backing out.
A LeetCode problem or two to keep the fundamentals sharp. 250+ and counting.
Read what the AI labs released this week and write it up for AI Brief.
Polish, SEO, and the boring parts users actually feel. Then switch one of my six languages on and go outside.
Ship useful work, understand the system around it, and leave enough signal for the next person to run it safely.
There is no perfect solution, only the right one for the constraints in front of you. Write down the why so the next person inherits context, not just code.
Treat every system as if you will be woken up for it at 3 AM. That changes how you handle observability, errors, runbooks, and documentation.
Sustainable velocity beats bursts followed by firefighting. Feature flags, gradual rollouts, real tests, automated rollbacks.
Components are easy. The complexity lives in the interactions, bottlenecks, and failure cascades between them.