このウインドウを閉じる

Diamonds cut diamonds.

 

 プロ と シロート の間には、「超えられない山々」 が いくつか あるが、以下の 2点は、最も典型的に超えられない山々である。

 (1) 原データ (一次データ) の量と質
 (2) 参考文献の読書量

 日々、仕事のなかで、「生の」 データ を直接に扱っている プロ と、それらを入手しにくい アマチュア では、仕事の質が雲泥の相違になる。

 実際に使ってみなければ理解できないような技術の設計思想こそ、もっとも良質の思想である、と思う。
 そして、それぞれの技術は、時代のなかで、蓄積され--以前の技術を取り込んで改善されるか、あるいは、以前の技術を否定して新たな代替技術を提示されるか、いずれかになるが--技術の根底には、時代の考えかたがあることを忘れてはいけないと思う。
 そういう蓄積が、それぞれの専門領域の 「モノの見かた」 (あるいは、「型」) だと思う。

 新しい技術が 「いきなり」 出てくる訳じゃない。技術は、「否定と踏襲」 のなかで改善されて洗練されるのだが、「歴史」 の視点が欠如していたら、技術が単独の対象となって、下手したら、継承すべき技術も一過性の流行として葬り去られる危険性がある。

 1つの技法は、「制度的な構造」 と 「理論的な構造」 と 「技術的な構造」 の 3つの観点から検討されなければならないし、「構造」 は、以下の 2つの観点に立って検証されなければならない。

 (1) 環境的公準 (だれのための、なんのための技術なのか)
 (2) 構造的公準
     - 網羅性
     - 検証可能性

 「歴史」 の視点がなければ、環境的公準を考えることができないし、制度的な構造も検討できない。

 提示された技術は、当初、素朴であるが、次第に、改善され、そして、だれでもが使えるように単純にされ、ついには、「普及」 する。
 当初、特殊な専門知識をもった人たちでなければ使うことができなかった技術は、マニュアル さえ読めば--そして、若干、指導され訓練されたら--使いこなすことができるような技術にならなけばならない。多くの人たちに役立つことを願って、エンジニア は 「新たな技術」 を提示するのである。

 マニュアル を読めば直ぐに入手できる--調べたら直ぐに入手できる、という意味だが--知識を豊富に記憶していることや、マニュアル を読んで直ぐに使うことができる技術を習得していることは、プロ の証しにはならない。
 たとえば、データベース を専門としている エンジニアは、たとえ、コンピュータ 言語を記述することができなかったとしても、全然、気にはしていないし、第一級の プログラマ が、たとえ、データベース 構造を設計できなくても、全然、気にしない。なぜなら、比較の対象が違うから。第一級の エンジニア たちは、もし、自らの専門領域を離れて、新たな領域の技術を習得しなければならないとしても、半年もあれば、或る程度の--その領域の中堅程度の--実力を示すことができる。

 比較の対象は、同じ集合の メンバー の間で成立する。プログラマ というのは、腕の立つ上級 プログラマ の言うことには素直に応じるが、技術の拙い プログラマ を、内心、軽視する。データベース の エンジニア の間でも、それが成立する。フットボール に喩えれば、ロナウド だけが フォワード ではないし、ジダン だけが MF ではないのだし、チーム として勝ち点を獲らなければならないが、、、同じ専門領域で仕事をしている プロ の間では、「ランク (rating)」 が成立するのは事実である。

 エンジニア は、習得している技術の設計思想を理解して、日々、遭遇する「生の」 データ を扱いながら、習得している技術の最適な適応や改善を考える。オープン・ソース の強みは、プロ たちの技術を集成できる点にある。

 プロ というのは、「型を外れた飛躍」 を認めないが、「型を超える改善 (提案)」 を認める。マニュアル を読めば理解できるような技術しか知らない エンジニア が、プロ たちの間で、シロート 扱いされるのは、それなりに理由がある。

 したがって、専門領域の 1つの技術を理解するためには、前提として、(専門家たちの間で継承されてきた) 膨大な知識を調べなければならない、ということである。だから、門外漢である シロート が、専門家の間で伝承されてきた思想を覆すような 「斬新的な」 着想を得ることは、まず、あり得ない。

 エンジニア たちが、そういう専門的な知識を前提にしないで、シロート 同然に、「あの技術は、、、である、と私は思う。」 という感想文を言い散らしているのを聞くと、小生は、少々、悲しさを感じる。

 エンジニア というのは、「技術」 だけを追究すれば、いずれ (--歳を取れば--)、時代のなかで、「古く」 なってしまい、時代の流れを catch up することができなくなってしまう運命にある。エンジニア は、習得している技術で亡ぶ、と言ってもいい。でも、「技術」 のなかに込められた 「設計思想」 を論点にすれば、歳を取っても、古くなることはない--それを継承して改善するか、あるいは、否定して新たな設計思想を提示すればいい。そうすれば、生涯、エンジニア でいることができる。僕は、自らがそうでありたい、と思う。

 ソリューション のための 「方法 (技術)」 を専門とするかぎり、どの エンジニア だって、一生のなかで一度は (いずれは)、時代のなかで継承されてきた技術の根底に流れる思想を体系化してみたい、という願いを抱いていると思う。小生も、当然、その一人である。
 ただ、いまの小生には、その実力がないのを感じていて、これも、また、悲しい、、、。

 (2003年10月13日)

  このウインドウを閉じる