anopara

新人教育は難しい。OJTは機能しない

※この記事は2014年9月6日に私が書いた記事を復活させたものです。一部のリンクが切れていてソースを辿れない状態になっています。

背景

最近、新入社員の教育を指示されたのだが、これが想像以上に苦痛だ。自分の仕事を遂行することに加え、かつ、新人の仕事を指示しなければならない。この、「指示」が「委任」の意味、つまり何か目標を定め、それを達成するための仔細や実現方法の選択などのほとんどを任せる、という事であればそれほど苦ではない。

が、新人は仕事が分からないため、仕事を任せるためにはそれを10Stepくらいに分割してあげて、それぞれについて方法を説明してあげないといけない。

これがしんどい。以降、本稿ではソフトウェア開発を行う会社での新人教育を前提として記述する。

一を聞いて十を知る

一々社員が説明するのがしんどいので、新人は「一を聞いて十を知ることが望ましい」とよく言われる。もちろんそれはその通りで、理解能力が無いよりはある方が望ましい。しかしながら、一を聞いて十を知るためにはある程度の基礎が必要だ。そして新人はその基礎ができていない。これは、一般的な学校の授業内容と実社会で必要とされるスキルの間にかい離があるからだと思う。

いつだったか、読売新聞に載っていた話を思い出す。大規模牧場を営む法人に農学部(畜産学部だったかも)卒の生徒が入社したところ、入社先から卒業生を指導していた教授のところにクレームが入り、「お前のところは農学部のくせに牛や豚に触ったことも無いような生徒を送るんか」と言われたらしい。大学でそういう教育はしていなかったそうだ。で、教授はががーんとショックを受け、この教育ではあかん。と考え、生徒にブタを育てさせて屠殺して食うところまでを学部の授業でやらせるようにしたらしい。

こういうエピソードは数あるが、基本的には情報系も同じだ。大学で学ぶのはソフトウェアの基礎と理論である。どちらも重要であり、私はプログラマであれば当然身に着けて居なければならないとは思う。が、どちらかというとソフトウェアの世界における「古典」(*)に傾倒しているような印象はある。

(* 2025年の私がツッコミ。古典ではなくて基礎理論と言うべきだろう)

古典は当然ながら古典なので、最新の現場では役に立たない(*)ことが多い。学術的な理論と基礎を学習しつつ、最新のテクノロジーにも触れてもらいたいと思うのだが、そういう教育を出来る人材が居ないだろうし、大学でやるには一部分に特化させすぎかもしれない。そういうことは専門学校の役割だろう。

(* 2025年の私がツッコミ。最新の現場でも基礎理論はすごく役に立つ。基礎を知ってるのとそうでないのとでは新しい技術を習得するにも全く学習コストが異なってくる)

ただ、専門学校卒よりも大学卒のほうが学歴が上、能力も上と見なしている節が多くの企業にあるので、専門の職業知識を有して即戦力となるべき専門学校生を有効活用できていない感がある。学生(高校生)の方もそれを承知しているから、就職活動で優位に立つために大学を選ばざるを得ないという面がある。これは大学と専門学校という区分を定義した本来の目的からは外れてしまっていると思う。

まあ、そういう背景があるわけで、職場では学校教育では学んでこなかった部分を学習させないといけないことが多い。これを新入社員教育とかで教えることになるのだが、果たしてこれをうまくやれている企業がどれだけあるだろうか。

そもそもの間違い

日本の企業というのはその昔、集団就職などで田舎から大量に労働者をかき集めて自分の会社色に染めるようなことをしていた。その傾向は今も根強く残っているように思える。大企業が「コミュニケーション能力」「人柄」「責任感」などの人格を重視する一方で、業務で必要とされる専門的なスキルや知識はそれほど重視しないという評価方法がそれを如実に表していると私は考えている。

反対に、外資系企業や先進的なベンチャー企業などが重視するのはこれまでの実績、具体的なスキルなどであることが多いようだ。場合によってはその場で何かの問題を解かせたりして能力を推し量ったりする。

上記の2パターンの方針は単なる戦略の違いであって、どちらが一概に良いという訳ではない。

