Brian's Waste of Time

All too often in any field, but particularly in software development, people tend to think that everyone else is an idiot because of their code, opinions, ideas, concerns, etc. Mostly this is because the target of the vitriol (I'm not speaking specifically of Hani here, whose vitriol is usually amusing and frequently inciteful) simply had slightly different concerns. Pretend for a moment that the person who made the decision is considerably brighter than you, or if this is too big a jump, as bright as you, and look for the reason he or she made that particular decision. Chances are that it's a very good reason. Frequently it is because the person solving the problem is aware of another problem which you are not aware of -- though this is anathema to many people's egos. Equally often is it because the person is solving a different problem.

The surest path, of which I am aware, to learning anything is humility. This is a difficult pill for me to swallow at times, but an important one. It has tons of consequences inside and outside of software development.

On a tangentially related note, it is also part of the reason that Berin's recent discussion of martial arts as metaphor for software design forces me to follow what he is doing. Aikido profoundly influences my software.