The Grug Brained Developer
Ah, the ample club of wishful thinking.<p>There are two general ways of approaching software design (and I'm paraphrasing Tony Hoare here):<p>1. You can write software so simple there are obviously no errors<p>2. You can write software so complex there are no obvious errors<p>One thing that escapes "grug" is that achieving 1. often requires more sophistication than their magical club allows. Most well-intentioned "grug" developers will write software so simple that it becomes it's own form of complexity: a giant mud-ball of for-loops, while-loops, variable assignments, and other wonderful side effects. Instead of addressing complexity head-on with abstraction, "grug" will beat "galaxy brain" over the head.<p>What grug fails to understand is that simplicity isn't easy or familiar. It doesn't mean "sticking to what you know." If often requires being able to reason about programs and to verify that reasoning!<p>But go ahead grug... keep beating people over the head with the club and hope that the complexity will go away.