8 hours ago
- Complexity is being ignored when adding features or optimizing, harming software quality.
- Complex build systems and absurd dependency chains make software bloated and fragile.
- Telling new programmers not to 'reinvent the wheel' hinders learning and innovation.
- Lack of backward API compatibility and unnecessary rewrites damage existing systems.
- Adopting every new language, paradigm, or framework without consideration is destructive.
- Underestimating the difficulty of working with existing libraries leads to poor choices.
- Assuming de facto standards are always better than tailored solutions is harmful.
- Disregarding code comments and viewing software as purely engineering is misguided.
- Systems that cannot scale down make simple tasks unnecessarily complex.
- Prioritizing speed over thoughtful design destroys the joy of hacking.