具体的に未経験でも光るものがあったとか、そういうところをもうちょっと知りたい。
「やってくれそうだった」「期待できそうだった」くらいのレベルでいいんで。
採用が困難な時期に妥協して未経験エンジニアを採用したけど、それが失敗だった。なぜ失敗なのかを話していきたい。
ただし未経験エンジニアといってもいろいろあって、子どものころからずっと学習してきたような人はただ実務が未経験なだけというように考えている。こういう人はあまり未経験と考えない。
自分への戒めもこめて。
失敗点
リターンがほぼ回収できない
エンジニアの生産性の違いが10倍、100倍になることは別におかしいことではない。
そのため、未経験エンジニアに費やした時間がリターンを産むまでにとてつもない時間がかかる。
たとえば、生産性100/営業日の人が10営業日かけて教えるのなら、教えられた人は、1000の生産をしなければ当然マイナスになる。これは泣こうが喚こうが世界の理なのでここは変えられない。
1000の生産は、生産性1/営業日であれば4年2ヶ月かかる。つまり生産性100倍の人を用いる場合は、教えられた人の基礎能力を4倍にしてようやく1年でペイ、半年でペイさせるためには8倍の能力向上が必要になるといえる。20営業日かけた場合は必要な生産性がさらに倍になる(1年でペイさせるには8倍の能力向上が必要)。1年の営業日を240日としている。
つまり能力1の未経験状態から1年で4倍の能力向上(当社比)が見込めない未経験エンジニアはだいたいその会社には不要ということになる。
それから未経験エンジニア以外も成長はするので、他のエンジニアの能力向上の速度がたとえば年間で2倍になるとするなら、10営業日を教育に使うと考えるとそうしたエンジニアが102%になる成長機会を奪ったことになり、これは機会損失という【(2^(1/(20*12)))^10】。これによりもともと1年後に生産性200/営業日になるはずだったエンジニアの能力が194/営業日になることになる。この差は大きい。
すべてを教えなければいけない
彼らは基本的に「すべてを教えてもらおう」とする。これによって他の人が疲弊する。どのように考え、何をやり、どう仕事をすすめるか、その手がかりを何ももっていないため、何もかも教えなければならなくなる。
未経験といっても新卒とは違うが、新卒の何も経験のなくバックグラウンドのない人を育てるのとほとんど変わらない。一方で放置すればただお金が出ていくだけとなる。
実は、ふつうのエンジニアは一般的にはかなり勉強している方にあたる。土日にコードを書いたり技術書を読んだり、仕事終わりに技術書を読むとか、そういうことは上澄みのエンジニアじゃなくてもしているというのが当然なので、当然みんなしているものだと思っている。とても怠けている人でもやっているのでそういうもんだと思っている。それに未経験エンジニアの中にはあまり技術に興味がない人も多く、働き方や収入などの面に惹かれているように見える。
エンジニアはわざわざ自分の休みをつかって学習する行為をべつに地獄だとは思っていないし、身の回りの人はみんなやっているから「誰でもやっているふつうのこと」だと思っている。認識に大きなズレがある。
仮に土日や平日終わりに勉強することも仕事だと考えると、エンジニアの給料は割に合わなくてかなり低い。地獄になると思う。
チームの空気が悪くなる
チームの他のメンバーはすでに状況を理解している中で、その人のためだけに説明しなければいけない事態が頻発する。これがコストになり、説明する人が「押し付けられた」という感覚を持ちやすい。
失敗しても解雇できない
日本の法律上解雇することができないため、その人を使っていくしかない。つまり失敗したらその失敗は永続し、取り返しのつかない失敗である。
他のエンジニアが辞める
早々に見切ったエンジニア・未経験エンジニアに疲弊したエンジニアから辞めていく。「未経験エンジニアが入れるレベルの会社」になってしまっているので、そもそも全体のレベルが落ちているという証明にもなっている。
「未経験を採用する」という行為は、それだけ既存の人員を舐めてると言ってもいいと思う。「誰にでもできるかんたんな仕事です!」と。
未経験エンジニアの人も仕事中に時間を費やして成果を出そうとしているが、成果がほとんど出ない。そして遅い。しょうがない部分もある。ただ、時間を使っているので「仕事をやっている」というふうに考えられてしまう。時間を使えば体力も使うから、疲れもするし、それは当然だと思う。
ただ、後始末されていることが理解できない。後始末されているということを言ってもわからない。「そんなことはない」「自分は仕事をしている」と思っている。仕事ができていないことがわかっていない。認めることは自己肯定感を破壊することに繋がるからだろう。「100営業日かけたのに生産は5」という事実を認識してもらえない。自分を過大評価しがち、人を過小評価しがちである。
彼らも別に努力していないわけではないので、「もっとやれ」と言ってもしょうがないし、結局そのやり方もわからない。「努力していないわけではない」というのも肝だ。頑張っているのはわかる。
書類上は、人員 +1 ということになっているため、生産性向上が求められる。たとえば3人チームに人員として投入された場合、単純に133%の生産性が期待される。これが正常な人間の感覚なのだからしょうがない。そのため、未経験だからとざっくり差し引いても、人員を追加したらまさかチームが70%の生産性になるとは思われない。3+1は2になる。
もちろんいいこともある
一応、ダメなことばかりじゃなかった。たとえば未経験エンジニアは会社の下限という明確なバロメーターなので、社内に「この人よりも生産性が低くなるのはまずい」という圧倒的な焦燥感をもたらすことができた。
逆に言えば、その未経験エンジニアの人さえ能力向上すれば、他のエンジニアは自動的に能力向上していく。自分の存在価値・生きている意味・今までやってきたこと・これまでの努力が懸かっているからだ。
ある意味、超優秀な未経験エンジニアを採用することはそれだけで引き締めになるとは思う。
なぜ採用したのか?
根本的には未経験エンジニアを採用することに決めた自分の無能さに原因がある
採用のときにそれを見抜けなかった自分が100%悪い。そのため、基本的には自分の能力不足が招いたことだと思っている。
もともと未経験エンジニアをとるつもりはなかった。でも、本当に全くエンジニアが採用できないということで優秀そうな未経験エンジニアを採用することになった。
これが浅はかな考えというか、未経験エンジニアというのは2〜3年目レベルのエンジニアとは違う。この差を軽く見ていた。「すぐに稼働できるようになるだろう」と、自分や自分の周りのエンジニアの能力を侮っていた。ある程度できるようになると、距離感がおかしくなってくるのかもしれない。実際には大きな隔たりがある。
長々と全文貼付けするなバカ