エンジニアキャリアパス一覧(書籍で扱われている範囲)
- インターン生/若手エンジニア/シニアエンジニア(人をマネジメントしない立場の人)
- メンター
- テックリード
- チームリーダー
- プロジェクトリーダー
- CTO
概要
エンジニアとして働く人の一般的に存在するキャリアパスは上記のものになる。この書籍では各キャリアにおいて、何のスキルが必要で、どのような立ち回りが求められるのかを記述している。かけ離れた職務の職責などを学んでも直近では活かせないのと、あまり覚えられなさそうという理由で、自分の立ち位置に近いテックリードの場所までとCTOについて読んでみた。
読んでみての感想は、想像していた通り、上の階層に行けば行くほどエンジニアとしての技術力は生かしにくくなり、コミュニケーションスキルのほうが大切になってくることを感じた。けれども詳細な問題解決などというようりはサービスを提供する技術の方針を決めたりとするので、やはり基礎となる技術力はなければより上の立場になることもできないと感じた。
上位の職位に立つために必要な技術力として大事だと感じたのは
- 幅広い技術の知識(どのようなものが存在するのか)
- 新しい技術を吸収する力(新しい技術は既存の技術の上に成り立っているので、既存の技術をしっかりと理解していることが重要)
- 技術と人の関係性(対象の技術に対して、エンジニアがどのように反応するのか)
- 対象の技術が利用可能かの判断力
- ...etc
これらを身につけるには現場でのたしかな経験が必要だと感じた。経験はプログラミングに続き、設計、問題解決などである。
以降、上位の職責以外でもとめられることが何なのか概要を記載する。
1.インターン生/若手エンジニア/シニアエンジニア(人をマネジメントしない立場の人)
一般的にこの立場の人が多い。この人たちはマネジメントする側ではなく、される側という立場である。その上でよりよくマネジメントされるには、マネジメントする人のマネジメント前提を理解しておくことと、立ち振る舞いの理解である。
マネジメントの前提として、すべてを管理、助けてはくれない、マネジメントする人も人間であるということである。そして、優れた上司とはエンジニアスキルにおいてというよりも、社内調整力や、社内の駆け引きがうまい人間である。マネジメントする人はあくまで相談役のような立場であり、自分が成長するための勉強会や勉強方法を0から100まで提供してくれるわけではない。そのため、自己成長の責任は自分で持つ必要がある。そのなかで、どのような勉強会に参加すると有効なのかなどと言ったことの相談役として利用するべきである。また、フィードバックをくれない場合は自分からもらいにいく習慣をつけた方が良い。一般的にマネジメントする人とは1on1の形式でこまめにフィードバックをもらうのが適切ではあるが、全員が全員できるわけではないので、こちらからアプローチをするのも手である。最後の優れた上司について、優れた上司はエンジニアとして素晴らしいというだけではなく、より自分を成長させてくれる上司である。自分を成長させてくれるとは、良いタイミングで昇進できるように背中を押してくれたり、その手助けをしてくれたりしてくれるような人である。この前提だと馬が合わない人という可能性もあるが、あくまで自分を成長させてくれる人なのかどうかという観点で見るべし。
2. メンター
他人をマネジメントするという一番最小の立場で、責任も伴わない立ち位置。メンターの役割はインターン生のインターン期間、新卒の子の入社直後のサポートである。それぞれでもとめられることは異なるので別々にみていこう。インターン生のこのサポートで会社側から求められているのは、その子がより会社に入社したいと思えるようなサポートをしてあげることである。そのためには最初2,3日はつきっきりでサポートをしてあげて、隣にいてあげるくらいが良い。その後は徐々に手を離し、中期的なタスクを与えてあげる。その中でもこまめな進捗の管理はしてあげる必要がある。
新卒の子に対しては、一番モチベーションが高い状態のため、それを維持してあげることが大切。そのモチベーションを一気に崩すことがないように、インターン生の子と同じで最初はなるべくつきっきりで丁寧に説明をしてあげる。案件の説明からIDEの利用方法など。その後、徐々に手を離していき、良いタイミングでタスクを与えてあげるのが良い。
3. テックリード
※後日追記
6. CTO
※後日追記