転職の話と給料の話(その2)

昨日最近の転職活動のブログ)を書いたあと、友達何人か友達から同じ質問が飛んできたので、もうちょっと転職した経験のことを書いたほうがいいだろうと思ってブログ書きました。

結論と自分が思ったことをに書いておきますと:

  • 転職はTinderと同じく、両方がスワイプしなければ成り立たないため、相性が悪ければ別の相手を探せばいいと思って、なのでポジティブで転職活動を楽しんだ方がやりやすいかなと思います。自分自身も人と話すのが好きなので、いろいろな会社の人と話すのを楽しんでいました。
  • 応募する会社(時に外資系)は自分に合うか、カルチャーはどうなるかを判断するためには主にGlassdoorとTeamBlindを活躍しました。TeamBlindは悪口が多いので、ポジティブの点をピックアップする必要があります。
  • 面接とかコーディングテストの準備はとても大事ですけど、長い時間をかけて(6ヶ月とか1年)ひたすらLeetcodeとかやってもつまらないし、逆に自分が面接官としてやった経験には、落ちる理由のなかでコーディングテストとか問題が解けないのがそこまで多くなく、実は緊張とか、英語が伝えられないとか、そういうコミュニケーションの問題で落ちたほうが何倍も多いです。そのため、ある程度基本の知識を準備して、その後面接==問題解決のを楽しむ、という楽観的な考え方で進めた方が受けやすいでしょう。自分自身も「もしわからなかったら気軽に面接官聞こう!」というスタンスで面接受けて、とても気持ち楽でした。
  • 外資とかいい会社に行けるのはすごい!とかは自分にとって全くなくて、そこがスタートラインなので、現職で成果出している人の方が何倍よりすごいと思います

で、本題に入ります

事前でやったこと、転職先を探す段階

タイミングのこと

転職タイミングですけど、多くの場合は、「現職が辛くなってきた」タイミングで転職活動始めると思います。ただそういうタイミングだと自分も焦って、メンタルが悪い状態を感じながら面接するといい結果にならないし、例えば自分の好きな会社に入れなく転職一旦失敗となると、さらに現職に戻りづらくなります。なので自分自身は現職が辛くなってくる前にやったほうがいいと思うタイプです。

転職先を探す方法

日本の会社だと大体

をメインに使いました。Bizreachの悪い点としては、年収が先に書く必要があります。現職の年収がある程度高い方だと、面接する前に期待値が変に高まってやりづらく場合があります。その反面FindyとかWantedlyは十分カジュアルさがあってやりやすかったです。

外資の会社だとLinkedinのJobs機能だけを使いました。自分が知っている限りは大体の募集がLinkedinに乗っていますのでうまくフィルタすれば自分がほしそうなポジションが見つけやすいです。自分はいつも「Software Engineer」+「Tokyo」でフィルタして見ていました

linkedin

外資の募集は二つの種類があって

  • (1)ジェネラルのポジションを1年中募集タイプ
  • (2)ヘッドカウントが決まって、そのタイミングだけで探すタイプ

ジェネラルポジションのいいところは、ヘッドカウントが決まっていないためあるラインを超えたら入れることです。ただその反面そのラインを越えようとする人がたくさんいて、ジェネラルの面接手法でしかできない。そのジェネラル手法がアルゴリズムですありつつ、そればかりを狙って毎日Leetcodeやっている人がやたらいますので、当然ハードルもとても高いです。

ヘッドカウントが決まっている方だと、今必要のポジションを、チーム単位で募集をするためポジションが要求するスキルを重視して募集するところが多いです。もちろんアルゴリズムも聞かれたがすごいTrickyとかアルゴリズム中心でやるではなく、「基本の知識」と「わかりやすいコードかけるか」という軸で主に見る(と思います)。ただその反面、ヘッドカウントが埋めたら(いいひとが来たら)、すぐポジションクローズしますので、自分がそのポジションにベストフィットしてもタイミングが悪く入れないことが多いです。

