Multiple generations of legacy code that cannot be refactored without destroying the entire house of cards. Design anti-patterns as a design pattern. Live, mission-critical system where you develop on the production instance. Large sections of managed and native COBOL. Easily top every development horror story at LAN parties.