Three properties an ideal software system should have, per Ivan Nemytchenko: (1) it opposes/resists bad code, like React makes it hard even for juniors to write bad code; (2) it does not fight the framework — uses defaults whenever possible; (3) it offers one canonical way to do a given thing, so the programmer is an engineer analyzing alternatives and standardizing, not an artist inspired to do it differently each time. Balanced by the reality that developers are tired and lazy, so the system must not rely on discipline.