外資系マネージャーの独り言

日本で外資系企業のソフトウェアエンジニアマネージャーをやってる人のブログです

PayScaleのデータを読む (誰でも知りたがっているくせにちょっと聞きにくいエンジニアの給与について教えましょう)

みんな気になるソフトウェアエンジニアの給与。

f:id:jpsdm:20170618174304j:plain

会社員にとっての給与とは、数少ない数値化可能な会社からの直接的なフィードバックと言うことができますが、現実的には市場の法則に則ってはじき出された、会社側の都合で決まっている数値にちょびっと味がついてたりついていなかったり…というものだったりします。とは言っても、大多数の会社員は給与をもらうことでもって生活が成り立っているわけで、たくさんもらえればもらえるほどよい、という点についてはみな同じでしょう。

日本の企業では若者が体力と魂を削って使い捨てのように働かされた挙句に相応の対価をもらえていることは少ない印象の「プログラマー」という職業ですが、よく知られているとおり(?)日本以外の国、特にアメリカでは自由に働くことができる上に待遇がよい職業として認知されていて、特に大手IT企業ではかなり恵まれた給与をもらうことができます。

そんなわけで、給与とポジション、会社や都市などといった情報を登録することで給与の見える化を目指しているPayscaleの情報を覗いてみましょう。

www.payscale.com

アメリカのソフトウェアエンジニアの給与ですが、中央値は$80Kあたり(900万円くらい)。メジャーな会社で中間値が$100Kを大きく超えてくるのはFAANGとMSあたりが顕著。

キャリアパスで考えると、

Software Engineer から圧倒的大多数(82%)が Senior Software Engineer/Sr. Software Engineerになり、その後に…

  • Principle Software Engineer (21%)
  • Software Architect (16%)
  • Software Development Manager (16%)

といった形である程度方向性が分かれるのが一般的と言えます。Senior Software Engineerの20%超がPrinciple Engineerになれるという数値は自分の感覚より多いけど、実際にはどんなもんなのでしょうかね。Software Architectというポジションは身の回りではあんまり聞かなくなってきているポジション名ですが、巨大なデータベースなんかを扱ってシステム開発してる会社ではまだ重宝されてるのでしょうか。エンジニア出身でマネージャーになるのは16%くらいってのは、なんとなく肌身感覚とあっていて、自分はこの16%に入った人。

アメリカ全体の平均で考えると、普通のエンジニアが$80Kくらいもらってて、シニアエンジニアになると$100Kを超えて、さらにその上位に位置するポジションに進むことで$120Kを超えていく…というのが給与面から見たソフトウェアエンジニアのキャリアアップ双六と言えそう。日本では「年収1,000万円」というのは「高収入」の入り口として認識されていますが、アメリカでも"6-figure salary" (年収10万ドル以上)は「高収入」と同義に捉えられているので、平均的に考えるとキャリアをある程度積んでシニアレベルになったところで"6-figure salary"を達成する、ということになりそうです。

もちろん、企業によってはアメリカ平均よりさらに30-50%が上乗せされたレベルで双六が展開する…ということで、野心的な人々はFAANGやMSを目指すのでしょうが、例えばベイエリア(シリコンバレーやサンフランシスコ周辺)の生活コストを考えると、住み慣れた生活コストの安い都市・街でFAANG/MSクラスの給与をもらう…というのが一つの理想なのかなと思います。

**

次に、Software Development Manager (ソフトウェア開発チームを束ねるマネージャー)を見てみると、給与の中間値は$120K。

www.payscale.com

一般的にマネージャーのサラリーは優遇されている印象がありますが(なぜなら、なんだかんだ言って大変な仕事だから)、Senior Engineerクラスになってから「次」を考えた時に、マネージメントがポピュラーな選択肢になっているのはこのあたりの理由が大きいと思います。ソフトウェア開発チームのマネージャーは、ソフトウェアエンジニア歴のある人であることが望ましいと考えられていて(技術に関する素養・理解がないとエンジニアをまとめるのが難しい)、いわゆるマネージャーといってもコードレビューに参加したり、デザインレビューで積極的にインプットしたり、場合によってはコードも書いたり(コード書くの好きだけど諸事情あってマネージャーやってる人は多い)、ソフトウェア開発に深く関与し続けながらキャリアを切り開いていくことができる(より職位の高いマネージャーになったり、エンジニアに戻ったり)ポジションなのかなと思います。

ソフトウェアエンジニア・マネージャーにもいろんなタイプの人種がいるので、技術を極めるタイプの人、コミュケーション能力が高い人、プロマネ能力の高い人、リーダーシップを発揮できる人…といった属性の組み合わせと、本人の意欲や興味、チームや会社の状況といった要素が掛け合わされて、キャリアパスが決まってくるようです。

**

翻って日本のSoftware Engineerの状況。

www.payscale.com

サラリーの中間値は5M前後で、日本で考えると現実的な数値。会社はどういう訳かRakutenが多いけど、これはRakutenが一時期大量の外国人エンジニアを雇ったことと関係してるのかな?

日本の会社だと、感覚的にいって500万円もらっていれば「そこそこ」と言えそうな相場のようですが、エンジニアとしてその次に進むステップがあんまり用意されていないということと、ソフトウェア開発チームのマネージメントというポジションが特別なものとして認識されていない印象があるので(ソフトウェア開発経験のないマネージャーがエンジニアのチームを率いてたりする)、自由と待遇を優先するエンジニアにとっては魅力的な環境を探すのは難しいのかなと思ってしまいます。

**

世界中にオフィスがあるIT企業では、国や都市によって異なる生活コストに応じて異なるサラリーの基準が設定されています。ここ3,4年で円安に大きく傾いた影響もありますが、今のアメリカのソフトウェアエンジニアのサラリーの相場を考えると、東京で一定レベルのQoL(Quality of Life)を実現するための生活コストを鑑みたサラリー(感覚的に言ってベイエリアの60-80%)で雇えるエンジニアのレベルは非常に高く、企業側から見て「買い」だと認識されている印象は強いです。

と同時に、完全に英語が標準語になりつつあるソフトウェア開発の世界で、英語はできないけどエンジニアとしてのレベルは高い日本人エンジニアが、企業文化によっては初めから候補になりえない(ローカルな仕事をしない企業の場合、他の拠点のメンバーと英語で協業するのが大前提となるため)という惜しい状況があるので、このあたりのギャップを埋めていくことで、より日本のソフトウェアエンジニアが注目されるとよいのかなというのが個人的な意見です。