自分の場合、アルゴリズムを練習する時間もそんなに取れなく、そしてすごい自信あるかと言われても競技の経験もなく多少他人と比べると自分の強みではないので、タイプ(2)を主にみました。

面接の話

比較のために、国内会社2社と外資の2社を並んで詳しい話を書きます:

任天堂

任天堂を受ける理由としては、LINEより世界で通用する会社はどこ?だと考えたら任天堂ぐらいしか浮かんでいなかったです。任天堂の採用ページを見て東京オフィスのポジションに直接応募しました。

採用プロセスは:書類選考 → 事前コーディングテスト → 一次面接 → 最終面接 となります。今身替えしたら、各プロセスは一週間間隔で行ったので一ヶ月で全部終わる感じです。

一次面接は二人面接官の体制で行いました。ホワイトボードコーディング(LeetcodeのMediumぐらい)もあって、ちょっとびっくりしましたが十分楽しい問題だったので楽しんでいました。その他に現職の経験だったり、自由の技術相談(テーマは自由)などでいろいろ技術の話ができました。

最終面接は東京と京都の(多分)えらい方々と面接しましたが、基本志望動機とか、ゲームへの熱心とか、会社のカルチャーマッチの話をされました。自分は今までウェブ系で自由に発言して、自由にやることを決める、という環境を慣れてしまったのと、ゲーム業界の経験の浅さと熱心が足りないのもそこでわかって、面接中でもミスマッチだろうな?と思いつつ翌日に不合格もメールが来て、なるほど、となりました

Freee

Freeeをうける理由としては、ベンチャの会社を見てみる、という軽い気持ちで最初のカジュアル面談をBizreach通して受けました。カジュアル面談でいきなり「なぜ弊社に入れたいですか」と聞かれ、なかなか良い回答ができないまま本選考に進めてしまいました。

本選考では自分の前職がマネジャーということで、もしFreeeに入ったらマネジャー立場で仕事をする、という前提で話を進められ、技術の話一切聞かれなかったです。話の中もで自分の価値観(長期を重視して技術に投資すべきなものを投資する、マイクロマネージメントしない)と面接官の価値観(売り上げ優先でとりあえずたくさんサービス作ってヒットのを待つ、マイクロマネージメント積極的にやる)がなかなか合わなくていい会話ができなかったので、次の日にお祈りメールがきて、自分は納得する結果となりました。

Apple

Appleはたまたまツイッターの募集(ApplePayのSREポジション)を見かけて、応募しました。

レジュメをウェブ経由で出しましてから2週間後にHRからの連絡が来ました。一番最初はHRからの電話で自分の経験だったり希望だったりを40分ぐらいで話しました。

その後に、2週間で、三日ぐらい面接が調整されました。面接は基本1-1で、日本のチーム、中国のチーム、アメリカのチーム、そしてロンドンのチームに一人か二人で面接行いました。面接内容は基本彼らが要求するスキルセットと、自分が持つスキルセットを軸に勧められました。コーディングテストもちょっとだけ入ったんですがメインではないです。

Appleの採用はGlassdoorとかTeamBlindを見たらすぐわかりますが「チーム採用」となって、なので会社全体に統一のプロセスだったり、難易度がなく、そのチームが必要とされるものを軸に人を探します。そのため、面接をする前に、必ずそのチームのやること、その事業のこと、そのチームの技術などをしっかり見て判断した方が良いかと思います。もしどうしても自分がやりたくない分野っだたり技術だったりがあったら、面接するときにどうせバレるので応募しない方がお互いの時間を無駄にしないかと考えます。

最終の面接を受けてから五日間ぐらいで面接結果がきました。

Square

SquareはLinkedinのJobDescriptionをたまたまに見かけて、なんか自分にあってそうと思ってLinkedin経由で応募しました。

