イントロダクションイントロダクションサカモトは、2021年5月にTwitterアカウントを作成し、外資やメガベンチャーのテック企業に関連する情報発信を始めました。当時を振り返ると、更にその数年前までは私も外資を目指すエンジニアの一人でした。あの時は、ただ何となくAtCoderやLeetCodeをやって面接に臨んだわけですが、多くの面接で見事に落ちてしまいました。その後、ある程度数をこなし面接にも慣れた後、ようやくとある外資のソフトウェアエンジニアポジションのオファーを一つ獲得することができましたが、あの時の状態はまだまだ準備不足だったと思います。外資の面接について詳しい情報を得たのは、実際にその職に就いてからでした。当時の私は、再現性の高い外資のオファーをもらえる自信がなく、悩んでいました。いつ転職することになるか分からない中、もう一度オファーを獲得するための準備を今のうちにしなければならないと思い、外資に関する情報収集を始めました。その過程でその情報を誰かに届けたいと思い、外資の年収や面接の情報をTwitterで発信することで、私の情報収集のモチベーションを高め、一人でも多くの人に役立てられることを期待して活動を始めたのです。Toyota、PayPay、SmartNewsなどの日系企業もグローバル標準の面接スタイルを取るようになりました。一般的な日系テック企業の面接は、普段の仕事で成果を出されている方であれば通過できる面接形式になっていると思いますが、これらの企業の面接は対策なしでは通過することが困難になっています。「面接をわざわざ対策するのは気持ち悪い。素で受けて面接を通過できないのであれば、その企業で働くべきではない」という意見もあるでしょう。私はそんな事を言ってる場合ではないと考えています。私が所属する会社のUSの同僚などを見るとほとんどが移民(インド、中国等)でチームは構成されていますが、人口比で見ても日本人はマイノリティと言わざる終えません。Japanのソフトウェアエンジニアを見ても半数以上は外国人で構成されています。その一つの原因としては情報格差があると考えています。prep」と検索するだけでいくらでも対策リソースが出てくるわけです。日本語ではどうでしょうか?英語に比べると随分と少ないと思います。私はこれを不平等であると思っていて、日本語のリソースを作成したいと常日頃考えていました。「どうせ英語を話せないとグローバルテック企業に入れないのだから英語だけでよくね?」という意見も聞こえてきそうですが、私はそうは思いません。最初に知ってもらうには日本語のコンテンツがある事が何より重要だと考えています。実際に外資に行きたいという相談者の話はよくサカモトの所に来ますが、面接の仕組みなどの話は知らない場合がよくあります。ここで解説する事でまず入り口に立ってもらいたいという願いもあるのです。この本はテック企業のオファーの獲得を目指す全てのエンジニアに向けて書かれています。これまでサカモトやgaijineersが蓄積してきた全ての情報をこの本に残していくつもりです。想定読者は数年ソフトウェアエンジニアの実務経験を持ち転職をこれからの3ヶ月〜半年くらいにかけて準備を考えている方(英語の問題は別、レベルによりますが1年は見た方が良いと思います)です。転職を全然考えず転職の大変さを知りたい方にもオススメです。Japan、サイバーエージェント、DeNA等)を目指すエンジニアスタートアップを目指すエンジニアSIer/ITコンサルを目指すエンジニアなどを想定しています。我々が作成した問題集はグローバルテック企業を目指すエンジニアでなくても役に立つと信じています。次に、この本を読んで得られるメリットですがテック企業の面接の流れや各面接の種類と対策方法が分かるテック企業の面接にたどり着くまでの情報が分かる各テック企業の面接フローが分かる英語のレジュメを書く方法が分かる英語の技術面接の対策が分かる英語と日本語の両方が書かれているので英語学習に役に立つ分野別の技術質問の問題集を解く事で自分の得意不得意分野を確認できるなどがあります。こちらの本を読んでいただき、ご自身が叶えたい転職活動に活かしてくれましたら幸いです。エンジニアと給与エンジニアの給与の話をします。私は「日系外資関係なくグローバルテック企業に入って活躍できるエンジニア」と「日本国内の閉じた世界だけで働けるエンジニア」とでは今後も大きく給与に差がついていくと予想しています。dodaによると日本のITエンジニアの平均年収は438万円(※2021年12月時点)になっています。こちら給与水準とグローバルテック企業の年収を比較していきましょう。5倍程度の年収が支払われている事が分かります(中央値と平均なので一概に比較はできませんが)。時には同じ実力で似たような仕事をしているにも関わらず、年収が大きく変わる事があるわけです。それは雇用されている企業の年収レンジが単に高い、ただそれだけの事実でしかありません。私は一人でも多くが現状より上を目指す事で、全体の給与が上がる事を期待しています。日本のエンジニアを医者と同等に稼げる職にしていきましょう!OpenSalayから投稿されている企業の中央値年収(ソフトウェアエンジニア)面接スタイルの解説ソフトウェアエンジニアの面接は様々なスタイルで行われます。一つの面接の中でこれらのスタイルが複数混ざっている事もあるでしょう。全ての会社の面接がここで書かれている形式を必ず取るわけではありませんが、数多くのテック企業の面接に参加していくと、これらの形式に出会っていくと思います。Assessment)応募時の足切りでよく導入されています。LeetCodeのようなアルゴリズムの問題をオンラインのコーディングエディタに書いて問題を解く形式です。HackerRankやCodeSignalが良く使われるプラットフォームです。実際の流れとしてはリンクが送られて、いつまでに解いてねとリクルーターから言われます。練習方法としてはLeetCodeで十分でしょう。Assignment)応募時の事前課題として宿題を出される場合があります。Toyota等は受けた際には提出を求められます。短いもので2-3時間、長いと8-10時間程度かかります。実装した内容を基に次の面接で何故このような実装をしたかを議論する事になります。渡される宿題としてはテンプレートが決まってるわけではなく、自由に書いて良いパターンが多いです。会社によっては宿題に対してお金が出る場合があるが実際そんなにありません。$500課題の例:CRUDのAPIをWebフレームワークで開発してください応募するロールで使われているWebフレームワークが指定されたことあります。Engineer一人でやっていると段々とやる気が出なくなります。油断すると”いいや”と思ってクオリティの低いものを出して落とされるパターンは避けたいので時間をとってやりましょう。完成したものをすぐ出すのではなく一晩寝かせてもっと良いアイディアが思いつくかもしれないです。homeとは言いつつこちらは本気でコードを書いてプロダクションにリリースするようなクオリティにしましょう。Interview)ソフトウェアエンジニアとして最も重要な面接になります。GAFAの面接と言えばこちらを思い浮かべる方が多いでしょう。コロナ前は実際に会社に訪れてこの面接が行われていましたが、今では全てオンラインで完結しています。簡単なオンラインエディタ(codeshare.io、CodePen等)やコーディング面接プラットフォーム(HackerRank、CodeSignal等)を活用して面接が行われます。応募者は面接官からコーディングの問題を渡され(文章もしくは口頭で)、要件をクリアにしていきながら問題を解いていきます。free(実務に沿ったコーディング問題)UIコーディング(フロントエンドエンジニア専用、HTML/CSS/JS/React等)など様々な形式で出題されます。受けるポジションによっては単に関数を実装するだけでなく、UIコーディングのような問題も出されますので受けるポジションによって訓練しておいて下さい。コーディング面接で使用するプログラミング言語は基本何を選んでもよい場合が多い(代表的なものはC++/Java/Python)ですが、場合によっては面接官から指定される事があります。フロントエンドエンジニアやiOSのモバイルアプリエンジニアは扱う言語がプラットフォームで固定されているのでJavaScriptやSwiftで面接に臨まなければいけません。Question)典型的な技術質問は以下のようなものです。コマンドを実行した時に何が起きていますか?L4とL7のロードバランサーの違いを説明して下さいWebページの高速化する上で出来ることを何でも教えて下さい技術質問は特定のドメイン(Broswer、React、Container、Networking)の理解度の深さと広さを評価されます。形式的にこの面接スタイルを取る場合、一問一答の形で次々と質問されて答える事になります。一つ出題された場合、前に出題された問題に関連する分野を深ぼって質問されるパターンもあります。この質問はどんな場面でも飛んでくる可能性があるので注意して下さい。コーディング面接をしている時に「ArrayListを使ってるけどArrayListってどんな仕組み?」など聞かれる場合があります。Question)”ものが2つ考えられます。前者は仮想DOMとは何ですか?”で、後者は”Webページの高速化する上で出来ることを何でも教えて下さい”に当たります。知識を問う問題なので比較的に対策しやすい面接スタイルです。この本の問題集はまさにこの技術質問の対策にフォーカスを当てた教材になります。活用して面接対策に活かして下さい。こちらの対策により後述するシステムデザイン面接の対策にも繋がります。Interview)ジュニアレベルのポジションでは目にする事は少ないかもしれませんが、ミドルレベル以上では出題される傾向にあります。日系テック企業でもMerpay、MoneyForwardなどで導入されている実績があります。システムデザイン面接ではリアル世界のソフトウェアシステムの設計を面接の場で議論していきます。ソフトウェアエンジニアとして業務でやっている内容に非常に近いものはあるため、特に対策せずとも通過できる可能性はありますが、面接の流れは必ず抑えておいた方が良いです。意識した設計を利点・欠点を説明しながら進めていかなればならないので、特に分散システムを構築した事がない人は注意してください。システムを設計する上で引き出しの多さが面接突破の重要な要素になってきます。問題の例としてはURL短縮サービス(Bitly)ソーシャルメディア(Twitter)動画サイト(YouTube)ファイル共有サービス(Dropbox)をデザインせよなどが予想されます。Miroなどのホワイトボードツールを活用して問題に取り組む場合が多いです。Interview)ソフトウェアエンジニアは、一見すると技術力だけを評価されて仕事していると勘違いしている人もいるでしょう。シニアレベルになれば、イニシアチブを取ったり、他者への影響力を高め、優先度に応じた重要な決定を任される立場にもなってきます。Values(行動指針)を社員全体に共有し、これに基づいた働き方をする事を推奨しています。Valuesの一つです。行動面接でこの会社で働く上で相応しいマインドセットを持った人間かを判断するために行われます。企業は面接でよく「カルチャーフィット」という言葉を使いますが、まさにこれの事を指しています。典型的な行動面接では応募者の過去の経歴にフォーカスをして、どのようにしてその状況に対処したかなど具体例をあげて説明する事が求められます。Valuesにどれだけフィットした行動を取っていたかを評価する事となります。質問の例としてはこれまで仕事で直面した最も困難な状況をどのように解決しましたか?チームメイトと対立した時の経験を教えて下さい仕事で失敗した時にどのように対処しましたか?自分でイニシアチブを取ってプロジェクトを推進した時の話を教えて下さいなどが挙げられます。Diveとは、候補者の過去から現在までの経歴を深く掘り下げていく面接スタイルのことです。応募者のレジュメに書かれている過去の経験、プロジェクト、スキル、達成事項に関する質問をします。過去の経験やプロジェクトが、求められる役割にどのように関連しているかを理解する過去にどのような課題に取り組み、それをどのように解決したかを把握する専門知識やスキルを評価し、ポジションに適しているかどうかを判断する日本のテック企業にもよくあるタイプの面接スタイルです。このような形式張った名前はしていませんが、レジュメにかかれている経験は詳しく話せるように準備しましょう。面接の流れここまでで様々な面接スタイルについて学んできました。ここでテック企業の典型的な面接の流れを紹介します。Interview)書類選考を通過するとHRと人事面接が行われるケースがあります。ここでは自己紹介、選考プロセス・ポジションの説明、転職理由の確認など面接というよりは面談に近いと思います。対策の必要はないと思いますが、一応準備してから臨みましょう。Interview)電話面接は大企業で採用されている場合が多いです。Meet)などで面接官と会話し、技術質問やコーディング面接を課される事が多いです。コーディングはオンラインエディタ(codeshare.io、CodePen、JSFiddle)や面接プラットフォーム(HackerRank、CodeSignal等)に書きます。オンサイトに進むべき人材かどうかを見極めるため易しめの問題が出るケースが多いです。Serviceがあり、電話面接として使われている企業もあります。こちらは応募企業に所属していないエンジニアが登場し技術面接を行います。Interview)ここからが本番と言っても良いでしょう。オファーを出すかどうかを決める最終段階となります。オンサイト面接は通常複数のラウンド(コーディング面接、技術質問、システムデザイン面接、行動面接)で構成され3-5回、場合によっては更に追加で複数回を設定されます。非常に体力がいる面接なので私は複数日付を分ける事をオススメしています。昔はオンサイトと名が付くように実際に会社に行って面接を行っていましたが、今では大体オンラインで解決するようになっています。Googleのような企業ではオンサイト面接の後にチームマッチなどがあります。場合、この面接を突破した人はこの会社に入社できる資格を持つという意味だと捉えてもらって構いません。Interview)おめでとうございます。ここまで来れば一安心です。人事からあなたにオファー内容を説明されます。Compensation(年収)を交渉するか?については別のセクションで行う予定です。Compensationは基本給+キャッシュボーナス+RSU(株)で構成されている事が多いです。心躍るオファーを期待しましょう。Inte...すべてを見るには返金は購入日から1日以内に申し出て下さい。詳細はこちらからご確認ください。このコンテンツ以外の他の永久アクセス権は付与されない事はご注意下さい。特定商取引法に基づく表記テック企業求人一覽こちらの求人をrecoから紹介されたものです。recoは現役の外資エンジニアがモックインタビュー付きで面接対策を行ってくれる転職サービスです。これらの企業にどのように準備に準備して振る舞えば採用されるのか的確なアドバイスを受ける事ができます。InterviewCatの共著者のgaijineersさんが創業者として皆さんの転職をサポートします。Technologies相談&模擬面接に。