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

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

新人エンジニアに、3年同じ会社で頑張るのをオススメする理由

Qiitaに書こうか迷いましたが良心の呵責が勝ったのでブログでやります。

新人プログラマ応援タグつけたかった。
 

 

 

経緯

 

これを読んだんですが。

qiita.com

 

で、書いたんですが。スターありがとうございます。

 

f:id:otihateten3510:20190206034532p:plain

 

まあ、これは(年収と人脈の話のようなので)脇に置いといて、私は過去に何度か「新人は3年は同じ会社で頑張った方がいいよ」と書いて、その度に「3年だってpgr」みたいな反応をポツポツいただきました。まあ確かに年いったおっさんが言ってそうですもんね。

 

あ、考えてみたら年いったおっさんでした。
でも私が活動しているのはWeb系・モバイルアプリ系・ドベンチャー界隈ですし、私はジョブホッパーだし、フリーランスです。でも、その私でさえ3年はと思っています。
なので今回は具体的になぜ3年か書いてみます。

 

結論 なぜ3年同じ会社で頑張るべきか

 

結論から言ってしまうと。

 

  1. キャリア(=ゲーム)を理解するまでに3年は掛かるから
  2. どうしても取得しておきたい経験値を得るのに3年は掛かるから

 

です。

わからないですねこれだけじゃ。

 

新人エンジニアは何と戦うのか?

 

仕事って何でやるんでしょうか。とか言い出すと哲学じみてしまいますね。
でも、おそらく「成長してすげーエンジニアになって金を稼いでやりがいドバドバ」という方針は、多くの人が同意できるのではないでしょうか?

ならば新人エンジニアが戦う相手は「成長」です。どうやってレベルを上げるかという話です。

 

新人エンジニアはゲームを理解していない

 

1つの業界は一種のゲームのようなものです。しかもMMORPGのような複雑なタイプのゲームです。しかも説明書はありませんし、攻略本も見つけるのが大変です。
更に厄介なことに、それぞれがそれぞれの目的で、いろんな立場からゲームをしていたりします。

新人はまずそれがどういうゲームかを理解していないので、理解しなければなりません。生き残れませんし、成長できません。

実際にはもっと酷くて、ゲームを理解するべきだということに気づいていない新人のほうが多いはずですし、ベテランでもゲームを理解していない人が大勢居ます。

 

昔そこらへんのベースの話も書きました。

qiita.com

 

その業界=ゲームの中で「成長」というのはまさにレベル上げのようなものです。経験値を稼いで、スキルを習得していきます。

 

例えばこんなゲーム

 

私の考えているレベル上げのためのスキル表をサクッと作ってみました。
これは業界や会社やその人の状況によって微妙に差があるはずです。

 

f:id:otihateten3510:20190206040927p:plain

エンジニアのキャリア・スキル習得マップ

このゲームの特徴を一つ上げるとすれば、レベルがあがるほど経験値が得づらくなるという点があります。高度な経験を積むためのコスト(時間・努力)が大きいのです。(ちなみにこれはどの業界でも同じです)

 

新人エンジニアの多くはまず、プログラミングのような技術が全てだと勘違いします。

「業務知識」「プロジェクト」みたいなワードは耳にするものの、そもそもそういったものが必要だと知りませんから、勉強する=プログラミングだし、努力する=プログラミング力をつけるとなります。

だから、このような「成長地図」を自分の中に描き、攻略する必要がありますが、それがある程度出来上がるまで3年くらいかかるというのが1つの主張です。

 

そう言えば最近似たこと書きました。
「知るべき知識を得る」ことが重要ですが、難しいんですよね。

otihateten.hatenablog.com

 

本当に「成長地図」を手に入れるのに3年掛かるか? 

 

知識としては得られるかもしれませんが、その中の細かなスキルの存在を理解するには経験値を稼ぎ、ステップアップしていくしかありません
そして、これらは一足飛びに先の項目を学習するわけにはいきませんから、一個ずつ経験していかなければならないわけです。

(最近のゲームってこういうシステムありますよね。武器強化とかで。あと実績解除とか)

 

