Many times as software engineers, we are tasked with making key decisions that drive impact on various systems. Here are a few things I have learnt over the years:
- Think - Act - Reflect - Move forward
Reopen the door only when new information knocks
Overthinking ≠ Problem-solving
Embrace informed ignorance
You can't read the future, you can't read minds, and you can't know everything. So don't try. Thinking harder doesn't activate the crystal ball. Don’t assume without some facts/ basis
Observe uncertainty, don't overreact to it. Acknowledge the presence of uncertainty and accept that impermanence is inevitable. Realize that uncertainty brings benefits, like unleashing creativity and resilience.
Replace "what if" with "we’ll see" to escape analysis paralysis. Never underestimate experimentation
Start acting and don’t get stuck on thinking
stop taking small details and turning them into questionable conclusions. Stop making a mountain out of a molehill
What is the realistic cost of being wrong? When you can lower the stakes, you raise your ability to get mentally unstuck.