SW engineering, engineering management and the business of software
One of my more recently popular twitter threads: Miscellaneous ways to Be Awesome at your job & Decision Making
I’ve had lots of chats on how to be awesome at your job recently. Much of the advice boils down to “Learn how to Learn”, and “Learn faster than everyone around you”.
Some other tactical bits around the importance of taking notes; getting/soliciting immediate feedback; finding and having good mentors; creating or seeking out safe environments; thinking critically when things go wrong (5 whys style) and decision making.
On Decision Making in particular:
You need to understand the urgency and importance, understand the undo cost (Type I vs Type II) and understand the blast radius. Type I is a one-way door, high cost to undo. Type II is a two-way door. decisions that are relatively easy to reverse.
You will never have perfect information. Opportunity cost is real.
It’s not important that everyone agrees
It is important that:
Commiting to decisions you disagree with is particular important. I’ve heard this verbalized or adopted as culture with phrases such as “I can get on the bus” or “Disagree but commit”
For decisions with large undo costs and/or large blast radius, you have a repeatable, understood-by-all-parties process and the process includes documenation.
For decisions with easy undo and/or smaller blast radius, decisions are made quickly and you iterate on the early outcomes, results, new data.