IT業界で気づいたことをこっそり書くブログ

くすぶってるアプリエンジニアが、日々気づいたことを適当に綴っていきます(受託→ベンチャー→フリー→大企業→ベンチャー→起業)

新人エンジニアを育てるメリットと難しさ

最近エンジニアの新人を真剣に育てているのですが、メリットと、現実的な難しさをまとめます。

 

 

メリット 

曖昧な知識を明確にするきっかけになる

よく言われることですが、知識を断定できるくらいに鮮明にしておかなければ教えるのが難しいです。
そのため基礎的なことについて改めて調べるきっかけになり、自己の成長に繋がります。

 

よりリーダブルなコードが書けるようになる

新人エンジニアがハマりがち、間違えガチな部分がわかってくるので、はまらないような優しいコードを書けるようになるでしょう。
あるいははまりそうな部分を隠蔽したり切り分けるという動機にもなります。

 

指示出し、タスク管理の訓練になる

世の中一般的には、ある程度の経験を積んだら管理職やマネジメントを覚えないと出世できないと言われることが多いと思いますが、エンジニアは幸か不幸かそういう立場に成らずともそれなりにお給料がもらえてしまいます。フリーランスなら尚更です。

見方を変えれば指示を出したりマネジメントしたりという訓練の機会に非常に乏しく、孤立しがちでもあります。そういった人がマネジメントの訓練の導入に新人育成をするのは丁度いいと思います。

 

営業の訓練にもなる

新人をちゃんと育てようとすると、適切な仕事を与えなければなりません。
いきなり難しい、一般的ではない仕事を振っても、うまくステップアップできないというのは誰しも経験があると思います。

なので丁度いい塩梅の難易度の仕事がどうしても必要なのですが、それをうまく用意するというのは中々難しいです。
それで私は仕事をいくつか取ってきたのですが、かなり苦戦したもののいい経験になったと思います。

 

楽しい

正直楽しい。
年取ると、教えるのが楽しくなるのかもしれません。
たしか50代くらいがピークらしいですよ。教えたくてたまらなくなるとか。

特に私は学生時代も後輩とか禄に居なかったし、新卒は失敗し中途でやってきたのでそう言う機会に恵まれませんでした。

 

しかし、綺麗事では片付かない新人育成の現実

以上が良い面です。
しかしその分大きなコストが掛かります。

 

もちろん育成の程度に依りますよね。
まず育成のレベルを作ってみましょう。

 

育成レベル

リーダーシップ理論を参考に考えました。

https://leadershipinsight.jp/explandict/sl%E7%90%86%E8%AB%96%E3%80%80situational-leadership-theory

 

1.アドバイザー ・・・ 委任的

その人の進むべき道や、やるべきことについてアドバイスする程度。
例:会社の同僚

 

2.メンター ・・・ 参加的

困ったことが生じた場合に質問を受け、時には一緒に解決に当たる程度。
例:会社の世話役の先輩

 

3.教師 ・・・ 説得的、教示的

一から物事について教え、課題を出す程度。
例:プログラミングスクール

 

4.コーチ

その人の適性まで観察し、指導する程度。
例:家庭教師

 

5.師匠

1〜4まで行った上で、必要ならば設備や仕事や課題を適切に用意する程度。
例:昔の親方制度

 

私が最近やってるのは4〜5です。
通常育成と言えば1〜2だと思います。

近年のエンジニア育成事情

情けは人の為ならずという言葉がありますが、大抵は育成はあくまで教える側のメリットと捉えて行動するはずです。しかしそうなると、掛けられるコストに限界が出てきます。期待できる見返りに相応するだけの手間しか掛けられないわけです。


上で示したメリットの一覧を考えると、割に合うのはぶっちゃけアドバイザー止まりです。もう少し踏み込んだとしてメンターで、これは同じ会社に属する者だからとか会社の利益になるからいう理由で行われるでしょう。
教師レベルになると、お金を取るようになります。プログラミングスクールが成立するわけです。ここまでくると掛けるコストも月15時間以上になってくるでしょう。

 

昔はコーチや師匠というものが存在しました。しかしそれは職業選択の自由が少なく、いずれ自分の利益になるだろうという投資だったわけです。あるいは丁稚奉公みたいな雑用をやらせることでコストを回収していたのかもしれません。

 

現代においては職業選択の自由がありますから、コストを掛けても回収が難しいのです。だから会社も新人育成に対して力を入れていません。成長したら転職してしまいますから。

育成という名のふるい落とし

現代のエンジニア界隈はアドバイザー、メンター、教師を利用しつつ、あとは自力で乗り越えられるエリートしか生き残れないのが現状です。
これは育成ではありますが、同時にふるい落としでもあります。

 

近年始まったプログラミング教育も、あくまで「教師」までの育成レベルになりますので、ふるい落としという面が大きくなると思います。まあ他の教科だってそうですから何の違和感もないのですが、これまでと何かが変わるとは思えないですね。

 

コーチ・師匠は確実にコストがメリットを上回る

もしふるい落としではなく、きちんと育成したいと思ったらコーチか師匠という動きになると思いますが、この行為は明らかにコストがメリットを上回るので注意が必要です。というかほぼ破綻すると思います。

 

まず見返りを期待するとうまく行かないはずです。見合うだけのメリットはないし、お金を取ろうとするとかなり高額になるでしょう。
(※元から才能があり、勝手に成長するタイプの人なら手が掛からないですが、その場合はメンターより上の育成レベルは必要ありませんから)
もしこれが会社相手ならばコンサルタントということになるでしょうが、個人相手であれば大抵の場合難しいはずです。

 

そうなるともはや親目線のようになるしかありません。
ギブアンドテイクを忘れなければなりませんから、打算的思考のエンジニアには厳しいかもしれませんが。


もちろん人間関係的にも良好でなければなりません。「こいつに教えたくねーわ」「メリット無いし」と思ったら詰みます。

 

学習者にも強いモチベーションが必要

なぜそれを学ぶか(なぜエンジニアになろうとしてるのか)というモチベーションの部分は、他人からどうこうするのが難しい領域です。
こればっかりは学習者に依るので、そこが揺らいでいないかは最初に確認したほうが良いと思います。

 

まとめ

新人教えるのはメリットもあるけど、コスト的にバランス取れるのはせいぜいメンターまでですよ。という話をしました。
教師以上をやろうとするなら、ギブアンドテイク無しに教えられる状態でなければなりません。

 

おまけ:人を増やしチーム化するのは有り??

「これからもっと人増やして会社みたいにしたらいいんじゃないですか?」って言われたんですけど、常駐が基本のエンジニアフリーランスは群れる意味があまりないんですよね。
でもフリーランス集団には少し憧れみたいなものがあります。
一匹狼は飽きますから。

たとえばiOS, Android, Web, デザイナーといれば1個サービスをまるっと作れそうですけど、そういうのってまず仕事の流入元が必要ですよね。
たぶん仕事が流入する仕組みが先にあって、そこにギルド的に人が集まるみたいな順序だと思います。

普通に受託にしても難しいというのはこのブログで何十回も書いてきました。

みどり荘っていうコワーキングスペース教えてもらったんですが、今度行ってみようかな。渋谷だと自宅から13分。
まあこういうところ、アプリ案件は無いイメージなんですが。

 

midori.so

 

関連記事:

 

otihateten.hatenablog.com