求職丨我是如何成為了谷歌的軟件工程師

Google 工程師 面試 Linkedin 大學 人人都是產品經理 2018-11-24

前谷歌軟件工程師YK Sugi分享了他是如何通過六個步驟,順利開啟了自己的數據科學職業生涯。

求職丨我是如何成為了谷歌的軟件工程師

大家好,有很多人問我如何獲得谷歌的軟件工程師工作,在本文中我將分享我是怎麼做的。

用相同的方法,你也可以在谷歌、亞馬遜、微軟、Facebook等頂尖科技公司獲得軟件工程師的工作。

在以上公司順利求職共需要6個步驟,此外我還將討論以下內容:

  • 首先該如何學習編程
  • 學會編程後要學什麼
  • 如何獲得第一份編程工作或實習機會
  • 軟件工程師工作求職的最佳方式
  • 如何充分準備編程面試
  • 是否要獲得計算機科學學位?
  • 是否要畢業於頂尖大學?

好的,我們開始吧!

第1步:學習編程

這是成為軟件工程師所需的最低要求。

為此,我建議你使用Codecademy和freeCodeCamp等交互式網站。在這些網站上你可以學習大多數編程基礎知識,SoloLearn也是不錯的選擇。

之後,我會使用視頻教程來學習更深入的知識。我推薦YouTube,Pluralsight,Lynda.com和Udemy等網站。在這些網站上,你能夠找到以下主題的教程:

  • Web開發
  • 移動開發
  • 遊戲開發

取決於你的興趣。

但是等一下,我應該先學習哪種編程語言呢?

我的簡短回答是,選擇JavaScript或Python,但這實際上取決於你的興趣。我在之前的文章中有探討過這個問題。

第2步:做些個人項目

在學習了一些編程教程之後,你應該通過構建一些個人項目來練習學到的知識。

為此,你應該找到你感興趣的東西。

例如,如果你喜歡攝影,那麼你可以開發一個網站整理你所拍的照片。如果你對股票感興趣,那麼可以構建一個系統來分析股票圖表。如果你喜歡解決問題,那麼可以嘗試參加編程比賽。

當處理項目時,首先要儘可能靠自己完成。然後,如果遇到困難,可以使用在線或離線資源獲取其他人的幫助。例如,如果遇到與編程相關的問題,你可以在Stack Overflow對特定技術問題進行提問。

第3步:獲得第一個編程工作或實習

一旦完成了一些個人項目,你就有機會獲得第一份編程工作或實習機會。這樣在與頂級科技公司面談之前,你將有一些編程的經驗。

你完全有可能在一家頂級科技公司獲得第一份工作,但是這種機率比較小,你獲得的第一份工作更可能是在一家不那麼知名的公司。

**申請軟件工程師工作的最佳方式**

除了在網上投簡歷,你還有其他的方法可以嘗試。

這裡我建議你使用LinkedIn和人脈網絡。

在LinkedIn上,首先找到你感興趣的公司的招聘人員。然後,你可以問他們你是否有資格獲得你感興趣的職位。如果你的資格還不夠,你也應該問他們如何能更好地做準備。

還有Meetup這種人脈網絡的網站,你可以直接與當地公司的工程師和招聘人員進行交流。

這還不是全部。

LinkedIn這種人脈網站對於中小型公司的職位很適用。但是,對於想應聘谷歌和Facebook等大型公司而言,效果就不那麼好了。

對於這些大公司,我建議結合以下三種方法:

  1. 參加你附近大學舉辦招聘會。
  2. 通過在其中一家公司工作朋友的推薦。
  3. 網上投簡歷。

結合這些方法能夠增加你獲得大型公司面試的機會。

對於大型公司,LinkedIn上大公司招聘人員收到的消息太多了,因此效果不太好。

第4步:學習數據結構和算法

谷歌和微軟等頂級科技公司在面試時,經常會問到關於數據結構和算法的問題。所以,如果你對這方面不太瞭解,那麼你應該學習。

