Pain + Reflection = Progress
There is a wonderful book by Ray Dalio - "Principles" that highlight set of rules utilised him in life and work.
But what about principles of effective engineering? Here is list of principles that I've found referring over and over again, shaping what am I about:
- KISS > DRY
- YAGNI - as a efficient pill to prevent over-engineering
- simple is not necessary easy to build
- TEAM >> IC
- term "simplicity" should be ALIGNED among team
- SHARE knowledge - ask & show = pair/mob & try things (REPL for the rescue!)
- TRUST is essential
- "Small batches" + "good enough" = fast iterative delivery
- CI/CD with tests + Observability = determine pace of the project
- DATA - is still a new oil, and it requires decent care
- LEARN, especially by doing(!) (especially(!!!) from mistakes) = GROWTH
- FOCUS time without interruptions - where magic happen
- spread PRODUCT mentality among engineering - it maximise application of talent (and boost spirit)
- Why and Why now >> How
- TECH DEBT definition depend on product's and company's stage:
- not all bugs should be fixed, not all bugs should be fixed now
oh, and one last, but very important: