There are no secret formulas. Just one simple thing.


This includes not telling white lies too. (This is harder than it looks initially, because it involves a lot of skillful speech.)

Once you stick to the above precept, everything else falls in place automagically. It also builds trust in the long term. (That’s right. There is no such thing as instant trust!)

Because when people realize you are honest, they realize they can trust you 100%.



If we want to build and deliver great products, we need to invest in improving “Quality of Life” of the people working on it, make sure we have the right infrastructure to support it. Once we do that, the delivery part happens automagically!

What does Quality of Life mean in Software Engineering?

  • Fun work environment based on mutual respect, trust and humility (This one trumps all, everything else can wait!)
  • CI/CD
  • Observability
  • Post Mortem culture
  • Test automation
  • Balance between tech debt and feature work
  • Iterative development model. Focus on MVP.
  • Feature flagging
  • Documentation/Knowledge sharing
  • Branching/merging strategy
  • Hiring/interview training/onboarding/mentoring process
  • Processes/tools around code reviews, unit testing

The list goes on.

Which ones to fix first? It varies across teams. Plus that’s where prioritizing comes in.



Use post mortems to investigate any issue in general: process failures, team conflicts, build breaking etc

Goal of Post Mortems:

Identify problem patterns, process issues, how to prevent them, what can we do better in the future.

What is not the Goal:

To find people to put blame on

Post Mortem Template


<summarize issue>



Shalini Kamala

Shalini Kamala

Me like being a good human, sw/mobile engineering, people management, IoT, BLE, hypnosis, buddhism, coffee, the onion, mo willems, dave barry among other things