This collection of paraphrases, speculation, contradiction, bald assertion, outright theft and pseudo-profundity is all I’ve learned in 15 years of software engineering.
- Most problems are procedural shaped, only sometimes object oriented or functional.
- Software quality and code quality are different things. The presence of one doesn’t imply the presence of the other.
- Software quality is an emergent property of a culture and can’t be reduced to tooling, frameworks and other technology.
- We obsess about code quality because we have no power to influence software quality.
- Fights about languages, frameworks and tools are so intense because the stakes are so low.
- Devops problems tend to be graph shaped, unfortunately most devops tools are string shaped.
- It’s probably economics not incompetence, it’s probably incompetence not malice.
- Abstractions are predictions about the future, as it is said - “predictions are hard, especially about the future”.
- Tech debt is the amount of misprediction