なぜ、日本の技術者の思考能力は低いのか
1. 多重度が大切。。。本当?
UMLのクラス図を書くときは多重度をきちんと全部書くのが大事、というセオリーはみなさん、常識としてご存知と思います。
それってほんとう?
これは誰が言い出したんだろう。
コンサルタントにとって、お客さんのクラス図を見た時に「多重度をきちんと書きましょうね」というフレーズは便利ですよね。初心者、そこまで書かないし。でも、本当にそれを指導すべき?
2. 現場では
横で見てるとそうじゃないだろうと。その関連の両端にある箱の「VMG」「MOA」(仮名)という箱はなんなんだよと。聞いてみると
「Voice Managerです」
「Media Object A(Bもあるらしい)だよ。そんなことも知らないの?」
すでにあるモジュール?をそのまま書いてる。ソース見れば多重度わかるから、それをきちんと書け、みたいな指導をしている。
多重度みたいな指摘しやすいけど細かいところじゃなく、もっと根本が間違ってるでしょう。両端の箱がなにを示すものなのか分からないのに細かいとこ指摘してきっちりクラス図書いても意味なし。それは意味の分かる日本語で書く、というのが設計の基本でしょう。意味が分かるとその構造じゃだめだろう、箱を分けろ、この箱とこの箱は融合させろ、線でつなげという話ができるようになって、その後に「じゃあ、多重度もきちんと書いてみましょうか」となるのが本当の指導だと思うの。
3. トップコンサルがなぜそうなるのか
日本の技術者ってとにかく知識勝負。情報をたくさん抱えて憶えてる人が勝ち。でもね、インターネットがあったら、キーワードをもらったりうろ覚えの知識でも、すぐに詳細な情報を取り出せるじゃん。
インターネットがない時代は、英語の本、論文を読んで細かいところ(多重度どころじゃなくて、限定子がどうたらこうたらとか←僕の本業なのに覚えてないことが今、露呈)まで記憶して、お客さんに聞かれたら間髪入れずに詳細まで暗唱できる人。
いや、そういうのもう役に立たないんですよ。現実的にどうやって仕事に役立てるか、どの場面でどういうものを使って、ここから先は諦める、みたいな判断力が大切だし、その源泉はきちんとした思考能力だと思うのですね。
4. が、実は記憶力マンセーの人が現場でも重宝される
ところがだね、諸君。製造業の開発現場にインターネットなんて便利なものはないんだよ。情報セキュリティってやつでね。開発者はインターネットアクセスなんかさせてもらえない。
紙の本?
何百ページもある本を何冊持ち込ませてもらえるんですか?その分厚い本の山から「限定子」を調べるのに何分かかるの?そもそも自分専用の本棚を用意してもらえるの?
つまりだね、開発者がインターネットなんてない時代の中で仕事してるんだよ。だからソースコードが全部、IBM 360のFORTRANのコードみたいになっちゃうわけだよね。知ってることしかやらないから。
君たち、そろそろ、PascalとCを勉強したほうがいいよ。君たちが書いてるの、C言語だと思ってるかもしれないけど、カーニハン&リッチーの本にそういうコード出てこないから。
そういう状況で、細かいところうろ覚えの人はあまりあてにされなくて数百ページの本を丸暗記してる人のほうが尊敬されるのは当然であり、人間は記憶力と思考能力の双方が高い人というのはめったにいないわけです。
5. 現場だけじゃなくってさ
社員の管理職もそうですよね。
まず、まともな思考をする人は出世しない。「〇〇役員の言ったことだから正しいんだ」「おまえ、〇〇さんに歯向かうつもり?」という思考をする人しか管理職にはなれない。
さらに、会議、打合せの場でも、質問されたら全部、即答させられるから、全部情報を収集して記憶できる人が「分かってるやつ」として重用される。情報の入り口と記憶だけ。情報から意味を取り出す、そこから思考することは「やっちゃいけない」。
だから日本の製造業って腐っちゃったんですね。
6. どうすればいいかっていうと
うん。インターネット接続できない環境、記憶だけ要求されたり、古いしきたりに従って黙々とコーディング、デバッグする仕事は断るべきだと思うな。
「そういう状況でも最善を尽くすのがプロだ」みたいなことほざくヤツは馬鹿だからさ。そういう状況で人月単価100万円で仕事を受けるなんて、それこそ「ディスカウント」ですよ。
「諸費用込みで250万円ならお請けしますが、それ以下ですと御社のために良くないですし。」
仕事を蹴るってのも必要だよね。(先日、うちの先輩が「この案件にいると、自分の価値が下がるからもうやめる」と言って去っていきました)