Nov 1, 2012

The Ten Commandments of Egoless Programming

The Ten Commandments of Egoless Programming, as originally established in Jerry Weinberg's book The Psychology of Computer Programming with my updated comments.

  1. Understand and accept that you will make mistakes. The hardest part here is to make OTHERS understand that you can make mistakes without been pointed as an incompetent  looser. Maybe it is a "large enterprise" issue or an Italian stereotype but I find this particularly hard.
  2. You are not your code. kind of a mantra. Feeling an artisan makes you sens your code as the product of your art.
  3. No matter how much “karate” you know, someone else will always know more.  Seek and accept input from others, especially when you think it’s not needed. [TOTAL QUOTE]
  4. Don’t rewrite code without consultation. There’s a fine line between “fixing code” and “rewriting code.” Know the difference, and pursue stylistic changes within the framework of a code review, not as a lone enforcer. [TOTAL QUOTE]
  5. Treat people who know less than you with respect, deference, and patience. Very hard! I mean with coworkers you always tries to be understanding but there is a point when you sens you are wasting your time. What to do then? Keep going or Giving up? I got no clear answer... I realy on my gut on this. 
  6. The only constant in the world is change. Be open to it and accept it with a smile. Look at each change to your requirements, platform, or tool as a new challenge, rather than some serious inconvenience to be fought.[TOTAL QUOTE]
  7. The only true authority stems from knowledge, not from position. If you got this about yourself it's a good metric to become a senior. But do not expect this from others. I got too many times the " Because I said so" answer. Many people thinks that position means knowledge.
  8. Fight for what you believe, but gracefully accept defeat. UH... too much zen in here if you put it in a long view perspective. How much mud can you swallow before throwing up? 
  9. Don’t be “the coder in the corner.” Again do it... but be ready to got someone to tell you "back to your corner, coding monkey!" see points 7 and 8.
  10. Critique code instead of people – be kind to the coder, not to the code. Works well with rule number two.
In the end you tailor your way to seniority within contrast and the true art behind it is to learn stuff that matters  learn to understand what is noise and what is important. And not  hanger in the process.

No comments: