This repository is a work-in-progress effort to document some of the principles that guide my life and work at this point.
Principles are half-way between virtues and actions. They are more tangible than general virtues (ανδρεια - courage in the face of uncertainty, σοφια - the wisdom of choosing the right action in a given situation, etc.). However, they are much more brittle and subject to more change and adjustment as circumstances change.
- Ray Dalio. Principles, Life and Work
- Nassim Taleb. Antifragile, Skin in the Game
- Focus on the process.
- The outcome is mostly out of your hands.
- Strive for excellent execution in each part.
- Balance speed, cost and fragility.
- Don't get caught up in operations, be prepared for opportunities.
- Be gentle to yourself.
- Competition and your opponent is there to bring forth your best self.
- Always assume your opponent makes her best move and plan for it.
- Know how to punish/exploit slow moves.
- If your opponent plays optimally, the best you can get is a balanced
position.
- So embrace and expect balance.
- Ask "what's the largest move on the board?".
- Playing it safe is too slow.
- Be aware of your weaknesses.
- Be prepared to either shore up your weaknesses or sacrifice.
- Big picture success can only be achieved by skill in the details.
- But getting lost in details is not getting you anywhere.
- Learn to hold multiple possible future worlds in your head.
- Get comfortable with uncertainty.
- If you need to make many slow moves only to live, your opponent is getting free moves.
- Don't focus exclusively on measurable metrics - pay attention to the qualitative details.
- Build simple, heuristic models (financial or otherwise), but don't rely on them too heavily.
- Make as few decisions yourself as possible, encourage and empower the team to make decisions.
- Don't micromanage, mentor.
- Listen and look out for any sparks of excitement and enthusiasm in your team members.
- The (long term) cost of denying team members to work on things they are excited about can be prohibitive.
- Work hard to find alignment between individual and organisational goals and challenges.
- Provide realistic ways for team members to work on important, non-urgent, personally meaningful projects consistently.
- Readability is much more important than performance.
- Every engineering trade-off has to be considered within the broader context of the lifetime of the organisation and the experience and size of the team involved.
- Allow technical debt and domain drift deliberatly and sparingly.