CUVELの教育制度

概要

CUVELでは教育に関する指針があり、オフショア開発に当たり必要な人材育成というものを進めている。
日本とベトナムの間で仕事をするという事は、技術レベルの差を克服するのはもちろん、業務知識の差異を克服することも重要となる。
また、つい刹那的となりがちな発展途上国のエンジニアに対して明確なキャリアプランニングを与え、また自身にも考えさせる機会を与える事で短期間での転職を防ぎ、CUVELにいる事に給料以外の意味を与えるよう尽力している。

構成

教育の構成を以下に列挙する。

  1. 入社後一ヶ月間の研修制度
  2. スキルシートの整備
  3. カウンセリング
  4. 育成計画の立案
  5. 計画的なOJT

基本的に上から時系列となるが、2番以降は繰り返される。


箇条書きでは書ききれない事として、研修制度からスキルシートの整備までの間がある。
スキルシートについては入社6ヶ月程度までを目処に第一弾を整備する予定であるため、スキルシート以降の項目については最大6ヶ月間その姿を見せることは無い。
それまではある程度色々な事をやらせてみることで、社員には自身のスキルシートを整理する時間を与えることになる。

入社後一ヶ月間の研修制度

まずは入社した社員に対しては一ヶ月の研修制度がある。
以前記した以下より抜粋する。

文化的な差異や、業務についての理解不足を克服するため、CUVELではまず入社後の新入社員全てに対して一ヶ月間の研修を行なっている。
研修の内容は、50ページ強のマニュアルを用いた業務講習、専用システムを用いたWebプログラミング実習、総仕上げとしてのプロジェクト実践の三部構成となっている。
業務講習マニュアルは日本語、ベトナム語共に用意されているが、勉強をした社員が他の社員に対して発表するという特殊なやり方を用いている。一章であれば一章を担当する社員を二人決め、その二人が残りの社員に対して一章の内容を発表するというやり方である。

こちらについてはやはりまた別途。
講習内容と方法、専用システムについて、プロジェクト実践のやり方など、三部程度に分けて書く予定である。
時間割としては午前を講習、午後を実習に当て、一ヶ月の最後三日間程度をプロジェクト実践にあてるというやり方である、という程度に留めておく。

スキルシートの整備

スキルシートは専用のシステムを用いて記述させる。
このスキルシートは一風変わっており、「やる気」と「現有技術」の二つで構成される。
以下の画面を見ていただきたい。
skillsheet
こちらの技術者*1Agileの現有技術が低いもののこの技術を非常に強く伸ばそうと考えており、Rational Unified Processについては現有技術も低いがやる気も低い。


このように記述する意味としては、例えばC#の仕事を2年続けている人物がいて、C#のLVが5、VLが1になっていて、JAVAのLVが1、VLが5になっている人物がいれば、その人物は明らかにC#ではなくJAVAをやりたがっているとわかる。
通常グループから下の社員が現在の仕事をやりたがっているか否か等を客観的に判断する手段はなく、グループリーダーの主観による自己申告に一任されることになるが、このように客観的な資料を残す事で客観的な判断が可能となる。


また、このスキルシートは階層構造で記述でき、自己申告である。
階層構造にすることで、自分の知っている技術を掘り下げて記述することが出来るし、余分な項目を省くことも出来る。
よく「標準化」という言葉を用いて社員全てに画一的なスキルシートを記述させるところがあるが、JAVAの技術者の能力を知るのに知っているFrameworkを記述させないのは問題があるし、ネットワークが得意な人間、JAVAが得意な人間、管理が得意な人間を全て同じスキルシートで十分な量記述させるには冗長になりすぎる。
自由書式とすることで通訳や管理者のスキルシートも作成出来る自由度を与え、プログラマーに自身のアピールしたい点を掘り下げて記述させる。
閲覧者のためのスキルシートではなく、記述者のためのスキルシートといえる。


ちなみに自由書式である上自己申告であるため、自分のスキルシートをどう書くか、自分の現在の技術はどうであるか、はたして自分は何をやりたいのか、よく考えなければこのスキルシートは作成することすら難しい。
はじめに書いた考えさせる機会というものの一つがこれである。

