Googleや他のトップテクノロジー企業でソフトウェアエンジニアの仕事を得る方法

皆さんこんにちは!

CS Dojoと呼ばれるプログラミング教育のYouTubeチャンネルのいくつかのビデオで、私がどのようにしてGoogleでソフトウェアエンジニアの仕事に就いたかについてはすでに話しました。

しかし、それでも多くの人が、ソフトウェアエンジニアとしてGoogleに就職する方法について私に尋ねます。それで、これが私が使う戦略を説明する私の記事です。

同じ戦略を使用して、Googleだけでなく、Amazon、Microsoft、Facebookなどの他のトップテクノロジー企業でもソフトウェアエンジニアリングの仕事を得ることができます。

この記事では、これらの企業の1つに就職するための6つのステップのプロセスを紹介します。途中で、私も議論するつもりです:

  • そもそもコーディングを学ぶ方法
  • コーディングを学んだ後に学ぶべきこと
  • 最初のコーディングの仕事やインターンシップを取得する方法
  • ソフトウェアエンジニアの仕事に応募するための最良の方法
  • プログラミング面接の準備に最適な方法
  • コンピュータサイエンスの学位を取得することは重要ですか?
  • 一流の大学に行くことは重要ですか?

さて、始めましょう!

ステップ1:コーディングを学ぶ

これは、ソフトウェアエンジニアになるために必要な最低限の資格です。

このために、CodecademyやfreeCodeCampなどのインタラクティブなWebサイトから始めることをお勧めします。これらのサイトからプログラミングの基礎のほとんどを学ぶことができます。SoloLearnも良いと聞きました。

その後、ビデオチュートリアルを使用して、より高度なトピックを学習します。これには、YouTube、Pluralsight、Lynda.com、UdemyなどのWebサイトをお勧めします。これらのWebサイトでは、次のようなトピックに関するチュートリアルを見つけることができるはずです。

  • ウェブ開発
  • モバイル開発
  • ゲーム開発

あなたの興味に応じて。

しかし、待ってください、私は最初にどのプログラミング言語を学ぶべきですか?

私の簡単な答えは、JavaScriptまたはPythonのいずれかを選択することですが、それは本当にあなたの興味に依存します。私はこのビデオでこの質問に対するより長い答えを持っています。

ステップ2:いくつかの個人的なプロジェクトに取り組む

いくつかのプログラミングチュートリアルを実行した後、学習した内容を使用して練習するためのいくつかの個人的なプロジェクトを構築する必要があります。

このために、あなたはあなたが構築することに興味がある何かを見つけるべきです。

たとえば、写真が好きな場合は、すべての写真のポートフォリオサイトを構築できます。株の取引が好きなら、株価チャートを分析するシステムを構築できるかもしれません。または、問題解決を楽しんでいる場合は、コーディングコンテストに参加してみてください。

プロジェクトに取り組むときは、最初にできるだけ自分でビルドします。その後、行き詰まった場合は、オンラインまたはオフラインのリソースを使用して他の人から助けを得てください。たとえば、Stack Overflowを使用して、プログラミング関連の問題に悩まされている場合に、特定の技術的な質問をすることができます。

ステップ3:最初のプログラミングの仕事またはインターンシップを取得する

いくつかの個人的なプロジェクトを構築したら、最初のプログラミングの仕事またはインターンシップを取得できるはずです。これにより、一流のテクノロジー企業との面接を開始する前に、ある程度の経験を積むことができます。

トップテクノロジー企業の1つで最初の仕事に就くことは可能ですが、あまり知られていない企業で最初に就職する方がはるかに簡単で一般的です。

ソフトウェアエンジニアの仕事に応募するための最良の方法

オンラインで仕事に応募するだけでは、必ずしも最善の戦略とは限りません。他のほとんどの人がそうしているからです。

代わりに、LinkedInと対面ネットワーキングを使用して最初のプログラミングの仕事を取得することをお勧めします。

LinkedInで、最初にあなたが働きたいと思っている会社の採用担当者を見つけてください。次に、興味のある役職に就く資格があるかどうかを尋ねます。また、まだ資格がない場合に、自分自身をより適切に準備する方法についても尋ねる必要があります。

対面でのネットワーキングについては、Meetupのようなウェブサイトで地元企業のエンジニアや採用担当者に会うことをお勧めします。

待って、待って、でもそれだけではありません。

LinkedInと対面ネットワーキングの使用は、中小企業に応募する場合に効果的です。ただし、これらの戦略は、GoogleやFacebookなどの人気のある企業にはあまり効果的ではないことがわかりました。

代わりに、これらの大企業には、次の3つの戦略を組み合わせることをお勧めします。

  1. お近くの大学での就職説明会や採用イベント。
  2. これらの会社の1つで働いている友人から紹介されます
  3. オンラインで申し込むだけです。

これらの戦略をすべて組み合わせることで、これらのトップテクノロジー企業の1つとの面接を受ける機会を増やすことができます。

ちなみに、LinkedInがこれらの大企業で効果が低い理由は正確にはわかりませんが、メッセージが多すぎることが原因かもしれません。基本的に、彼らはそこであまりにも人気があります:P

ステップ4:データ構造とアルゴリズムを学ぶ

GoogleやMicrosoftなどのトップテクノロジー企業は、インタビューでデータ構造やアルゴリズムについてよく質問します。ですから、まだ学んでいないのであれば、それらを学ぶべきです。

基本を学ぶために、データ構造とアルゴリズムに関するビデオシリーズをお勧めします。それはすべてYouTubeにあります。このトピックをできるだけ簡単に理解できるように、これらのビデオを作成しました。