ただ、少なくとも私の経験上から言わせてもらうと、「人柄で採用して教育は企業が行う」というやり方はどうもうまく行っていないことの方が多い。それは、日本の企業それぞれが不況を経験したからなのか、経営指標を重視しすぎているからなのか、教育に金をかけることを惜しんでいるからだろう。「教育に金をかけているが実績が上がらない」というパターンも見たことはあるが、結局は教育を企画する部署に優秀な人材を割り当てる金を惜しんでいるという点で同じことだろう。

そして金をケチった結果、OJT(On the Job Training)という、現場に丸投げの方法に落ち着く。はっきり言ってこれは新人教育の責任を現場に丸投げしているに等しい。

そもそもOJTはまともに機能しない

下記データをご覧いただきたい。

なぜ、OJTがうまくいかないのか?【第2回 ゆとり世代の育て方-今、あらためてOJTを考える-】 (* リンク切れです)

なんと、9割近くの企業がOJTを導入しておきながら、「機能している」と答えたのは12.6%しかいないのだ (* というアンケート結果が当時ありました)。よく考えてみてほしい。「効果的である」ではなくして「機能している」なのである。効果的でないばかりか、そもそも機能すらしていないのである。

なぜこんなことになったのか。その理由は以下のようになっている。

(* ここに理由が列挙されていました。リンク切れ)

企業の教育担当はなぜこんな回答を平気で出来るのか理解に苦しむ。「指導する人の時間の確保が難しい、能力が不足している」、そんなことは分かりきった事である。どうしてやる前に気付かなかったのだろうか。普通の会社であれば、皆、就業時間中は目いっぱい働いているし、業務と教育どちらにも深い知識がある人材などそう居ないだろう。「人を育てることの重要性が社内に浸透していない」などというのはまるで他人事のようだが、それをOJT指導者に教育するのも教育担当が本来担うべき役割であると思う。そういう自覚が無いような担当者を教育部門に配置しているのもうまく行かない原因の一つと言えるのではないだろうか。

かくしてOJTはまず機能しない。新卒の学生の皆さん、まず注意して頂きたい。OJTが機能しているのは12%の会社だけである。「わが社はOJT教育制度を採用しており、優しい先輩がつきっきりでサポートしているので、心配いらないですよ」なんて会社は疑ってかかるべきだろう。

ちなみに、引用元のサイト(産業能率大学 総合研究所)では、OJTを正しく機能させるために下記が重要であると述べていた。

  • 仲間として迎え入れ、期待を伝える
  • やってみせる、実力を見せる
  • 指示するときは背景や意図を伝え出来たことは具体的に褒める
  • 叱るときは、相手のためを思って本気で、叱る

いかにもまあ、精神論であるなあ、と思う。何がOJT教育の障壁となっているのかアンケート調査したのに全く活かされていないと思う。私はアンケート結果や実体験を踏まえ、下記のようにもっと具体的な措置が必要だと思う。

  • OJT指導員を専門の役割と位置づけ組織的計画的に育成する
  • OJT指導中はOJT指導員の仕事量を大きく軽減させる
  • OJT指導員は有能で適任と思われる社員を選択して長期的に任命する

旧日本海軍ではパイロットの育成が追い付かず、終戦間近には飛行時間の浅い若者を戦闘機に乗せて特攻隊として編成させたりした。有能なパイロットを現場から引き抜いてもっと計画的にパイロット養成に取り組まなかったからこういう結果になったのだと思う。もっとも、それだけが理由ではないことはわかるが。

そして現代企業でもその構図は同じなのである。なぜ私が上記で述べた3項目のようなことが実施されていないかというと、企業に余裕がないからである。有能な社員は現場に釘づけにされて動けない。有能な社員に担当させる仕事量を減らすのも難しい。ましてや、それを引き抜いて今後も長らくOJT教育を担当させるなどもってのほかと管理者は思っているだろう。つまり、OJTが機能しないのはそもそもOJTが機能できないようなリソースがカツカツの環境であるからだ。だから、お茶を濁すために前述のような当たり障りのない精神論が叫ばれる。(私もOJT指導者のための教育で似たようなことを言われた)