応募してから翌日にHRから連絡きて、30分ぐらいのHangoutでMTGが調整されました(HRがアメリカにいるので)。

その次にHiringマネジャーと面談が入って、自分の経験だったり、志望動機が聞かれました。シリコンバレー系の会社で多くの場合は、Hiringマネジャーが入社後のボスとなって、採用決定権を持つので非常に大事な存在でした。

Hiringマネジャーを通ったら次に「コーディングテスト(3回)」→ 「システムデザイン(2回)」→ 「リーダシップ面接(1回)」→ 「カルチャーフィット面接(1回)」を順番に調整されました。

コーディングテストとシステムデザインはアメリカの会社の典型的なやり方で行いましたが, Squareの違う点としては2点

  • すごい難しいアルゴリズムを解くのがゴールではなく、完成であるコードを求めること。完成==ちゃんと実行でき、ちゃんとテストされ、そしてちゃんと設計される、という意味です
  • ペアプログラミングで行うこと。「ペア」なので面接官が積極的に手伝ったり、ヒント出したりしているので気持ちがすごい楽でした。

面接周りは会社ブログにも公開しているので興味ある人はブログに参考すれば良いかと思います

https://developer.squareup.com/blog/ace-the-square-pairing-interview/ 

Squareを面接入る前に、Appleのオファーがきて、「一週間内で決めてくれ」と言われました。その時にSquareのHRに伝えると、三日連続で面接調整してもらって、対応がすごく早く感動しました。最終面接が終わって翌日にオファーがきました。大体プロセス全体が2週間ぐらいであって外資の中でもかなり早い方と感じました。

Squareに入社経緯

前のブログにも書きましたが、Squareに入りたい主な理由は「人がいい」ということでした。前職は言語の壁が大きくコミュニケーションがなかんか通らない場面が多い中、Square面接官だったり、HRと話などを通して、すごいスムーズに会話ができ、こういう人たちと仕事すると損しないはずとすぐ決断できました。

もちろん自分に偏りがないように、GlassdoorとかTeamBlindなどもひたすら会社のレビューをみましたが、Squareのようにポジティブばかりなものが書かれる会社はなかなか見たことなかったので、さらに確信ができました。

もう一つの決め手としては、「Appleと悩んでいる」と伝えるとき、翌日HiringManagerとグループリーダなどから直接の「Squareの方が絶対いいよ、あなたと一緒に仕事したい!」というメールがたくさんきました。日本オフィスでいるルビーコミッターのSoutaroさんも早速面談が入って社内のことをいろいろ教えられました。もちろんそういうプロセスは会社のテンプレートのことはわかりますが、そのテンプレートあるという自体もすごく感動であって、「利益First」じゃなくて「Human First」というのが伝えられました。

あとSquareという会社自体は利益ももちろん大事ですけど、「人(Seller)を助ける」というミッションも自分にとっととても共感できました。今までの自分は「こういう技術を使いたい」とか「ゲームの業界で働きたい」などの決まっている軸で仕事などをしなくて、基本的に「たくさんの人(エンジニアであったり、一般エンドユーザ出会ったり)が喜ぶのを実感する」という曖昧の軸で仕事を楽しんできました。そのため会社のミッションに共感できるとすごい仕事やりやすいかなと思って、Squareの一員になると決めました。

給料交渉、そしてちょっと軽い給料に関連する話

先に結論から言うと

  • 外資の方が圧倒的に報酬が高いこと
  • 給料交渉するには、「現職の報酬」と「他社のオファー(CounterOffer)」があるかが交渉ポイントとること
  • その報酬を得るためにはその分のリスクを担うこととなること(首になるリスク、株のRefreshがこなく高い税金を払うリスク)

日本企業 vs 外資の話

「転職」という話題になったら、99%の人は給料の話を気になるかと思います。自分も家族がいて、奥さんも専業主婦で、子供一人がいるため、ある程度に家族が生活ができる報酬じゃないとかなり厳しいです。