このシリーズには7つのビデオしかないため、より高度なトピックを学ぶには、より多くの資料が必要になります。

これには、次のようないくつかの一般的なオプションがあります。

  • Courseraのこれらのスタンフォードコース
  • YouTubeのこのMITコース
  • スキーナによるアルゴリズム設計マニュアル(本)
  • アルゴリズム(別の本)

これらのいくつかを試して、最も好きなものを続行する必要があります。

ステップ5:コーディングインタビューの準備

グーグルやマイクロソフトのような会社でのインタビューのコーディングは難しいですが、それらの準備をするのはやや簡単です。

データ構造とアルゴリズムをしっかりと理解したら、次の3つのリソースを練習することをお勧めします。

  • Leetcode —コーディング面接の問題を実践するためのインタラクティブなプラットフォーム。
  • コーディングインタビューのクラッキング—コーディングインタビューに関する人気の本。
  • 毎日のコーディング問題— 1日に1つの問題を提供するメーリングリスト。

数週間自分で練習した後、模擬面接を始めるべきです。

模擬面接の方法

基本的には、友達とペアを組んで、上記のリソースからお互いに問題を解決してください。

次に、紙またはGoogleドキュメントで各問題を解決します。あなたの解決策をあなたの友人に説明してください。

面接官と面接官の両方の練習をして、面接官の立場になっている様子を確認してください。

20程度の模擬面接を行うと、働きたい企業との面接を開始する準備が整います。

ステップ6:適用し、適用し、再度適用します:)

上記の3つの戦略を使用して、トップテクノロジー企業に適用します。

  • 採用イベント/就職説明会
  • 友達に紹介してもらう
  • オンラインで申し込みます。

初めて入らない場合でもご安心ください。実際、これらの企業のいずれかに参入することは競争力があるため、いくつかの失敗を予想する必要があります。

個人的には、ソフトウェアエンジニアの仕事に就く前に、Googleに5回応募する必要がありました。

それでおしまい!ここに簡単な要約があります:

  • ステップ1:コーディングを学ぶ
  • ステップ2:いくつかの個人的なプロジェクトに取り組む
  • ステップ3:最初のプログラミングの仕事またはインターンシップを取得する
  • ステップ4:データ構造とアルゴリズムを学ぶ
  • ステップ5:コーディングインタビューの準備
  • ステップ6:適用し、適用し、再度適用します:)

待って、それは本当に簡単ですか?

はい、そうです。それでも、6つのステップすべてを実行するには、多くの時間と献身が必要です。

さらにいくつかの注意事項:

コンピュータサイエンスの学位を取得する必要がありますか?

簡単な答えはノーです。ただし、コンピュータサイエンスの学位を取得することは大いに役立ちます。堅実なCSプログラムを受講する場合は、ステップ1、2、3、および4のほとんどを処理します(コーディングの学習、個人プロジェクトの実行、最初のプログラミングの仕事またはインターンシップの取得、データ構造とアルゴリズムの学習)。

CSの学位を取得しなくても、自分でもっと学ぶ必要があります。

また、CSの学位を取得していても、これらの企業の1つでソフトウェアエンジニアの仕事を得るには多くの作業が必要であることに注意してください。

MIT、スタンフォード、カーネギーメロンなどのトップ大学に行く必要がありますか?

繰り返しますが、簡単な答えはノーです。それはおそらく少し役立つでしょうが、それは必要とはほど遠いです。

グーグルのピープルオペレーションの元上級副社長であるラズロボックも同意する。

彼が書いた本、Work Rules!によると、Googleは、MITのような一流の学校の平凡な成績の生徒よりも、あまり知られていない学校の成績の良い生徒を好みます。

これは理にかなっていると思います。なぜなら、あなたが賢くて献身的であれば、どの学校に通ったかはそれほど重要ではないからです。

高いGPAが必要ですか?

簡単な答えはノーです。

GPAが高いと、面接を受けるのにも少し役立ちますが、確かな実務経験と興味深いプロジェクトを履歴書に表示することがはるかに重要です。

実際、Work Rules!によると、Googleは過去に候補者のGPAを大いに気にかけていました。しかし、彼らは、高いGPAを持つことは、長期的に強い職場のパフォーマンスを持つことと強く相関していないことを発見しました。その発見の後、彼らはGPAにそれほど強い重点を置くのをやめました。

では、何が必要ですか?

基本的に、必要なのは、強力なコーディングと問題解決のスキル、CSの基礎を十分に理解していること、そして履歴書に表示する興味深いプロジェクトと経験だけです。

上で説明した6つの手順に従うと、これらすべてを構築できます。

待って、どうすれば良い履歴書を書くことができますか?

必要に応じて、私がGoogleに適用した履歴書をテンプレートとして使用できます。

  • こちらがPDF版です。
  • これがWord用のものです。
  • これがPages用のものです。

これは、私がソフトウェアエンジニアとしてGoogleに就職するために使用した実際の履歴書です。本当に1ページだったはずなので、履歴書が長すぎたと思います。それでも、出発点として自由に使用してください。

履歴書を書くための追加のリソース

  • CareerCupには、このトピックに関する優れた概要があります。
  • Twitterのソフトウェアエンジニアである私の友人のZhiaHwa Chongは、ここにそれについての素晴らしい記事を持っています。

さて、頑張って、この記事を読んでくれてありがとう!

ご不明な点がございましたら、下のコメントまたはInstagramまたはTwitter(両方とも@ykdojo)でお知らせください。