エンジニア人材のスキルはこうして可視化する
次に、森氏はエンジニア人材のスキルを「テクニカルスキル」と「自走力スキル」に分け、それぞれのアセスメント方法について話を進めた。
まずは「テクニカルスキル」について見ていこう。
テクニカルスキルを測るタイミングは、入社前・研修期間中・研修終了後の3回が望ましい。入社前の事前スキルアセスメントでは、採用時点でのスキルレベルを計測することで、研修カリキュラムのカスタマイズや、階層別研修のクラス分けにデータを活用できる。研修が始まったら(研修期間中は)こまめに習熟度チェックテストを実施し、その結果をもとにフォローアップを行うことで、習熟度の向上を狙う。そして研修終了後に事後スキルアセスメントを行い、カリキュラム全体を通した習熟度を総合的に計測。配属の検討や配属先への申し送りレポートとしてデータを活用する。
では、テクニカルスキルのアセスメントをするためには、どのような問題を作ればよいのだろうか。森氏が絶対にやってはいけないと指摘したのは「事前・事後のスキルアセスメントをまったく同じ問題で実施すること」だ。なぜなら、多少時間を空けたとしても、同じ問題であればやさしい問題の解法や答えを覚えていて、残った時間を初回は解けなかった難問に充てられるようになるため、本当は理解度が高まっていなくても、事後のほうがスコアが上がってしまうからである。
「ぜひ難易度が近い類題を用意して、事前・事後で異なる問題を使ってアセスメントをしてもらいたい。同じ設計思想で作成した類題の解答データを蓄積し、統計的に類題としての妥当性を証明できれば、より高い精度のアセスメントが可能となります」(森氏)
事前・事後で問題を分けなければならないことは分かったが、具体的にどのような問題が良いのだろうか。エンジニアのスキルを測定するためには、やはり基本情報技術者試験のようなカテゴリ別にまんべんなく知識を問うものが望ましい。カテゴリによって弱いところが見えれば、「この辺りをもう少し勉強したほうがいい」とアドバイスができるし、逆に強いところが分かれば、配属先の検討材料にもなるだろう。
そして、エンジニアのテクニカルスキルをアセスメントするうえで欠かせないのが、コーディングスキルの問題である。クイズ形式の点数がいくら良くても、実際、現場に入ってみるとコードが全然書けないようでは困ってしまう。森氏は「アルゴリズム実装だけでなく、さまざまな部門で使用されているSQL実装やフロントエンド実装のスキルも合わせてアセスメントすることが効果的です」と語る。
おもしろいことに、クイズ形式では正規分布になるが、実装形式になるとV字型になるという。実装問題では得手・不得手が明確に見えるため、その人のスキルを活かした配属先を決めたい場合には、より有益なデータが得られるのだ。
続いて「自走力スキル」について見ていく。
エンジニアの研修は長くて3ヵ月間。テクニカルスキルの習得には年単位の期間を要するため、当然、この短い研修期間だけで身に付く知識は、ごく限られたものとなる。したがって、配属後にいかに学び続けられるかが極めて重要であり、「自ら調べる・自ら学ぶ・自らアウトプットする」ために必要なのが自走力スキルと総称されているものなのだ。
自走力スキルを分解すると、質問力・理解力・表現力・論理思考・OSの理解・タイピング力・Officeツールのリテラシーなどが含まれるが、中でも森氏が重要視しているのは、自ら「問いを立てる」能力だという。この問いを立てる能力を測るために、同社は解説文を読ませ、それに対していくつ質問を作成できたかを問うといった問題を用意している。
「エンジニア人材にテクニカルスキルと自走力スキルの2つが求められているのであれば、テクニカルスキルが高い人材は自走力スキルも高く、逆にテクニカルスキルが低い人材は自走力スキルが低いのかと考えてしまいがちですが、1000名弱のデータをプロットしたところ、この2つの間には相関はありませんでした」と森氏は明かす。
重要なのはここからだ。テクニカルスキルと自走力スキルのスコアを4象限で分けた上で、研修のクラス分けやフォローアップ方法を変えていくのである。
次図の右上は、テクニカルスキルも自走力スキルも高い「ハイスペック層」。この層には研修中に教える側に回ってもらうことで、よりその力を引き出すことが可能となる。逆に、左下のテクニカルスキルも自走力スキルも低い「フォローアップ層」には、最も手をかけて属人的に引き上げなければならない。
最も学習に対する伸び代があるのが左上の「ポテンシャル層」だ。現時点でテクニカルスキルは低いが、自走力スキルは高いため、学習機会さえ与えれば伸びていく可能性が高く、ハイスペック層と教え合うアクティブラーニングを取り入れることで、互いに高みを目指すことができる。