米国でのキャリアの考え方は日本とは結構違っている。個人的に例えるのが RPG での転職システムで、「スキルレベル」を上げたり「新しいスキル」を習得することで「職業クラスのレベル」が上がったり「転職可能な職業クラス」が増えるというモデルだ。あくまで一例だが、ソフトウェア開発系で Developer のキャリアを書くとこんなイメージだろうか。
Developer としてプログラミングや基盤技術などを上げていくと Developer レベルの昇格が可能になる。そのまま Developer としてレベルを上げていくキャリアもあるし、エンジニアリングに加えてチーム内で取りまとめ役をこなしているうちに Dev Lead 系の職に進んだり、技術戦略などのスキルを得ることで Architect 系の職に進むといったパスが考えられる。
Manager 職は「チームの管理」や「人事」といったものを押さえる職業クラスであり、管理職系キャリアパスの入口になる。そもそも米国企業では Manager クラスが採用や給与額の設定を直接行うケースが多いので「人事」スキルが欠かせない。最初の昇格としては担当として働いているチームでまとめ役として仕事をしているうちに上の Manager が辞めてその後任をオファーされたり、チームサイズが大きくなって分割層として Manager が必要になったりとチーム内から昇格するパターンが少なくない。なお Manager キャリアからは Director や VP など管理職系上位職へのキャリアパスに繋がっていく。
またキャリア軸の変更として、エンジニアリングスキルに加えてプロダクト戦略やマーケティングなどを学ぶことで Product Manager (日本で言うプロダクト企画系の職)へのパスを取ることも出来る。社内でのプロダクト知識を元にそちらの職にキャリアを向けることもあるが、こうした転職にに現在の職業クラスで習得できないスキルがある場合、キャリアの途中で大学に通って必要な学位を取ることで必要スキルを習得するというパスもありうる。
なお米国の場合は自分がなにもしなくても成果が出ていれば上にあげてもらえる、なんてことはあまりなくて(同じ職業クラスの中でのレベルアップはありうるが)、基本的には社内にしても社外にしても自分で新しいポジションに応募して職を変えるのが基本になる。
Developer という上級職種へのパス
ちなみにそもそも Developer というポジション自体が米国では結構な上級職である。大学でCSを習得していきなり Developer から始める人もいるが、そうでない場合は例えば技術初心者でも採用されやすいサポートデスクなどからキャリアを始めて
- サポートデスク → テクニカルサポート → システム管理者 → デベロッパー
といった感じに職を変えていくパターンが多い。これも基本的には下の職業クラスで技術スキルを習得し、そのレベルが一定以上上がると上級職への転職が可能になる形だ。なお余談だが米国ではこうした初学者向けの職種がオフショアで国外に出てしまい、技術系キャリアのスタートが難しくなっているという事情も存在しており、スタートからよい大学を使う必要性が増えている。
一方で当然ながらこうしたキャリアの途中で「これ以上仕事を変えなくていいや」とストップする例も多い。基本的にキャリアパスは上に行くほど競争率も上がり学習コストも高くなるので、誰もが上のキャリアを目指しているわけではない。逆に言えばこうしたキャリアパスで上位職に上がってきている人というのはほぼ例外なく業務に関する学習を続けているものである。