orangeitems’s diary

40代ITエンジニアが毎日何か書くブログ

プログラミング型指導はオワコンだ

 

プログラミング型指導とは、こういう指導のことを言う。

・現場の業務について、物事の筋道(ロジック)を中心に細かく教える。
・条件分岐が判断の中心となる。
・マニュアルが整備され、マニュアルの通りにやることを指導する。
・例外発生時は、上司に報告することが前提となる。

 

一方で、機械学習型指導、という新しい指導概念を提案したい。このような指導方法のことを言う。

・指導者が学習者に、正しい情報を、定期的に伝える。
・伝える情報は、系統だっている必要はない。指導者の重要だと思う順番に伝える。
・マニュアルを作るとしても、学習者に自分で作らせる。
・現場の業務をどう対応するかは学習者が主体的に考える。

 

機械学習型指導というのは、実際にディープラーニングを触ってみて感じたことである。機械学習は、基本的にまず正しいデータを集めるところから始める。もしデータに歪みがあれば、そのまま歪んだまま学んでしまうので、出力結果も歪む。歪むのだが、機械学習モデルは自分が歪んでいることに気が付かない。だから、正しいデータというのがすこぶる大事になる。

人間に機械学習型指導をするなら、ロジックを教えるとしても、いきなり現場の細かい話はしない。世の中はこうなってるんだよ、この仕事はこういうためにやってるんだよ、世界は広く万物は複雑なので、話をしたらキリがない。

これらは、実は「年寄りの戯言」みたいに扱われることも多い話だと思う。雑談みたいな部分にも多く含まれていた。昭和型企業においては、飲み会や会社の付き合いなどに、実はこういう「正しいデータ」を伝える作業が含まれていたのではないかという仮説を持っている。

しかし、現代社会においては、ロジック、特にプログラミング的に学習できることを効率的と考えるようになってしまった。そのため、マニュアルはないか、教わったこと以外はできない。指示されたことは全てやったのでやることがなくて暇だ。この職場はゆるい。成長できない、みたいな、今どきの若手の話に通づるのである。

指導者としてやるべきことは、プログラミング型指導の放棄だ。放棄することを定義する。細かいマニュアルなどない、自分たちで作っていけ。ロジックは自分たちで考えよ。それが、任せる、という言葉に凝縮される。

そしたら不思議、彼ら若手は楽しそうに、マイルールを構築していくだろう。私達は、正しいデータを次々と与えていくだけである。あんまり負荷を与えすぎると学習できなくなるので、適切な成長を読み取りながら勧めていくといい。

指導者にもロジックがありプログラムはあると思うが、それを若手におぼえさせるのではない。単に見せてあげるだけでいい。彼らはそれを盗むから。それが人間だから。自分たちで作り上げようと思っているチームは貪欲で、自然と学習していく。やれ、ではなく、こうやってるよ、私は、という態度で十分なのである。

プログラミング型指導の弊害は多く見てきている。一番深刻なのが、年々プログラムのコードがどんどんスパゲッティー化して、複雑になるということだ。何のためにやっているかより、ルールのほうが重要になり、わけのわからんことを若手が時間を費やして品質の低いアウトプットをしだす。もっとひどくなると、ルールを無視しだす。なぜ無視するかというと、なぜその複雑なルールが存在しているかを理解していないからだ。無知によるトラブルが頻発する。これがプログラミング型指導の怖いところだ。

きっと、雑談しない会社が増えていると思うので、ぜひ指導側に立った方はやり方を考えてみてほしい。人間を模倣したAIが、どんなにプログラミング型指導を否定しているか。これはコンピュータ業界の狭い問題的ではなく、人類の進化の上でも大事なことを教えてくれているはずだ。