ジェラルド・ワインバーグはアメリカ合衆国の作家、心理学教師、そしてソフトウェア開発の人類学者です。彼の有名な著作の一つ「プログラミングの心理学」(The Psychology of Computer Programming, 1971)には身勝手なプログラムを書かないための十戒(The 10 Commandments of Egoless Programming)を提唱しています。
あれから50年以上経つ訳ですが、あの時代からアジャイルの本質が書かれているので未だにその鉄則が非常に大事で我々は常に意識しなければならないので、この記事で翻訳したものを紹介したいと思います。
1. ミスを受け入れよ
Understand and accept that you will make mistakes
誰しもミスを犯す、自分自身も。それを理解し、より早くフィードバックを求めて、そしてミスを認め、改善に取り込め。それが自分の成長に繋がっる道。
2. 批評的であれ
You are not your code
コードに対する批評は自分自身に対する批評ではない。受けたフィードバックをポジティブに受け止めよ。
3. 謙虚であれ
No matter how much "karate" 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.
責めるならコードを厳しく責めよ。そして人に対しては尊重と理解を持って優しく、そして建設的にフィードバックを提供せよ。