一般の給料の関してをちょっと軽く触れると、最近OpenSalaryなどがあって、他社のレンジなどを把握することができかなり便利な世界になっています。

OpenSalaryを見て話すと:

  • 日本の会社はメルカリとかLINE、スマートニュースなどが結構高報酬プレイヤーで、ある程度経験と知識あったら1000万以上をもらえるのが一般的です。業界に有名の人だったり、特別の専門知識持つと2000万も行けるように見えます。自分はLINEのエンジニアであって、周りにメルカリの友達にも確認したんですが、OpenSalaryの数字はかなり正確なので信じてもいいでしょう。
  • ただ外資GoogleAmazonIndeed, Stripe)などはさらに高い報酬を得られるのもOpenSalaryでわかります。新卒(GoogleのL3, AmazonのL4)だと1000万ぐらいだったものの、Intermediateレベル(GoogleのL4, AmazonのL5など)になるとは大体 1500万〜2000万の報酬をもらえるとなります。さらにシニアレベル(L5)になると2000万〜3000万のレンジとなります。もちろんそのレンジは会社で若干違って、自分の感想だと例えばGAFAの中でも:Google ~ Facebook >> Amazon ~ Apple、となるイメージです(もちろんすごいトップの人材だとどこでも高いのを簡単に要求できますが、GAFAのトップに入るのには多分すごく難易度が高くなるので、「一般エンジニア」という前提で話ます)。

外資系の給料の主に日本の会社の違う点は、「株」という大きな割合で入ります。最近の日本の会社(メルカリ、LINEなど)だと株もかなり寛大に配るようになりますが、アメリカ(特にシリコンベレー系の会社)と比べるとその割合が全然少ないです。例えばGoogleの2000万報酬の中ではベースが大体1200万で、株報酬が800万毎年もらう例が多く見えます。

もらった株は基本Grantされるときの値段となりますので、株価が増えるほど報酬が増えるという設定となります。そのため5年前にGoogleとかAmazonに入る人は大体株価の増える分を考えると平均に年収が3000万〜4000万となる人が少なくないでしょう。

ただ一つを気をつけないといけない大事なことがあって、それが「株価」と「株の配分仕方」とです。

「株価」はことばどおり、今後株価がたくさん上がりそうの会社に入ったら報酬がどんどん上がります。その反面現在がPeakで、今後がどんどん落ちると報酬がどんどん下がるとも相当です。個人的にはこの数年BigTechの株が上がりすぎて、もうそろそろPeakに到達しそうで下がるリスクも十分あります。自分が入社ときめたSquareも一時的に伸びてきたCashAppの影響で最近すごいあがったみたいですけど、それが続いているかの不明であって、最初にもらった分はあくまでも固定収入じゃんなくて「ボーナス」(もらえる分はうれしくもらう)と考えたほうが楽かなと。

「株の配分仕方」は、オファーをもらった時に外資の会社だと大体「4年パッケージ」が配られます。なのでオファー内容は大体、あなたのベースはX万円で、そしてY万円の株パッケージです、という流れとなります。そのY万円を4年に渡ってちょっとづつ配られます、配り方は会社によって違いますが、AmazonみたいにIncremental(20%, 30%, 50%みたいな)のやり方もあるし、Googleみたいに半年12.5%ずつ配るところもあります。ただ問題は、その「4年パッケージ」が終わったらどうなる?ということです。そのまま終わることもある、というところもあって、ちょっとだけまたもらうところもあって、すごいハイパーフォマンスを出した人だとまたすごいGrantされる、という様々なパターンがあります。なので4年後に報酬ぐんと下がって、高い税金のまま地獄となる5年目、というのも十分あります。十分あるというか、結構あります。そのリスクを十分理解する上で自分の報酬は本当に高いかどうかを判断したほうがいいと思います。

追記:給料の話はこのブログがとても丁寧に書いているので参考になればとおもいます:https://anond.hatelabo.jp/20201002000619

