Glad to share my case study on a feature I designed for WhatsApp. #StatusDraft
As a WhatsApp user, sometimes I wish I had a feature in WhatsApp like X that allows me to save my content in a draft.
This helps and gives me enough time to post and refine my content as I see fit.
Day 23/56 — Software Engineering Laws
Gilb's Law:
Anything important can be measured in some way better than not measuring it at all.
Yesterday's Goodhart's Law taught me:
don't worship metrics.
#SoftwareEngineering#SystemDesign#BuildInPublic
Day 22/56 — Software Engineering Laws
Goodhart's Law: "When a measure becomes a target, it ceases to be a good measure."
The deeper I study software engineering, the more I realize: metrics are useful for guidance.
#SoftwareEngineering#SystemDesign#BuildInPublic
Day 21/56 — Software Engineering Laws
Ninety-Ninety Rule:
The first 90% of development takes 90% of the time.
The remaining 10% takes another 90%.
#SoftwareEngineering#SystemDesign#BuildInPublic
The deeper I study software engineering, the more I realize:
too much time can sometimes create:
Overthinking,
Over-engineering,
and unnecessary complexity.
Constraints shape systems, too.
After studying 9 more software engineering laws focused on teams and organizations, one thing keeps becoming clearer to me:
Many software problems are actually people problems.
#SoftwareEngineering#SystemDesign#BuildInPublic
Day 19/56 — Software Engineering Laws
Hofstadter’s Law:
“It always takes longer than you expect, even when you take into account Hofstadter’s Law.”
#SoftwareEngineering#SystemDesign#BuildInPublic
The deeper I study software engineering, the more I realize:
Complexity doesn’t only affect systems, it also affects our ability to estimate them accurately.
The deeper I go into these laws, the more I realize:
communication shapes architecture,
coordination shapes delivery,
leadership shapes systems,
and organizational structure shapes outcomes.
Every large software system is also a human system.