思考・考察
Expert of Everything
beko
ソフトウェア開発においては、システム設計やコーディングそのものの技術もさることながら、取り扱う分野に関する深い理解が重要とされます。
販売管理システムを作るのであれば、消費税や領収、書手形などといったものが法的 (あるいは慣例的) にどのように位置付けられ、扱われているのかを理解しなければなりません。
「日本語の品詞分類」や「植物の分類の仕方」が開発に必要となって調べたこともあります。
そんなわけで、常に新しいことを学び覚え続けなければならないわけですが、ここにひとつの落とし穴があります。
それは、なまじ記憶力に優れる人は、すべての情報を「丸暗記」しようとしてしまう (そして、できてしまう) ということ。
丸暗記された知識は、短期的には大きな効果を発揮するものの、以降の仕事での使い回しがきかなくなるという欠点があります。
個人的な観測ですが、長期的に記憶できる情報量いうものには、それほど大きな個人は見受けられません。
従って、情報量あたりの価値をどれだけ大きくできるかがカギとなります。
情報の価値は、それがどれだけ普遍的で適用が広いかによって決まります。
即ち、抽象的な概念ほど価値が高く、逆に個別のケースにのみ関わる直截的・具体的なものほど価値が低いわけです。
この考え方は、「具体的 = 明快・現実的」「抽象的 = 難解・曖昧」という見方とはまったく逆のものと言えるでしょう。
確かに、ソフトウェアの利用者 (ユーザ) にとっては、自分の携わる分野の具体的なデータこそが重要なファクタであることは間違いありません。
しかし、ソフトウェアの開発者の仕事は、一段高い (メタな) 視点から対象を俯瞰して、他の領域との共通点・関連性を探し出すことであるため、こうした一般とは異なる情報の捕らえ方が必要になってくるわけです。
「ユーザが “professional in the field” であるなら、開発者は “expert of everything” たるべし。」