給料交渉の話

私自身は日本の会社にずっと努めたので、正直に交渉する仕方はわかりませんでした。やったこととしては二つ

  • Levels.fi というサイトで、自分がオファーされるレベルのレンジを見てみる
  • GAFAにいる知り合いなどを相談する

Levels.fi はアジア圏のサンプルがあんまりなく、基本はベイエリアの基準となりますので、めちゃくちゃ高く見えます。ただどこの会社でもロケーションで調整されています。調整指数はGitlabを参考してみると大体合っていますが、基本日本の給料 = ベイエリアの給料 x 0.56(つまり半分ぐらいです)。なので例えばGoogleのL5でオファーされたら、MountainViewだと5000万もらう人だと日本で2500万〜2800万ぐらい要求したら妥当ではないかと思いました。

あと実際にGAFAに入っている友達の話を聞くと、そのレンジは妥当かどうかを検討することもできます。

ただ世界はそこまでが甘くないです、自分がもらえるべきの報酬と、実際に会社が自分に払う報酬が一致しないのが大半でしょう。そのギャップを縮むためには二つのポイントが必要です

  • (1)自分の現在報酬を高くすること
  • (2)転職するときに複数の会社からのオファーもらうこと

(1)は自分がマネジャーになってからわかりますが、人の給料は無言で仕事して上がる人は本当にわずかで、彼らの強さ(技術だけじゃなく、事業への貢献度など)は圧倒的すぎて、上がらないとおかしいとCXOレベルでもわかりやすく伝わる人たちです。残りの人たち(99%)の場合は、自分から「上がってください!上がってください!」とたくさん叫ばないと、基本大きく上がりません(もちろん毎回ちょっとずつ会社の規定によってあがりますが)。そのため、「自分が妥当と思う報酬を、自分で要求する」というやり方が基本だと思います。どのぐらいが妥当か、なぜ自分はその金額に相当するかは、マッケートを知り、自分はどのぐらいの会社の利益に貢献できるかを自分で把握しないといけないです。人によっては変わりますでのジェネラルの方程式みたいなものは存在しないでしょう。

(2)に関しては、カウンターオファーがないと、大体の場合はGAFAでも現職の給料の維持(もし現在がすでに高い報酬を持つ)か、あるいは現職の給料を20%アップぐらい、という場合が多いようです(周りを聞いた話だと)。

ですが、カウンターオファーで他社とマッチアップ文化は日本のGAFAでもすごい浸透しているわけでもないのすごい期待しない方がいいと思います。ただ、ないよりは絶対いいと思います。また、複数の会社の中で自分と合うチームだったり、福利厚生だったりを自分で選択できる環境を作った方が有利かと。

終わりに

給料は全てではない、自分に合わない仕事、合わないチームと数年間働いたら低い給料より何倍も辛い、という偉そうな結論を出したかったんです。

ただ実際に転職活動をしてみると、面接プロセスが厳しいほど、エンジニアの質が高いのは間違い無いので、実に入って辛いを感じるのは正直にリスクが低いではないかと思います(自分もまだ一ヶ月立っていないのでなんとも言えないですけど)

あと転職活動というのは、人と話して、自分のやることと違う分野の話だったり、人柄だったりいろいろ体験できるので、「辛くなってきた」を待たずに暇な時に転職活動をしてみたら損はしないかと思いました。自分自身も特に現職不満なく、たまたまいいチーム見つけたことで転職決めたのでした。

もう一つは外資に行くと、高い報酬を得られながら、違う仕事スタイル、世界通用のプロダクトを作る、という体験もえられるので、一回入ってみた方が良いではないかと思いました。正直に言うと、日本エンジニアは、アルゴリズムもでき、コーディングができる人もたくさんいるので、ちょっと英語とコミュニケーションを頑張ればチャンスたくさんあるではないかと思いますので、みんなさんもどんどん外資に行って欲しいと思いました。