【研修のデザイン】中途採用者のプログラミング言語研修について

先日講演してからリクエストがあったので、私が行っている社内研修のデザインについてちょくちょく書いてみようかと思います。今回は中途採用者のプログラミング言語研修についてです。かなり私見なので、企業によっては合う合わないがあると思うので、その場合は「要素」として読み取っていただいて、活用していただければと思います。

 

まず「中途採用者」としたのは、IT企業では転職の流動性が高くなっていて当たり前に中途採用者が発生していると思うので取り上げてみました。またここ最近(ほんとは昔から)、プログラミング言語の研修は教えるよりも学び方を知るという話がでてきているので、旬かなというところもあります。(笑)

 

IT企業における中途採用者、いわゆる転職者についてはなにかしら1つはプログラミング言語を使っていたというのが前提となりますが、そのレベルは本当に様々です。そしてその学び方も実は様々で、本やネットで言語の仕組みから学ぶ人、サンプルプログラムをとにかく動かして試して「言語の癖」を覚える人、授業のように教えてもらうことに慣れている人、そしていやいやもう実践ですよと仕事のコードから学ぶ人などがいます。これはかなり偏見で申し訳ないですが、仕事のコードから学びますという人はあんまりプログラミングが好きでないか、そうでなければ「神レベル」もしくは、すでに複数の言語を取得していてコーディングから今までの言語と比較してだいたいわかっちゃう人です。あまりプログラミングが好きでない職業プログラマと呼ばれてしまうかもしれない人たちは、仕事がこなせるコピペ+トライアンドエラーでどうにかされるのを前提としているので、学習意欲が低めな場合があるので、研修の中にトランプゲームなどの遊びのある要件を1から作らせてみるとよいと思います。

さて、残る3つのタイプ。仕組みから学ぶ人、サンプルコードから学ぶ人、教えてもらうことで理解する人ですが、当然ですが、この3タイプを同じテキスト+課題で教える形での研修では効果的とは言えません。中途採用者が1名であるならば、そのタイプに分けた研修を行いますが、同時期に2名以上であればいっしょに研修を受けてもらい、まずはお互いの今までの言語の学び方と言語についての特性についての話などを自己紹介という位置づけで話してもらいます。その後で、いっしょに受ける研修をチームとして考えてもらい、チームでの学び方を決める話し合いをしてもらいます。その話し合いではファシリテーター、もしくは書記係がいると話し合いやすいので、自己紹介のところからホワイトボードなどに書いていくとよいと思います。今までやってきたプログラミング言語について話すのは、歴史的な背景からdisりあうw(相容れない)というところもありますが、類似性や相違部分から、お互いにこれから学ぶ言語についてどういうコンテキストで話せばいいのかを分かり合ってもらうという狙いがあります。

 

 

そしてチームで学び方も考えて研修していくポイントは3つあります。1つは「効率」です。あまりにも汎用化された教育では時間のわりに効果が少ないこともあります。結果、自分で学び直したり、実務で覚え直すということが発生して、「研修を受ける」というタスクを消化したことにしかならないということを避けるためです。もう1つはレベル差の利用です。研修では基本的にできない人をできるようにするので、できる人にとっては退屈な場合があります。ですのでよく聴く話だとは思いますが、レベルが上の人が、下の人に教えると、整理できたり新しく気付けたりするという部分を考えます。また普通に「面倒をみる」という行為が発生します。このあたりの面倒見の良さなどは研修から得た情報として配属先にフィードバックしたりもします。3つ目のポイントは中途採用者に「同期」を作るという点です。講師と生徒では1対多と見えますが、生徒からみれば1対1が複数でしかないので、関係性が希薄と言えます。関係性を考えた「共に学ぶ場」では、中途採用という状態と、中途採用への教育期間の短さというのを考えても大事なことだと思います。部署を越えた友人の存在はエンジニアにとって有意義なものになるはずです。研修側の視点としては企業の横串を研修によって作るというポイントにもなります。

 

 

ここまで来て、では研修を準備する側は何もしないのか?という感じになるかもしれませんが、「その方が楽ですよね。(笑)」というのも否定しませんが、チームでの学びを促進させる。もしくは「学びやすく」させるのに必要なことはすべて全力でやります。たとえば、課題の準備、課題や質問に対して現場(配属先)からのフィードバックが得られるようにすることや、話しあって決めた学び方に必要なものの用意としてディスプレイやプロジェクタ、書籍や参考になるサイト情報の提供もしますし、チームの関係構築の手伝いもします。

 

 

チームでの学びについて書いてきましたが、中途採用者のプログラミング言語の習得で大事なことがもうひとつあります。それは「現場で使える」こと。課題の内容を現場にあるものにしたり、現場のコードから流用したサンプルを用意することなど、書籍やネットで業種的にぴたりときているものがあれば、問題ないですが、特殊性がある業種、配属先であれば、課題は対応してあげるとよいと思います。また、その研修の日のお昼は配属先の人たちとご飯を食べるようにセッティングしてどんな研修をしているかを共有するのも良いことだと思います。

 

最後に研修とは離れますが、中途採用者は入社日から配属先ですぐに業務ですという場合もありますので、記述しておきます。その場合、配属先の受入コストを下げるということを考えて、独習型になりがちだと思いますが、独習よりはペアプログラミングだと思います。業務内ではプログラミング以外に覚えることも多くて、どうしても放置→コピペからスタートになりがちなので、考える機会と話す機会が多く起きやすい環境を作ってあげることが大事だと考えます。

 

 

次のは研修の空間についてあたりが話してみたいなと思いますが、何かリクエストあればお待ちしてます。