Murphy's law - If something can go wrong, it will.
Goodhart's Law - When a measure becomes a target, it ceases to be a good measure
Conway's law - Any piece of software reflects the organizational structure that produced it.
Pareto principle - For many phenomena, 80% of consequences stem from 20% of the causes.
Peter principle - In a hierarchy, every employee tends to rise to his level of incompetence.
Moore's law - The power of computers per unit cost doubles every 24 month.
Aumann's agreement theorem - There is no agreeing to disagree
Law of Large Numbers - large results over time trend toward the average
ex. more code, more bugs
Mind Projection Fallacy - when someone thinks that the way they see the world reflects the way the world really is.
The purpose of a system is what it does. - Stafford Beer. there is "no point in claiming that the purpose of a system is to do what it constantly fails to do."
Common
Birthday Problem - 50% chance for 23 random people to share a birthday
release cadence schedule sets expectations
large breaking changes fracture and stagnate
python2 to python3
perl 5 to perl 6
scala 2 to scala 3
incremental changes are incorporated into ecosystem over time
rust editions
jdk releases
c++14/17/20/23
objective C to swift
Code review
Humility should be paramount when submitting code to a location you do not OWN
Code is meant to be ran by processors
machine semantics
iterator vectorization of loops (can allow simd)
SWAR (simd within a register)
stylistic clarity/future updates
linters/formatters
Version control hygiene
messages should have a semi standardized format (like gnu changelog messages)
write in present tense
useful for developers for bug bisection and release changelog generation