SW-PRODUCT/개발-Mentor

[펀글] 비자아적 프로그래밍을 위한 십계명

굴돌 2013. 5. 29. 11:45


출처: http://www.codinghorror.com/blog/2006/05/the-ten-commandments-of-egoless-programming.html


의역했습니다.

관련 글 : "비자아적 프로그래밍", http://greatkim91.tistory.com/12

"프로그래밍 심리학"에 나온다 합니다. 최근에 재출간했으니 한권 사보시길. 근데 전 왜 읽었는데도 기억이 안날까요 :(


The Ten Commandments of Egoless Programming, as originally established in Jerry Weinberg's bookThe Psychology of Computer Programming:

  1. Understand and accept that you will make mistakes. The point is to find them early, before they make it into production. Fortunately, except for the few of us developing rocket guidance software at JPL, mistakes are rarely fatal in our industry, so we can, and should, learn, laugh, and move on.
    당신이 실수할 수 있다는 점을 인정하고 받아들여야한다.

  2. You are not your code. Remember that the entire point of a review is to find problems, and problems will be found. Don't take it personally when one is uncovered.
    당신의 코드는 당신이 아니다.

  3. No matter how much "karate" you know, someone else will always know more. Such an individual can teach you some new moves if you ask. Seek and accept input from others, especially when you think it's not needed.
    당신이 얼마나 많은 "비법"을 알고 있든, 어딘가 더 많이 아는 사람이 있다.

  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.
    상의없이 코드를 "재작성"하지 마라.

  5. Treat people who know less than you with respect, deference, and patience. Nontechnical people who deal with developers on a regular basis almost universally hold the opinion that we are prima donnas at best and crybabies at worst. Don't reinforce this stereotype with anger and impatience.
    당신보다 적게 아는 사람에게도 존경과 경의, 인내로 대하라.

  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, not as some serious inconvenience to be fought.
    변한다라는 사실만이 유일하게 안 변한다.

  7. The only true authority stems from knowledge, not from position. Knowledge engenders authority, and authority engenders respect – so if you want respect in an egoless environment, cultivate knowledge.
    진정한 권위는 지위가 아닌 지식에 뿌리내리고 있다.

  8. Fight for what you believe, but gracefully accept defeat. Understand that sometimes your ideas will be overruled. Even if you do turn out to be right, don't take revenge or say, "I told you so" more than a few times at most, and don't make your dearly departed idea a martyr or rallying cry.
    믿음을 위해 싸워라, 그러나 패배는 겸허히 받아들여라.

  9. Don't be "the guy in the room." Don't be the guy coding in the dark office emerging only to buy cola. The guy in the room is out of touch, out of sight, and out of control and has no place in an open, collaborative environment.
    원맨 개발자를 조심하라.
    참고: http://apcmag.com/foobar_blog.htm
    참고: Jim McCarthy의 The Dynamics of Software Development,1995 中 Beware the guy in a room.

  10. Critique code instead of people – be kind to the coder, not to the code. As much as possible, make all of your comments positive and oriented to improving the code. Relate comments to local standards, program specs, increased performance, etc.
    사람이 아닌 코드를 비판하라 - 작성자에는 후하되 코드에는 박하라.

The human principles of software are truly timeless; The Psychology of Computer Programming was written way back in 1971, a year after I was born!

Posted by Jeff Atwood