2007年9月9日

新社会人にあなたならまず何を教えるか? -3- CS: Technology

順番に行こう。

まずは最初のT、Technology = 技術だ。

大昔、各人、あるいは家族単位で必要なものを全て自己調達していた時代はあった。しかし、現代では全てのものを自己調達している人はほとんどいない。大抵の人は家を専門家である大工さんに作ってもらう。大工さんはトンカチや釘、木材を自分で作ったりはしない。これらを作るのは別の職人さんだ。

このように現代の職業は分業で成り立っている。分業することで、各自自分が専門とするものに集中でき、結果として社会全体がより高い品質の製品やサービスを手に入れられるようになった。この「分業」の単位になるものの一つが技術だ。

ここでいう技術は、単に何かを作る、というだけではない。もちろん、作るにしたって製鉄から、板金から、プログラムから…と色々あるわけだが、他にも魚を捕まえる技術、植物を育てる技術なども考えられる。レストランに行った場合、客の後ろから食器を並べるのだって技術だ。


基本的に私自身はコンピューターのソフトウェアを作るのが本業になるので、その系統の技術レベルは高い。当然教育する相手に最初に伝えるのもそのような技術になる。しかし、大抵の人はそれ以外の特技なり何なりを持っている。それらも含めての技術、と言う事になる。

私の職能上、後輩がこのエリアに問題がある事はほとんど無い。大学などでそこそこ学習してきているからだ。逆に言うと、ここに問題がある場合は、学校と同じように教育するしかない。ただし、社会人になっているので「スパルタ」方式を使うが。


一つ重要なポイントがある。たとえばプログラムを作る場合、「C言語を理解できる」とか「アセンブラが読める」などの特性は、実は Technologyには含めない。それは Transfer/Translate のTの方に属する。プログラムの場合はその数学的な構造が理解できるとか、構造を作り上げることが出来る、と言ったものが技術であって、C言語は文字通り「言語」に属する特性なのだ。


この技術というものは純粋化していくと、数学に帰着する。釘の打ち方、鍋の振り方でさえ、数学に帰着するのだ。大抵の人は「帰着するまで深く考え抜かない」だけであって、そこに数学が無いわけではない。

このため、世の中の様々なことを適切な数学モデルに翻訳できた場合、応用性が非常に高い。ジェネラリストを育てたかったらまずスペシャリストになれ、最初にジェネラリストを目指そうとすると、太鼓もち以上にならない、というのはこれゆえである。