# Don't Try to Be Clever Originally published: 2013-01-18 Canonical URL: /2013/Jan/dont-try-to-be-clever/ The great Brian Kernighan wrote, "Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it?" It's not just good advice for programmers. The same principle applies to any sort of planning and any sort of reasoning: the _most_ intricate, sophisticated thoughts you can think, the thoughts at the very edge of your current abilities, are going to be less reliable than simpler thoughts that you can not only conceive of, but also understand in detail exactly why they're correct. Thus, insofar as you're thinking to achieve an outcome in the world, insofar as you actually care about your plan _working_, then (other things being equal) simple plans are preferable. (On the other hand, if what you _really_ want to do is show off how smart you are, then you _should_ think and say complicated things. At the meta level, this is itself a simple plan, as contrasted to complicated and nonobvious schemes to achieve the outcome of looking smart.)