会員登録すると
このコラムを保存して、いつでも見返せます
私は現在“GAFA”と呼ばれる企業の中の一社でソフトウェアエンジニアとして働いています。
前回のコラムでは、GAFAの中での共通する点と異なる点について、ソフトウェアエンジニアの視点から見てきました。
今回のコラムでは、相談室でも比較的質問の多い 外資系企業のソフトウェアエンジニアのキャリアパスや、ロール・ジョブレベル という点について、私自身の経験を踏まえてお伝えしていきます。
このコラムを通じて、 外資系企業でどういったキャリアパスを取ることができるのか、日本企業との違いは何か、自分にはどちらが合っていそうか、 といったことを考える材料にしていただければと思っています。
・ソフトウェアエンジニア職志望のための面接過去問まとめ-技術面接編-
・ソフトウェアエンジニア職志望のための面接過去問まとめ-一般面接編-
・“普通の人”がGoogleのソフトウェアエンジニアになるには?採用ステップ、入社面接、評価ポイント、対策まとめ
外資系企業に「ヒラ社員」はいない?!
まず外資系企業でのキャリアパスについて知る上で大切なのは、 ロール(Role)やタイトル(Job title、単にTitleとも) といった職種を表す概念です。企業ごとに用語は異なりますが、大体の企業で似たような概念があるのではないかと思います。
タイトルという単語は日本語にすると“肩書”と訳されることが多いと思いますが、少しニュアンスが異なります。日系企業で肩書というと“○○課課長”や“部長”といった社内のどの組織をまとめているかを表すものを指すことが多く、その他の社員は“平社員”あるいは肩書はない、ということが多いのではないでしょうか。
一方、外資系企業のタイトルは主に2つの要素から決まります。1つは 何の仕事をしているか、 もう1つは 自分のジョブレベル です。タイトルは基本的にすべての社員が持っているもので、見ればある程度どんなことをする人か想像ができるようなものになっています。そのため、「平社員」にあたる単語を見ることや使うことはほとんどありません。
ロールはタイトルよりも広い概念 で、日本語では「職掌」が近いと思います。技術職、営業職といった括りがこれに近いと思いますが、一般職と総合職といったような括りはありません。
ジョブレベルは自分の社内での階級を表す もので、企業ごとに数字やアルファベットなどで表されることが多いです。
例として、ソフトウェアエンジニア向けにはlevels.fyiというウェブサイトがあり、有名企業間のジョブレベルの確認と比較をすることができます。例えば新卒でソフトウェアエンジニアとして入社した人のタイトルは“Software Development Engineer”になり、昇進してジョブレベルが上がるごとに“Software Development Engineer 2”や“Senior Software Development Engineer”といったタイトルに変わっていきます。
新卒採用の場合は、企業ごと、職種ごとに新卒であればこのレベルという形で決まっていることがほとんどだと思います。しかし、博士号やMBAを持っている場合はこの限りでなく、学部、修士卒の1、2レベル上でキャリアをスタートさせることも可能です。
昇進のスピードも人それぞれであり、2年ごとに昇進をしていくようなスーパースターもいれば、これ以上昇進する必要はないと考えて同じレベルに10年以上留まる人もいます。
同じジョブレベルにマネージャーと“IC”が存在
次に、外資系企業のキャリアパスについて見ていきたいと思います。 日本語でいう「管理職」はマネージャー と呼ばれます。ただ、管理職ではない社員のタイトルにもマネージャーという単語が入っていることがあり(例としてプロダクトマネージャーがあります)、明確に区別したい場合は直接の部下を持つ人、という意味で「ピープルマネージャー(People manager)」と呼ぶこともあります。
対義語はIC(Individual Contributor、アイシー)で、部下を持たない社員 が該当します。
日系企業では、社内でのジョブレベルによってこれより上は管理職、下は非管理職と分けられている場合が多いと思います。対して外資系企業では、ジョブレベルでそのような線引きがあることはあまりありません。
同じジョブレベルのマネージャーとICがおり、どちらの道を選択するかは個々人の判断に委ねられます。 また、 一度決めたら変えられないという類のものではなく、状況やキャリア選択によっては行き来が可能 です。また、人数が多いチームでは、マネージャーとICの間にレベルの高いICが入る場合もあります。
下の表はソフトウェアエンジニアがマネージャー・ICになる場合のタイトルの一例です。
レベル | マネージャー | IC |
---|---|---|
- | Software Development Engineer | |
Software Development Manger | Software Development Engineer 2 | |
Senior Software Development Manager | Senior Software Development Engineer | |
Director | Principal Software Development Engineer | |
Vice President | Distinguished Engineer |
ICの仕事とは? 「新たな決済方法の開発プロジェクト」を例にして
それでは、ICとマネージャーの日々の仕事にはどのような差があるのか、ソフトウェアエンジニアを例としてみていきましょう。
まず、比較的理解がしやすいICの仕事から見ていきましょう。 ICは大雑把に言えば問題の定義と、解決方法の選定とその実装を行います。 ジョブレベルが上がるごとに扱う問題の抽象度が上がり、影響範囲は広くなります。
具体例として、新しい決済方法を開発するプロジェクトに関わっている場合 を考えます。
このとき、 レベルが上であればあるほど「どういった技術を採用するのか」や「金融機関などの外部のシステムとどうやりとりをするのか」、「監査はどのように行うのか」、「障害時の影響範囲はどうなるか」などの広い視点から検討 を始めます。もちろん、すべての検討を1人で行えるわけではないので、ある程度 細分化された調査タスクをジョブレベルが低いメンバーに任せる ことで、具体的な開発計画を立てていきます。
次の 開発フェーズでは、多くの場合、実際に一番手を動かすのは中間層のメンバー です。 シニア層は全体のスケジュールの把握や、中間層のメンバーが立てた計画に無理がないかといった少し先のことを見ている 場合が多くあります。
経験の浅いメンバーは、中間層のメンバーから一部の開発タスクを割り振られます。 このとき、経験が浅ければ浅いほど具体的なタスクが振られ、経験を積むごとに抽象度が上がっていきます。
抽象的なタスクの例としては「決済が行われたら残高を減らす」や、「決済時に監査用のログを残す」といった「何をしたいか」に関してどうやって実現するか決めるというものがあります。
ここから、より具体的な「Aというクラスから支払額を受け取り、Bというロジックを使って割引額を計算した後CというシステムのAPIを呼んで残高を減らす」だったり、「Xというシステムから決済データが送られてくるので、Yという形式に変換したあとZというデータベースに保存する」といった「どうやってするか」を実際に実装するタスクに分割していきます。
初めの開発が終わると、その後は運用、保守の仕事があります。具体的にはユーザからのバグレポート、機能要望の優先度付けを行い、優先度順に実際の修正をし、リリースするといったものです。
開発はほとんどIC?! マネージャーの仕事ある?
では、一体マネージャーは何をしているのでしょうか。ここまで見てきた限りでは、実際の開発はほとんどICによってされているように見えます。
ヒントは上で挙げた具体例の初めにあります。「新しい決済方法を開発するプロジェクトに関わ」ることは誰が決めるのでしょうか。
ここにマネージャーの仕事の1つがあります。 マネージャーはビジネスチームや開発チームのリーダーシップと、いま自社や自分の組織が抱えている課題は何か、それを解決するとどのぐらいの効果があるのかといったことを検討し、最終的に何をやるのかを決定 します。ジョブレベルが上がるほど抽象度が増し、影響範囲が広がっていくというのはICの場合と同じです。
また、 開発中のスケジュールのレポートや四半期、1年ごとの進捗管理とリーダーシップへのレポート といった仕事もマネージャーが行う場合もあります。
これ以外にもマネージャーには 1on1(週に1回程度の1対1のミーティング)を通したチームの現状の把握やキャリア相談、チームメンバーの評価やチームメンバの採用といった人事関連の仕事や、インフラなどに費やしているコストの管理、他チームと意見が合わない場合や反応がない場合の協議やエスカレーション(上司への報告と問題解決依頼) といった仕事もあります。
ICから見たマネージャーは「命令する人」ではない
私自身は現在ICであり、 ICから見ると自分のマネージャーは「自分の仕事を進める上で自分では決定/解決できないことがあったときに助けてくれる人」であり、「自分のキャリアプランについて相談に乗ってくれる人」 です。一般的な命令をする人-される人という上司と部下の関係とは少し異なる側面があります。
例えば、社内のあるシステムについて仕様や動作について細かいことが知りたい場合、まずメールやチケットでそのチームへの質問をします。すぐに返答がもらえればいいのですが、場合によっては催促しても返事をもらえない場合もあります。こういった場合にはマネージャーに、相手チームのメンバーやマネージャーへ催促してもらうようお願いする、ということがあります。
キャリアプランに関しては、1on1の際、今は十分にコードを書く機会があるもののプロジェクトをリードするような機会があまりないのでもっとそういう機会が欲しい、といった仕事の内容のリクエストや、将来的に別のロールに就いてみたいのでメンターを紹介してほしい、子供が産まれるのでしばらく早めに帰りたい、といった相談をすることもできます。
ただし、ここに挙げた仕事の種類はほんの一例です。企業ごとにある程度の傾向はありますが、チームごと、マネージャーごとにも異なる可能性があります。入社前やチーム異動前に、新しいマネージャーのマネジメントスタイルを知っておくのはチームを選ぶ上で重要な要素の1つです。
管理職にならなくてもスペシャリストとして高く評価される
今回は、ソフトウェアエンジニアを例に外資系企業におけるキャリアパスと、ICとマネージャーの業務の違いを見てきました。
私が考える外資系企業のメリットの1つに、管理職になるということと昇進するということが必ずしもイコールであるとは限らない、 という点があります。
ICでのキャリアパスを積んだ人はその分野のスペシャリストとして高い評価を受ける ことになります。一例として、Javaの生みの親と言われているJames Goslingは2017年にAWSのDistinguished Engineerとして入社しています。 技術職で、自分の専門分野とその周辺分野の技術を身につける、使うことを追求したいという人にはこれは良い方向に働く と思っています。
マネージャーの場合は、問題点を見つける方法、優先度付けの方法、同じゴールに向けて一緒に動いてくれる人を増やす方法といったスキル が身につきますし、それらは企業を問わず役に立つものです。
新卒で就職する時点ではこの違いは必ずしも影響するものではありませんが、キャリアパスを考える上で自分はどちらを選ぶだろうか? と考えておくことは、仕事の中で何を学ぶことを重要視するか考えるいい材料になると思います。
会員登録すると
このコラムを保存して
いつでも見返せます
マッキンゼー ゴールドマン 三菱商事
P&G アクセンチュア
内定攻略 会員限定公開
トップ企業内定者が利用する外資就活ドットコム
この記事を友達に教える