「好きこそものの上手なれ」が生き残る

企業は「教育しっかりしますよ」などとほざいて何にもできない。はきはき喋って元気のいい新入社員を選び、入社後は効果的な教育を受けずに放置したらどうなるだろうか。その結果は、「出来る奴」「出来ない奴」に二分される。

企業がまともに教育してくれないため、「教育されてないから知りまへん」という人は成長できない。一方で自ら興味を持ち、自分でやりたいことを見つけて自分で学習してスキルを会得できる人間は企業が教育してくれなくとも成長してく。と、こう書くとどの分野だってそうだろうと言われそうだが、情報系に限ってはこの傾向が顕著であると思う。

そして残念な事実は、ソフトウェアを作る業界に入社したくせにソフトウェアに興味が無い新入社員が非常に多い事である。私はなぜか会社説明会や新入社員教育などで新入社員に接する機会が多いのだが、だいたい「どういった基準でうちを選んだのか」と聞くと、「安定してそうだから」などと言う。

以下が、就活性に聞いた「どういう観点で会社を選ぶか」のアンケート結果である。

学生アンケート イマドキの就活生 2012年8月のアンケート結果 (* リンク切れ)

「将来性がある」「福利厚生が充実している」「給与・待遇が良い」、なるほど、良いでしょう。誰しもが良い職場環境で働きたいと思っています。立派な動機です。しかし、そうして会社もしくは職場のパフォーマンスや社会的価値、ネームバリューなどを重視した結果、「仕事が自分に合っているか」という基本的な観点が欠如してしまう。事実、「仕事内容が魅力的」と答えた人は30%弱しかいないのだ。

だから、ソフトのことを好きじゃないけど「安定企業でホワイトカラーな環境でソフトつくりまーす。ソフトは良く知らんけど教えてくれるんだから大丈夫だよね」なんて人材が来る。企業がちゃんと教育すると言っているのだから、ソフトを知らなくても大丈夫だと思うだろう。でも現実はそうなっていない。好きじゃない人は伸びないので結果としてそういう人は活躍できず、埋もれていく。これは会社にとっても新入社員にとっても不幸なことである。

最近もこういうことがあった。新入社員数名と話す機会があり、将来のビジョンを聞いたところ、「ITアーキテクトになる」「ITコンサルをする」「上流エンジニアになって大規模プロジェクトを運営する」「専門誌で記事を執筆する」などとまあ勇ましい回答が返ってきた。大きな目標を持つのは良い事であるが、しかし、私がかっかりとしたのは中身が伴っていないのである。少し話すとソフトウェアのことなど全然知らない。プログラムを組ませれば「オブジェクト指向ってなんですか?」「NullPointerExceptionってなんですか?」「TCP/IPってなんですか?ポート番号って初めて聞きました」「なんかよくわからないけど動かないです」から始まるのである。情報系の大学で修士号まで取ったのに線形探索のアルゴリズムすら書けないのはさすがに閉口した。上流工程をやりたいというので、マネジメントや設計手法の知識はあるのかと思ったらそれもない。PMBOKも知らない。CMMiも知らない(*)。UMLは名前だけ。MS Projectは初めて聞いた。ファンクションポイントやクリティカルパスは何それ?って感じだ。

(*2025年の私がつっこみ。別にPMBOKとかCMMiとか知ってるから偉いわけじゃないです。語弊がある書き方だと思う)

じゃあなぜそういう人間がソフト業界に入ってきて「ITコンサルをやりたい」などと言うのかというと、前述のとおり、福利厚生や安定性や将来性などという観点で就職先を選んでいるからだ。ざっくり言えば、たぶん、就職活動を「良い会社に入る」「ITコンサルの年収が高い」くらいに考えているからだろう。会社規模、2chでの評価、売上、利益、ネームバリュー、そういったものを比較し、自分の身の丈よりも少し上の会社から順々に受けていくような就職活動のすすめかたをしているのではないだろうか。まるで価格.comでコストパフォーマンスのよいパソコンを最安値の通販サイトから買うかのように。

