引き続きSztywny Blog - Stiff asks, great programmers answerの翻訳。

今回の質問はこちら。

プログラマーなら誰にも欠かせない一番大事な技能は?

プログラマー達の解答は以下のとおり。

Dan the Translator


Steve Yegge:

コミュニケーションの能力。書く方も話す方も。自分の考えをうまく伝えられなければ、プログラマーとして大成することはありえない。プログラマーはむさぼるように書物をあさり、文章を練り、作文のコースを取るべきで、付け加えればスピーチの練習すらするべきだと思う。

Linus Torvalds:

私はそれを「テイスト」と呼んでいる。

私は人を判断するときに、能力はそれほど見ない。たくさんコードを書く人もいるけどそれは重要じゃない。むしろコードに対してどういう反応を示すか、そのコードがどう見えるか、どんなアプローチを選択しているかを見る。これらのことは彼らが「いいテイスト」を持っているかどうかの判断材料になる。「いいテイスト」を持っていない人は、人のコードのよしあしを判断するのは上手でないことが多いのだけど、彼ら自身のコードもまた素晴らしいとまでは言えないことが多い。

でもね、それだけじゃないんだ。とても役立つこと、特にオープンソースプロジェクトで役に立つのは、自分が何をしたくて、どう実現するのかを的確に伝えるコミュニケーション能力なんだ。なぜ君がそれをそのやり方で進めたいかを説明するのは、時に非常に重要で、その能力は誰にでも備わっているとはいえない。

そうは言っても、ただただいいコードを量産する人たちも確かにいる。彼らは口べたで、「いいテイスト」を持っているとも言い難いのだけど、彼らのコードはちゃんと動く。時には彼らに代わって、彼らの仕事が全体の大きな絵の中にどう収まるかを説明してあげる人が必要かもしれない。そういう人は定義しがたい「テイスト]を持っている。ともあれ、難しい問題のためきれいなコードを書く能力もまた、どんなプログラマーにも求められる素養なのだと思う。

(訳注:この部分のLinusの朴訥感をうまく訳せた自信ナシ。別訳もキヴォンヌ)

David Heinemeier Hansson:

強い価値観。自分自身に質問する能力。今自分がやっていることにやるだけの価値はあるのか?あまりに多くのプログラマーが、大して価値があるわけでもない問題に海のような時間を費やしてして、本当に価値ある問題に取り組む時間が不足している。

Peter Norvig:

そんなのあるのか。とりあえず「集中力」と言っておくか。

Dave Thomas:

情熱。

Guido Van Rossum:

一般的すぎて答えづらいなあ:-)。朝食に卵を料理する能力は欠かせないと思う。

James Gosling:

自分で動機を持っていること。真に優れた者になるためには、自分の成すことを好きでなくてはならない。

Bjarne Stroustrup:

明晰に考えることができること。プログラマーは、問題を理解し解答を表現しなければならない。

Tim Bray:

直感より証拠を優先する能力。