今の例だと、新人1年目が見えているであろう成長地図はこのような状態です。

f:id:otihateten3510:20190206042108p:plain

新人が見えてる成長地図の一端

2段目以降を見るとわかりますが、新人なら、こんな先の展望のことを考えるよりは目の前のタスクに取り組むほうがよっぽど大事だと思うのではないでしょうか。

 

2年目、3年目くらいになると、得られた経験と余裕から、おそらく下図くらいは見えているのではないでしょうか。自分がどういうことを覚えなければならないか、薄ぼんやり見えてくる頃です。

f:id:otihateten3510:20190206042915j:plain

2年目が見えているだろう領域

2年目でここまで見えて、なおかつ経験をつめている人はそれなりに優秀かつ、運があります。3年目でも上出来です。

下図は、更に上の経験値が必要です。このあたりで2〜4年、あるいはそれ以上になってくるでしょう。

f:id:otihateten3510:20190206043008j:plain

2〜4年目が見えているだろう領域

 

そして、3年目〜5年目(?)あたりでようやく下図あたりです。

f:id:otihateten3510:20190206043234j:plain

3年目〜が見えているだろう領域

そして、このあたりが転職市場における重要なボーダーラインだと思っています。

ここに至ると、給料が1段階上がりますし、ここが最低限フリーランスに求めたいレベル感です。つまり独立できるスタートラインということです。

このレベルに至るのに「同じ会社に3年」かかるわけです。

 

同じ会社に3年掛かる様々な理由

 

成長地図をよくみると、4つの軸の別の項目がつながっているのがわかると思います。
こういった、これが習得できていないと次のステップに行けないみたいなものが割とあります。プログラミングのスキルだけを極めることは徐々に厳しくなるわけです。

 

あと、経験を積んで、その経験を抽象化して次に活かすためには、1回の経験だけでは心もとないです。
なので複数の、似通ったプロジェクトを少なくとも2,3回はやらなければなりません
まずそんな都合の良いプロジェクトにアサインされるかどうかに運が絡んできますし、1個のプロジェクトが1〜6ヶ月くらいかかるとすると、数回回しただけで3年なんて簡単に過ぎてしまうわけです。

 

転職してもステップアップはできるのではないか?

と、思うでしょうが、3年目〜レベルをもう一度見てください。

 

f:id:otihateten3510:20190206044416j:plain

赤い項目は、PLとか、アーキテクトとか、社内のビジネスとか、それなりの人間じゃないと任せてくれない項目なわけです。ここらへんは例え若い企業であっても、5年〜15年くらいの結構なベテランがやっていると思います。なので2,3年同じ会社で頑張って、上司に信用されてようやく経験を積めるチャンスが発生する、みたいなものです。
もっと単純に、誰かに指示するという経験は後輩が入ってきてからじゃないと積めないと思ってもいいです。

 

ここで転職してしまうと、信用ポイントがリセットされるため、一旦様子見されます。短くても1プロジェクト、長いと1年くらいは信用されるために頑張らなくてはいけなくて、この期間分がもったいないと思います。

 

またゲームに例えましょう。
会社というのが一つの深いダンジョンだとすると、転職というのは別の地上に戻って別のダンジョンを探す感じです。もう少し潜ったら宝物があるのに。

 

フリーランスになると積めない経験値

 

転職と同時に語られるフリーランスですが、フリーランスというのはあくまで外注なので、上で言ったような会社というダンジョンの深い層に潜り込まないと得られない経験値が滅多に得られません。

具体的に言えば、プロジェクトリーダーとか、誰かに指示をするとか、チームをまとめるみたいな経験が得難いのです。
フリーランスの全員がそれをできないわけではありませんが、過去にやったことがない人は恐らく一生できないでしょう。

(もちろん、また正社員として会社に潜るなら別です)

フリーランスはどこまでも孤独な生き物です。なぜならクライアントがチーム開発を外注したい場合は、すでに組織ができている会社に頼むか、派遣を頼む方が手っ取り早いからです。

 

給与面の戦略

 