カウンセリング

スキルシートの整備が終わった後、部下は上司にスキルシートを提出し、上司は自身のスキルシートと部下のスキルシートを自身の上司に提出する。
確認後、スキルシートに関連した質問や、最近の様子などをまとめてカウンセリングの準備を行い、上司*2が部下と一対一*3でカウンセリングを行なう。
スキルシートを基にカウンセリングをする以外は特に特別なことはない。
WikiPediaで解説しているところの、
http://ja.wikipedia.org/wiki/カウンセリング
「広義での相談」に分類されるカウンセリングであり、単純な面談と言わないところは多分にバズワードとしての意味合がある。


私も専門家ではないので、教育カウンセリングについては一応以下辺りをかじった程度。
http://www.amazon.co.jp/動機づける力-DIAMONDハーバード・ビジネス・レビュー編集部/dp/4478360812/ref=sr_1_22?ie=UTF8&s=books&qid=1198598946&sr=8-22
今後、もう少し専門家の力を借りて煮詰めていきたい。
本来は教育カウンセリングの専門家に任せたいところ。

育成計画の立案

スキルシート、カウンセリングが終わった頃には、そろそろ育成計画立案の段階に入ることになる。
育成計画といっても簡単で、例えばアルゴリズム構築能力が弱い、チームワークが苦手、プログラミングが好き、体力があるといった長所と短所をまとめる。
スキルシートやカウンセリングの結果を踏まえ、技術的な長所・短所のまとめもここで行なう。
カウンセリング時には思わぬ要求・・・、例えばリーダーにはなりたくない、営業になりたいといった希望を聞くこともあるだろう。
翌年度の役割等も加味した上で、どういった仕事を重点的に割り振っていくかや、長い目で見た場合は3年、短い場合は1年程度の将来像と、アサインしていく仕事の方向性を決める。
「育成計画」とはこの程度のものだが、この程度のものでも指針としてあるだけで随分と違うものである。


なお、この育成計画立案時は、育成計画立案後、社員に発表する前に上司からレビューが入る。
このレビューはスキルシートを片手に、育成計画を片手に行なわれ、客観的に見てその育成計画が妥当かどうかを上司が判断する。
その後は育成計画対象である社員に対して、立案した育成計画を説明する。
場合によっては社員からの要望により、若干の修正が入る事もある。

計画的なOJT

育成計画まで終われば、後は育成計画に沿ったJobにアサインしていけばいい。
On the Job Trainingとは言っているが、実際はOJTというより単なる実戦経験に近い。「計画的なOJT」という言葉も、カウンセリング同様バズワードに近いと言えるが、個人的にペア・プログラミングを究極のOJTと位置付けているので、あながち間違った言葉ではないとも思っている。
C#をやりたい人間に無理にJAVAをやらせ続けるのではなく、選択出来るならばC#をやらせてあげる、リーダー志望が強いようであれば小さなプロジェクトのリーダーを任せるなど、要は育成計画を基盤としたJobへのアサインが計画的なOJTである、と言えるだろう。


ただ、計画とは変化するものである。
スキルシートとカウンセリングは6ヶ月に1回、育成計画は1年に1回は最低でも更新することで、現在の状況や考え方に沿った社員の育成を行なっている。

まとめ

CUVELの教育制度は、プログラミング実習のシステムや業務講習のマニュアルがまだベトナムに完全には合っていない、スキルシートのシステムがまだ市販できるレベルではない、カウンセリングをもう少し煮詰める必要があるなど、細部を加味すれば70%〜80%程度の完成度にあると言える。
ただ大筋は出来ている上、1年を通してやってみた感触として社員の評判もいい。
今のところCUVELは離職率が低いと言われており、今後もその状態が続き、かつ社員の技術レベルも高いと評価されるような会社になっていけるのであれば。
おそらくこの教育制度は成功事例の一つとして、改めて紹介させてもらうことが出来るかもしれない。


結果が出るまで、後2年はかかるだろう。

*1:というか私が作ったサンプルだが

*2:多くは上司の上司が担当する

*3:または通訳あり