Pinned Tweet
The leader's habits/routine maketh the team's culture!
#foodforthought
Has AI made software developers more productive?
My read: for the actual coding, yes. For the job as a whole, itâs become counterproductive in a way nobody talks about.
đ§”
A big chunk of my time now goes to walking someone through why âit already works on Claudeâ and âitâs ready for productionâ are two very different statements, even when Iâm using AI myself.
Dheeraj Avvari retweeted
Our only unfair advantage left is wondering.
Not knowing. Not having the answer. Just being curious enough to ask, "What if?"
Machines are getting better at knowing. They are getting better at finding answers, connecting ideas, and even producing things we once needed years to learn.
Perhaps our advantage is not in knowing more, but in knowing what is worth wondering about.
Dheeraj Avvari retweeted
Back in 2015-16, I once accidentally deleted the "entire production" at Practo. Slight exaggeration, but here's what happened...
There was one EC2 server running the whole stack for one of the acquired companies. On a Sunday afternoon, while cleaning up unused servers from an AWS account, I deleted this EC2 by mistake, and there was no data backup.
The moment I realized (~4 hours later) what I had done, my heart dropped. Panic. Fear. A voice in my head saying: Maybe nobody will notice. Maybe just stay quiet.
I stayed quiet while the team tried to figure out who deleted the instance. When my manager discovered it was me, instead of getting angry, he spoke with me as usual and treated it like a normal mistake.
Thankfully, the data was not highly sensitive or mission-critical, but it still should not have happened. Of course, after the incident, we added the necessary guardrails to ensure we do not find ourselves in a similar situation again.
That day, I learned something important: mistakes are inevitable, and the best way to handle them is to face them.
One bad moment should not and would not define your career. A single accident does not erase all your hard work. What matters is what you do next.
People remember:
- Honesty
- Accountability
- How quickly you learn and recover
And I was trying to put mine under the carpet and hide it.
Hiding almost always makes things worse. It creates doubt and damages trust. Speaking up shows integrity. It shows others they can rely on you.
You are not the first person to make a massive mistake, and you will not be the last. We all have our stories. The key is to own it, fix what you can, and take one small lesson forward.
Fun fact: if you never touch production, you will never break production. But you will also never grow, never lead, and never build anything important.
If you want to build, you have to be willing to accept the times you break.
Dheeraj Avvari retweeted
I never understood the need for a granular planning of projects.
You know something needs to be done, you make your rough estimates, and then you run with it. Once ready, you roll it out. So long as engineers are motivated to do it, they will run with it.
But spending weeks breaking down tasks to the most granular level, deciding efforts, and going back and forth on timelines for every single one of them is such a waste of engineering energy and bandwidth.
This energy could have been easily used to build things. Every extra hour spent polishing timelines is an hour not spent moving the product forward.
Let engineers code. Tell them the impact of their work. That's all it takes.
Dheeraj Avvari retweeted
As engineers, you will always be tempted to go down the rabbit hole while reading anything dense, be it a paper, blog, or book. Comprehending a few sections well gives you an adrenaline rush to understand it all and explore all the concepts in depth.
But this is unnecessary almost always. When you are reading a paper, you need to know why you are reading it, what the goal is, and what outcome you are seeking.
If you want to understand it end-to-end, then sure, go down the rabbit hole. If you want to just build an idea about the approach, then stop when you think you have built a decent understanding.
Remember, when you are digging deeper, you are putting your time, energy, and mental bandwidth. So, this should be the most urgent and the most important thing for you at the moment. If it is, sure, continue to put in the effort, but if not, come out of the rabbit hole and switch to something that is more critical.
it is okay to not completely understand a paper.
it is okay to not complete a book.
it is okay to not finish the project.
You should always analyze what's urgent, important, and best use of your time and prioritize it. Apply the same principle to decide how deep you want to go when you are reading anything dense, and it is always okay to pause.
Hope this helps.
Dheeraj Avvari retweeted
My dad has eaten the same dish (chilli panner) at the same restaurant every Friday for 20 years. He knows it will be a solid 8/10 every time.
I, on the other hand, try a new restaurant every week. Half the time it's a 2/10 disaster, but sometimes I discover a 10/10 masterpiece.
We were arguing about who was living life better, and I realized we were debating the fundamental dilemma of Reinforcement Learning:
Exploration vs. Exploitation.
See, an AI agent learning to win a game (or recommend a restaurant) faces the exact same choice:
Exploit: Do the thing you know gives a good reward. (Dad's chilli panner). It's safe, reliable, and guarantees a decent outcome.
Explore: Try a random, new action. (My weekly restaurant gamble). It's risky. You might get a lower reward, but you might also discover a new, much better strategy (a "state-action pair" with a higher Q-value).
There's no single right answer. Itâs a tradeoff.
Too much exploitation, and you get stuck in a local maximum, never realizing a better world was possible. You'll get your 8/10 chilli panner forever, blind to the 10/10 biryani next door.
Too much exploration, and you spend all your time making suboptimal choices, constantly suffering through 2/10 meals in the hopes of a future payoff that may never come.
The secret sauce is balancing them. An algorithm called Δ-greedy (epsilon-greedy) does this beautifully:
With probability 1âÏ”, exploit your best-known option.
With probability Ï”, explore a random option.
Early in training, you set Ï” high (explore a lot). As the AI learns, you slowly decrease it (start exploiting what you've learned).
This isn't just code; it's a life strategy.
Choosing a career, dating, picking a holiday spot, it's all a dance between the comfort of the known and the potential of the unknown.
So who was right, me or my dad?
Neither. We were just running different algorithms with different values for Ï”.
Still trying to figure out if my life's epsilon is set too high...
Dheeraj Avvari retweeted
When you join a new organization, it is quite natural to feel a strong urge to fix things. Let me ruffle some feathers here...
You will notice processes, tools, or practices that feel inefficient, outdated, or even wrong. Maybe the team uses Jira instead of Linear, Java instead of Go, MongoDB instead of MySQL (for a use case), or Tabs instead of Spaces. It will be tempting to point it all out immediately. Resist that urge.
Do not get overwhelmed by outrage. Every organization has quirks, and yours is no exception.
Complaining loudly in your early days won't make people rally behind you. You may be right, but what you lack is context. What looks foolish from the outside might have made perfect sense at the time.
So, start by asking why. Be curious. Ask questions, and listen closely. The more context you gather, the clearer the rationale will become.
At first, focus on integrating rather than fixing. Show reliability, do good work, and build relationships. Once you have established credibility, you'll find that people are more open to your perspective. That's when you can choose your battles carefully.
Keep this simple framework in mind:
- Ask why before suggesting what
- Listen more than you speak
- Build trust before pushing change
- Pick one thing, not everything
Prove your ideas with small wins, and show that you understand the context. Over time, you will gain the influence to bring major changes and improvements.
You can't fix everything on day one, but you can ruin trust in one.
Hope this helps.
Indian FMCG's business model is on how great they can market & package sugar!
#LabelPadegaIndia
Dheeraj Avvari retweeted
Should two microservices share a database?
There is no hard rule that says two services cannot share a database. Again, there are risks involved in doing so, but if they are acceptable to you, go ahead and share the database; it's not a problem at all.
If you remain adamant about not sharing the database, then be ready to expose APIs for every single functionality that is required by another service. That will eat up a lot of engineering bandwidth and will be more or less mundane and boring work, let alone the overhead of cross-service n/w calls.
So, if your schema is not changing frequently, the service is pretty stable, the structure & schema of the data are not very complex, and the data will be mostly read from the database; go ahead and share it. Not the end of the world.
Optimize shipping multiple impactful things faster by trading off a few acceptable bits and pieces. That's much better than taking one to an absolute extreme.
Remember, business >> product >> engineering.
Hope this helps.
Am at an Aadhaar Grievance Centre; approx. 400 people visit for some or the other grievance. Each person is waiting for 3-4 hours - that is a total of 1200-1600 man hours gone down the drain, each day. Productivity loss of citizens here is empathetic!
@UIDAI
Dheeraj Avvari retweeted
You donât need to be the smartest person in the room. You need to be the one who shows up. Who stays true to their word. Who can figure it out. Who does the boring things well. Who takes pride in their work. Who is reliable. The old fashioned things never go out of style.
Dheeraj Avvari retweeted
Starting a firm is the worst way to earn 50L but probably the only way to make 5,000 Cr in one life
This is the greatest economic conundrum of entrepreneurship
Dheeraj Avvari retweeted
We have a Foreign Secretary and armed forces that give us timely accurate briefings with facts, restraint and evidence. It could not be more impressive and civilised. Please stop listening to, and sharing, people screaming their lungs off on TV and âtwitter expertsâ.







