Jump to content

Egoless programming

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Colonel Warden (talk | contribs) at 08:26, 6 April 2008 (First draft). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

Egoless programming is a style of computer programming in which personal factors are minimised so that quality may be improved. The cooperative methods suggested are similar to those used by other collective ventures such as Wikipedia.

Origin

The concept was first propounded by Gerry Weinberg in his seminal book, The Psychology of Computer Programming.[1]

Principles

The key principles have been summarised as:[2]

  1. Understand and accept that you will make mistakes.
  2. You are not your code.
  3. No matter how much kung fu you know, someone else will always know more.
  4. Don't rewrite code without consultation.
  5. Treat people who know less than you with respect, deference, and patience.
  6. The only constant in the world is change.
  7. The only true authority stems from knowledge, not from position.
  8. Fight for what you believe, but gracefully accept defeat.
  9. Don't be "the guy in the room".
  10. Critique code instead of people - be kind to the coder, not to the code.

See also

References

  1. ^ Gerald M. Weinberg (1971). The Psychology of Computer Programming. Van Nostrand Reinhold.
  2. ^ Lamont Adams (6 June 2002). "Ten Commandments of egoless programming".