Software engineers think and behave differently from normal human beings in four ways: They trade simplicity for control. • They trade success for understanding. They trade what is possible for what is probable. • They act like high school ‘‘jocks’’.