Alan Cooper hits the nail on the head when he compares programmers to “normal people” in “The Inmates Are Running the Asylum”. We trade simplicity for control (we’re by nature control freaks), we sacrifice success for understanding (isn’t understanding a major part of success?!?!), we often put so much time and effort into what is possible that we lose sight of what is probable (we’re card-carrying pessimists), and we act like jocks (if you can’t mentally keep up, get outta the way!). These traits in moderation make us excellent programmers. In excess though, a pessimistic, control crazed, mental bullying, tunnel visioned code monkey creates an endless money pit with nothing usable to show for all her exhaustive efforts. The trait of particular interest to me is the desire to understand at the expense of success. It’s more than a desire – it HAS to happen! If I don’t understand how something works, I am reluctant to trust it. When I build a complex system that works beautifully, I am always astounded by the fact that users don’t want or need to know exactly what is going on to produce the final result. It’s satisfying when they do – running through the data to find the end result is correct (pat on back).
Read more here:
Homo Logicus