確かに最近は様々な社会状況によって、新卒よりは中途で入った方が給与が高くなるケースがあります。1、2年目だと第二新卒扱いになりそうですが。

とは言え、おそらく+50〜+100万円が関の山ではないでしょうか?
具体的に言えば350〜450万円帯域。
新卒で300万円前後でうろついてる頃だと、そのくらいの給与に目がくらむのはわかります。(私なんて昇給とか1回もしたことないですし)
ですが、上で行ったボーダーラインを超えると450万円〜700万円帯域が見えてきます。
これは何故かと言うと

  • Lv1 その人を入れるために、指示を出す人間が必要
  • Lv2 その人に単独で仕事を任せられる
  • Lv3 その人を入れたらLv1の人を何人か任せられる

だと、Lv3とLv1の差がかなり変わってくると思いませんか?(要はちょこっとだけ管理職に足を入れてる状態です)

そう考えると、Lv3に至る前に他に移るのはベターとは言えないでしょう。

 

じゃあお前どうなのよ、という場合はこちら。

otihateten.hatenablog.com

 

例外

 

ここからは例外について話していきます。当たり前ですけど例外は結構あります。

こういう場合は積極的に転職しても良いんじゃないでしょうか。

経験がすでにある

アルバイト経験がある方などは、もう1年目から良いレベルになってると思います。その人が、枠の関係上仕方なく新卒で入って、でも他の新卒と一緒にされたくなくて転職するのは有りだと思います。

個人差

非常に優秀な人は2年目でそこに達するのではないかと思います。ただ、そういう人が居るような会社は、ミッションも難しいため本当に2年で済むか怪しいですが。
逆に、一般的にはそもそも3年目でそこに到達しないと思います。5年は見たほうが良いのではないでしょうか。

 

業界、業務の

1個の仕事のサイクルが早い場合は、学習も早くなると思います。するとレベル上げも速いかもしれません。
逆に大きなプロジェクトが多い場合は1個の仕事のサイクルが長く、全容を把握するのも厳しくなるため、成長もゆっくりになると思います。

(ちなみに私はそれを嫌って大きいプロジェクトを避けました)

 

成長できない環境

ゲームの成長地図が描けない、あるいはゲームの成長地図を描いた結果、成長できない会社だと分かる場合があると思います。
例えば上がつっかえていて、いつまでも下っ端で何も任せてくれないとか。
あるいは、何かをやらかして自分の信用度が地の底とか。
適切な仕事やポジションが存在しないなど。

 

体を壊すようなブラック企業

何年もかけて経験値を貯めなければならないわけで、体を壊している暇はないです。
体を壊すと思ったらすぐ交渉するか、逃げるべきです。

 

小さい成長地図を描けた場合

1年くらいで成長地図が完成してしまう場合はあります。勝ちパターンを見つけた場合です。
この場合は完全に例外です。
私の話はあくまで一般的なプロジェクトの中で生きるエンジニア目線なので。
フリーランスになるのも同様です。そういう人は世の中にそこそこ居ます。

 

いいポジションのオファーを貰った

転職したほうが却って成長を加速できそうだと思ったら転職していいと思います。
中々ありませんし、注意しなければなりませんが。

 

信用ポイントを失わずに転職できる自信がある

例えば口が上手いとか、転職先と仲がいいとか、すでに転職先と一緒に仕事をしたことがあるとか。何らかの理由で非常に期待された状態で転職できるなら、むしろ今の会社に留まるより成長が加速できるかもしれません。
引き抜きなんかで有りえますね。

ただ、社長はそう言ってたけど、現場の人には信用されてないみたいな、話違うじゃないか!が起きたりするので注意が必要です。

 

3年経ったら転職すべきか?

これは個別事案なのでなんとも言えませんが。
ゲーム攻略に必要なのは、1個の会社を深く知る多くの会社を浅く知るの2つだと思います。それができるように身を振るのが良いと思います。

 

おわりに

以上です。

ここらへんの話は書き始めると際限がないのですが、今回はどうにかこの程度にまとめられました(と言っても5000文字)。また下記忘れがあれば追記したいと思います。