しかしながら就職というのは、自分が入社可能な企業の中から標準的な手法によって定められる最も良いスコアの企業を探索するような問題ではなくて、どちらかというとマッチング問題に近い。そもそも標準的なスコアを導き出す手法など無いのであって、企業が労働者に求めるものと、労働者が企業に求めるものがどれだけマッチしているかという事こそが重要なのではないだろうか。そしてそのマッチ具合は企業と被雇用者の両者が決めることである。と、こう考えるのだがいかがだろうか。余談だが同じようなことは婚活でも言えると思う。

と、ここまで学生が悪いような書き方だが、しかし悪いのはどちらかというと企業だろう。本当は即戦力が必要なのに「俺らがOJTで教育するから安心してな~。コミュニケーション能力重視だからな~」などと言って募集して、コミュニケーション能力に長けているが専門的知識があまりない学生を取り、しかし入社後まともに教育していないのだから、企業の姿勢は一貫性に欠けると言える。学生にしてみたら会社に入ったら優しくてきれいなお姉さん社員が優しく指示棒で画面を指しながらマンツーマンで「うふふ。アリストテレスは形相と質料という概念を考え出したのよ」「うふふ、カプセル化してgetterとsetterを作るのよ」と指導してくれると思っているので話が違うじゃないか、となるだろう。少なくとも私はそう思った。そりゃ怒りますよ。優しいお姉さんが居ないんですから。

私の教育方針

「うちを含め多くの企業はOJT教育を進めているがうまく行っていない」「ソフトに大した興味が無いので自分から調べるというモチベーションが無い」以上二つを踏まえたうえで新人が最も活躍できるような教育方法を考えてみると、私は「分からないときに調べる方法を身に着けさせる」「未知の現象/技術に対処するために必要な基礎知識を覚えさせる」の二点を限られた時間で教えるべきだと思った。で、そのようにしている。

理想論を言えば、「ソフトを作る、ソフトを使うということそのものについて興味をもち、好きになってもらう」というのが良いのかもしれない。その様な状態にしてあげれば、我々が何もしなくとも自ら成長するようになるはずだ。しかしながらこれは他人が好きでもないものを好きにさせるという事自体がおこがましいと思うし、社会人としてそこまで教育に求めるのは新入社員が甘えすぎと思うからだ。

実際の例

前述したように、

  • 「分からないときに調べる方法を身に着けさせる」
  • 「未知の現象/技術に対処するために必要な基礎知識を覚えさせる」

以上二点を教えようとしているが、全くうまく行かない。大前提として基礎が無さすぎるのである。私が教えている社員は修士卒だが、一体学部と合わせて計6年間も何を勉強してきたのかと頭を抱えてしまう。

IPアドレスも分からない。ポート番号も分からない。オブジェクト指向も分からない。DBも分からない。データ型もごっちゃに記憶している。浮動小数点も分からない。二進数も良くわかっていない。驚いたのは、テキストエディタで置換の機能を教えたら「こんな便利な機能があったんですか!!」と感動されたことだ。

そしてお決まりのように、全ファイル一括置換して妙な場所まで書き換えてしまい、ソースコードを壊す。私は頭を抱えた。一体何を勉強してきたのかと心の底から疑問に思い、卒論や修論、履修した科目や内容を問うとそれすらも答えられない。それでいて言う事だけは大きいので片腹痛いというのが率直な感想だ。

うちの会社も「OJT教育に力を入れているので~」などと説明している。だから会社の方針に従って私を初めとするOJT指導者はOJT教育にいそしまねばならぬ。しかしそれは理想論で現実とはかい離がある。そんな中で私は私で教えれることを精いっぱい教えようとしているつもりだ。

しかし、当の本人はソフトウェアに大した興味が無く、勉強をする意欲も無く、情報学部を出ていながら内容は理解していません、ときている。

私に与えられた責務は理解しているが、ここまで来るとそもそもなぜ採用したのか理解できない。たしかに、コミュニケーション能力はあるように「見える」。はきはき喋り、元気が良く、笑顔を絶やさず、おそらく会って数分話した限りでは誰しもが好印象を受けるだろう。しかし、だから何だってんだと私は叫びたくなる。

トップページに戻る