針對這方面的基礎知識,我推薦我YouTube頻道的數據結構和算法系列視頻。

書籍:

  • 《算法設計手冊》 (The Algorithm Design Manual) 作者Skiena
  • 《算法》Algorithms 作者 Robert Sedgewick

第5步:準備編程面試

谷歌和微軟等公司的編程面試很難,但可以有針對性的進行準備。

一旦你對數據結構和算法有了深入瞭解,我就會推薦以下三種資源用於練習:

  • Leetcode——練習編程面試問題的互動平臺。
  • 《搞定編程面試》(Cracking the Coding Interview)——關於編程面試的熱門書籍。
  • 每日編程問題(Daily Coding Problem) ——每天給你提供一個編程問題的郵件列表。

在自己練習幾周之後,你可以開始進行模擬面試。

**怎麼做模擬面試**

與你的朋友一起練習,從我以上提到的資源中選問題互相提問。

解答每個問題,並對你的解決方案進行解釋。

在練習時,除了面試者還要充當面試官的角色,從而揣摩面試官的想法。

進行約20次模擬面試,之後你對實際面試將有一定把握。

第6步:反覆嘗試

使用我以上提到的三種方法應聘頂級科技公司:

  • 招聘活動/招聘會
  • 朋友推薦
  • 網上求職

如果第一次沒有成功,請不要洩氣。在找到心儀的工作前必然會經歷一些失敗。

在我成為谷歌的軟件工程師之前,我曾嘗試了五次。

總結:

  • 第1步:學習編碼
  • 第2步:做些個人項目
  • 第3步:獲得第一個編程工作或實習
  • 第4步:學習數據結構和算法
  • 第5步:準備編程面試
  • 第6步:反覆嘗試

等等,真的那麼簡單嗎?

是的,但是完成這六個步驟需要大量的時間和精力。

其他問題

問題1:我需要獲得計算機科學學位嗎?

不用,但是擁有計算機科學學位有很大幫助。如果你參加一個完善的計算機科學課程,當中包含了步驟1,2,3和4的大部分內容(學習編程,做個人項目,獲得第一個編程工作或實習,以及學習數據結構和算法)。

如果沒有計算機科學學位,你需要自學當中許多內容。

要注意,即使擁有CS學位,獲得頂級科技公司的軟件工程師工作也需要付出很多努力。

問題2:我是否需要畢業於麻省理工學院,斯坦福大學,卡內基梅隆大學等頂尖大學?

同樣,並不需要。畢業於頂尖大學當然有些幫助,但這並不是必備條件。

谷歌人事業務部的高級副總裁Laszlo Bock也同意這一觀點。

在他的書《 Work Rules!》中提到,比起來自麻省理工學院等頂尖學校但表現平庸的學生,谷歌更青睞來自普通院校但表現優異的學生。

我認為這是有道理的,如果你很聰明且專注,那麼來自哪所學校並不重要。

問題3:我需要很高的GPA(績點)嗎?

不用。

較高的績點在面試中有一定優勢,但你擁有紮實的實踐經驗,且完成了有趣的項目更為重要。

事實上,根據《 Work Rules!》,谷歌過去常常注重面試者的績點。然而之後他們發現,較高的績點並不意味著出色的工作能力。因此谷歌不再強調面試者的績點。

問題4:那我需要什麼?

你所需要的是強大的編程能力和解決問題的能力,熟練掌握計算機科學的基礎知識,以及在簡歷中展示出完成的項目和具備的經驗。

根據我在文中提到的六個步驟,你就能做到。

問題5:怎麼能寫一篇好的簡歷呢?

你可以參考我在面試谷歌時用的簡歷。

求職丨我是如何成為了谷歌的軟件工程師求職丨我是如何成為了谷歌的軟件工程師

簡歷的篇幅最好控制在一頁,我的稍微有些長,但可以作為參考。

祝你好運!

原文作者:YK Sugi

編譯:Mika, CDA 數據分析師

本文由 @Mika 翻譯發佈於人人都是產品經理。未經許可,禁止轉載

相關推薦

推薦中...