2.1 Your code needs to work2.1.1 Good is better than perfect2.1.2 Working, then optimized2.1.3 Sometimes terrible code actually helps2.2 Code for people, not for the machine2.2.1 Self-documenting code is a lie2.2.2 Readable code > one-liners2.3 Overengineering: The first capital sin2.3.1 Spotting a case of overengineering2.4 The random bug mystery2.4.1 Performing a root cause analysis (RCA)2.5 You have to aim to be a developer2.6 SOLID, DRY, and other funny terms2.6.1 SOLID: Making your code strong as a rock2.6.2 KISS your code2.6.3 Keep your code DRY2.6.4 YAGNI, another funny wordSummary