I'm reposting this here because it cannot be overstated.  I've been saying roughly the same thing for awhile now.  It's even the title of this blog!  Drew DeVault sums it up very nicely in his opening sentences:
The single most important quality in a piece of software is simplicity. It’s more important than doing the task you set out to achieve. It’s more important than performance.
Here's the full post:

I would also like to add another idea.  It has been my observation that the attributes of "smarter" and "more junior" tend to be more highly correlated with losing focus on simplicity.  Intuitively this makes sense because smarter people will tend to grasp complicated concepts more easily.  Also, smarter people tend to be enamored by clever complex solutions.  Junior engineers usually don't appreciate how important simplicity is as much as senior engineers--at least I know I didn't!  I don't have any great wisdom about how to solve this problem other than that the first step to combating the problem is being aware of it.


Popular posts from this blog

Fake: Generating Realistic Test Data in Haskell

Efficiently Improving Test Coverage with Algebraic Data Types

Armor Your Data Structures Against Backwards-Incompatible Serializations