📖
少し前に、Microsoft の元 CEO であり創設者であるBill Gates の伝記からあまり知られていない事実を検討しました。それは、 彼がコンピューター サイエンスに損害を与えるために数学に専念しようとしていたということです。
彼は、1997 年に出版された著書『In the Company of Giants: Candid Conversations & the Visionaries of the Digital World』でこのことを明らかにしました。この本には、 スティーブ・ジョブズ自身など、シリコンバレーの他の巨人たちとのインタビューもまとめられています。
インタビューのある時点、つまりほぼ最後、彼が自分の仕事のすべての「ビジネス」側面にすでに取り組んでいたとき、面接官は彼に、「今」(90年代を思い出してください)ビジネスを始めたい人たちに何を勧めますか尋ねました。コンピュータ業界。
巨人たちの肩の上に
ゲイツ氏の答えは「経験」に要約できます…しかし注意してください、彼は自分自身の経験についてだけでなく、自分より経験豊富な他者から学ぶことができることについても語っています。
「本当に優れたソフトウェアを書きたいのであれば、非常に優秀でさまざまな製品に取り組んでいる人々のグループと仕事をするのが最善です。本当に優れたソフトウェア開発者になりたいのであれば、多くの経験が必要です」 。」
「年上の人と一緒に働かずに、自分が世界最高のソフトウェア開発者の一人になれると考えるなんて…それは非常に職人的なビジョンだとは思えません。」
職人ギルドの時代、各「マスター」には「見習い」と「役人」(以前は見習いであり、数年後には独立して「マスター」としての地位を確立する)がいたということを思い出してください。 )。
その後、彼は再びこう主張する。
「優れたソフトウェア開発者がどこにいるかを見てみましょう。」
「祖母がいない」と同時に謙虚になることは可能なのかと疑問に思っている人のために、ビル・ゲイツがその方法を教えてくれます。しかし、花が投げられる以上に、このメッセージが伝えようとしているアドバイスに留まってください。
「私自身、13 歳の時からソフトウェアを勉強して作業し、素晴らしい開発者になったにもかかわらず、優れた開発者に私のコードを見て、どこが改善されるのか、どのように異なるのかを教えてくれるように頼み続けました。新しいレベルに進みましょう。」
「巨人の肩の上に立ったので、より遠くまで見ることができた」というフレーズは、ニュートンが先行した思想家に言及したものであると考えられています。そうですね、ゲイツ氏は私たちにも同じことをするよう勧めています。
ゲイツ氏はまた、クラフトマンシップへの言及を再び取り上げ、会社の最初の段階で Microsoft 開発者の間に存在した、仲間意識に基づく知的競争という特定のダイナミクスを説明しています。
「Microsoft が発足したときは、『このコードを改善できますか? これを改善できますか?』とお互いに挑戦する仲間意識がたくさんありました。当時は素晴らしい職人技の時代でした。別世界でした。」

彼らと協力できない場合は、彼らのコードを読んでください
しかし、ゲイツ氏は、優れたプログラマーから学ぶ唯一の方法が、彼らと同じ会社で働くことであるとは信じていませんでした。もう 1 つの選択肢は、彼らのコードを研究することでした。彼は、その11年前に出版された別のインタビュー本、スーザン・ラマーズ著「Programmers at Work」の中で、まだ世界で最も裕福な男性のリストの先頭に立っていなかったときに、次のように語った。
「準備するための最良の方法は、ソフトウェアを作成し、他の人が作成した優れたアプリケーションを研究することです。私の場合は、コンピュータ サイエンス センターに行き、ゴミ箱からオペレーティング システムの [コード] リストを取り出します。」
「1975 年から 1980 年にかけて、私はプログラマーとして根本的に成長したと思います。75 年当時の私は、『おい、気をつけろ、俺は何でもできる』と思っていたでしょう。だって、たくさんのコードを読んでいたからです。すぐには読めないコードに遭遇したことはありません。」
「私は今でも、プログラミング能力を試す最良のテストの 1 つは、プログラマーに約 30 ページのコードを与えて、どれだけ早くそれを読んで理解できるかを確認することだと考えています。」
データなしで自然に、経験なしで
しかし、彼はまた、経験によって向上することができますが、それはあなたが持っている特定の才能を免除するものではないとも述べています。インタビュアーの質問 (「長年にわたって経験を積むと必ずプログラミングが容易になりますか?」) と彼女は力強く答えました。
「いいえ。最初の 3 ~ 4 年も経てば、自分が優れたプログラマーであるかどうかはかなり明らかになるでしょう。」
ゲイツ氏によると、それ以上の経験を積むことは、大規模なプロジェクトの管理方法を学ぶのに役立つ可能性がありますが…
「マイクロソフトには、数年間凡庸であったのに、どこからともなく、目の前にあるものすべてを最適化し始めた人は一人もいません。私は誰かとその人が書いたプログラムについて話すことができ、その人が本当に優秀かどうかすぐにわかります。プログラマー。
彼が本当に優れているなら、彼はすべてを舌の先で理解するでしょう。 […] 今では、ホワイトボードに向かって、10 年前に書いた膨大な量の Microsoft BASIC ソース コードを書くことができます。」
