我是如何在還沒畢業就錄取並進入到 Amazon 工作

2 minute read


很多人好奇我是如何進到 Amazon 工作,並且在還沒畢業前就拿到 offer。今年 (2021) 是我加入 Amazon 這家公司的第三年 (把當 Intern 跟當兵的時間也算進去的話 XD),所以一次把故事寫在這裡。

我是如何在還沒畢業就錄取並進入到 Amazon 工作
我是如何在還沒畢業就錄取並進入到 Amazon 工作

人生第一份履歷

2016 年底,大三,我投遞了人生第一份履歷。其實在前面我做了一些研究,當時的心態是希望能夠跳脫校園舒適的環境,並至少在畢業前有一些實務的經驗 (感受職場的殘酷),並且實際了解產業的運作。(結果畢業了更想回去學校唸書)

當時我應徵了下列的職缺:

  • Software Development Intern (The News Lens)
  • Cloud Support Engineer Intern (Amazon Web Services)

為什麼是這兩個,第一家原因,是因為當時也在媒體紛亂的時代,使得我對於獨立媒體產業很有興趣;並且創辦人 Joey Chung 當時也有來到學校分享 (不過那個講座超少人參加)。想要成為改變媒體亂象的念頭深植我心,加上更了解企業運作跟文化後,我才知道原來 The News Lens 是一家很有個性的新創公司,當時打死都不接受商業媒體贊助,竟然還能活得這麼好,因此一直深感在這樣的公司裡面工作應該能學習到很多。

點燃實際跨出找實習的契機,當時我在講座對 Joey Chung 問了一個問題 (具體內容我忘記了),大意就是不太確定如何培養實務經驗跟具備企業所需要的能力,我獲得簡潔有力的回答:實際去 Internship

他也說到:

Harvard 在你一開始入學時就將所有 tutions / fees 各項雜支計算給你,因此你必須很清楚你來學校的目的,並且努力善用你擁有的資源。

(現在想想真的是廢話,但當時真的是沒有那麼宏觀的格局,所以仍然十分感激這樣寶貴的建議)

加上學校對於畢業設立需要到業界實習的門檻 (真是優良的傳統),這要求了每個學生在畢業前一定要去業界實習,並且透過老闆給的考核給予學分。雖然我當時找的時間點有點早 (同學們都還在煩惱中午吃什麼),再加上大三又是課業最沈重的一年,雖然有點累,但想想仍其實利大於弊。因此待一切時機成熟,留意到有實習的職缺後,一個不猶豫有機會就投遞試試。

我現在努力回想只記得去 The News Lens 面試軟體開發實習生時,問了幾個問題:

  • 過去用 PHP 做了哪些專案?
  • 你解決過最難的技術問題是什麼,你如何解決?

我當時臨時只想到我在寫 PHP 專案時為了要設計選單式目錄,做了一些研究並想了怎麼規劃資料表,最後用遞迴的方式列舉出來覺得很酷。

總之最後,獲得感謝信一封,我很慶幸 The News Lens 當時沒錄取我,讓我連猶豫的機會都沒有。

差點錯過的機會

身為一名在資訊圈打混的人,多少都知道 Amazon Web Services (AWS) 就是一個聽起來就很炫砲的技術,會用 AWS 就像是站在技術之巔一樣。

當時,AWS 第一次在台灣開啟校園招聘計劃,我也有注意到 AWS 在學校發布對應的招聘訊息。我看了招聘訊息就真的是超級熱血沸騰,即使實習職缺的說明會地點在台大,我都覺得想去試試。

當時十分想去,但遺憾的是,時間點跟學校的課程衝突。而且,最重要的,招聘資訊上也沒有可以投履歷的窗口 (Email) !!!

避免你覺得我在唬爛,我還有留當時招聘的文宣 (可見當時有多氣憤,可…可惡):

AWS 第一次校園招聘與差點錯過的機會
AWS 第一次校園招聘與差點錯過的機會

結果就以為這麼沒了。

(是不是看完,沒有看到 Email?我還在想會不會藏第一題測驗問題,在圖片藏什麼解碼問題,還試著用純文字編輯器打開看看有沒有什麼有趣的地方。)

陰錯陽差的面試

結果好巧不巧,當時招聘的團隊裡,有畢業的 Eefy 學長,幾天後在 Facebook 放了相同的招聘訊息。於是我二話不說,找了機會搭上線,看能不能投遞履歷。學長也很熱心的幫我把履歷轉給 HR (真的十分感激!)。

約莫 1-2 週,我就收到一封信,裡面包涵了幾個線上測驗的問題。題目類型是情境題,給了一組 IAM 帳戶 (AWS 的帳戶) 要你登入進去 AWS Console 搭建環境。但說實話當時我連 AWS 的帳號都沒有,那次是我第一次使用 AWS 服務,更別提什麼 VPC。

所以我也是在期中考那週,花幾個小時,研究並把環境搭建起來,並且使用我人生第一個 Load Balancer (ELB)。不過由於過去就有管理過機器,使用過像是 Linode、虛擬主機,設定 Linux,所以對我來說學習的門檻並不會很高。還記得當時秉持著接觸新知的心情在研究文件上的資料,反覆檢查自己的設定符不符合題目設計的要求,搞得比自己的期中考還緊張。

再過了幾個星期,我就收到 HR 邀請安排面試的電話跟信件 (還是從北京發來的)!當時掛完電話收到 Email,就得知我即將迎來至少三關的面試。當時還很猶豫要怎麼穿面試服裝,最後還特地穿了個白襯衫加皮鞋。

因為實在是太興奮 (OMG 我要在世界前幾大的公司面試啊!),提早了快 30 分鐘到。那時候 Amazon 剛在台灣進駐,連辦公室都沒有,所以那時還是在共享辦公室安排面試。我還記得我到指定地點,還以為自己被詐騙 (因為混著不同公司的人,沒有人知道 Amazon 的位置在哪),直搗前台獲得引導才放下心中的忐忑。

三關的面試,其中包含了兩關的與 Technical Interviewer 的技術面試,以及一關 Hiring Manager 的面試。

技術面試問了很多 Linux 及網路相關的問題,主要目的都是測試對於這些知識的掌握程度。面試問題,說實話真的是很硬 (考官臉也很硬)。當時 Linux 的考官 (也是我現在的老闆),剛見到面的氣場就完全鎮壓,面試從來不告訴你對還是不對,就是一直瘋狂猛問。劈頭開場就快把 Linux 運作原理挖透了 (我的知識也快被掏空)。

網路相關的問題,則問了很多基本網路概論,聊著聊著還分享了自己過去學習這些知識點的經歷、學習維運系統會做的哪些事情、自己當時系統因為用的套件有漏洞被 Hack 中間學到了哪些事情 (怎麼發現被 inject javascript、被放 DoS 的 PHP 程式還研究了一下樣本… etc),當時大概就是說著說著眼裡都可以閃爍著光芒的那種程度。當時就只有一種想法,很慶幸能有機會與前輩交流,然後感受到在外商工作的人英文真的是很會,知道自己還有什麼樣的差距。

面試到後面,主管進來就說前面的 Interviewer 評價給得還不錯,有打算想先給我個口頭 offer。所以你要說我僥倖錄取,也許吧,就這麼剛好能多少回答面試官的問題,上至基本開發到 Linux、網路,下聊到電腦視覺。技術問題真的是被電歪,小緊張是會的,但是當時心情是很興奮且雀躍的,因為又感覺自己進步,並且又了解更多東西。

我還記得當時面試完我的腎上腺素飆高,打電話給我爸說我得到口頭 offer,結果還被我爸潑了冷水:「人家只是講講啦!啊你這樣會不會很忙,我是覺得你不用去實習啦。」真是幸虧我一直都很叛逆不怎麼聽話。

真的收到正式 offer 也差不多隔了快一個月,當時打開信看到一堆英文加上很多 statements (完全沒有中文),覺得非常新鮮 (結果現在英文文件已經看到爛且習慣了,但第一次的感覺還記憶猶新),而且面試過感覺每個人都很強,還是難掩說不出的興奮。

我的天!我真的獲得進入國際大公司工作的機會!

到正式入職當天 (我第一天報到還沒出門就超嗨),Amazon 就馬上有了新的辦公室 (真的是決策很快)。我是第一批錄取的實習生,第一天到辦公室報到時,我以為會有一批實習生一起工作,並且未來的日子裡,將會跟電影情節一樣,有個很快樂美好的 Party 跟夥伴 (完全被 The Internship 誤導)。

結果就是,全部都是幻想 ….

後來才知道,當時邀請面試前,就先刷了一批人 (AWS 環境都搭不起來),技術面試又再刷了一堆人。結果我進去之後,才發現原來當時我同事們竟然拿正職的考題來問我 (難怪一堆人被電歪),只有我跟另一位台大的學長 William 倖存 (當時全台灣 Intern 就只有我們,這樣聽起來好像很厲害)。

於是領了電腦、螢幕,有了專屬的座位,就開始了我在 Amazon 實習生的歷程。

有時候就是一個機會,你無法預測現在做的決定,在未來是否仍是最好的選擇,但你永遠有權決定,是不是要把握這樣的機會。

轉成正職

我的前主管是非常厲害的一個人,並且用著很不一樣管理思維在看待實習生計畫。他認為實習生最大的任務,除了一起加入專案的開發幫助改善團隊的生產力外,其餘就是學習、甚至是在公司提供的資源下拿到 AWS Certificates。並且試著從團隊的目標中,在幫助實習生成長的過程裡,找到交集的可能。

我覺得在我實習的日子裡,最感激 Amazon 有著很成熟的師徒制度 (Mentor and Mentee)、一堆優秀的同事,並且有著一輩子學習不完的訓練資源幫助你成長,所以你總能找到人為你提供建議,並向他們學習。

我當時最喜歡的電影是 The intern 及 The Internship。一個是年過 80 的退休人士在新興網路公司工作的歷程,而另外一個則是兩位中年大叔轉職去 Google 當實習生的電影。這兩部電影著實給我很大的啟發,我有時會無限回放,想著哪些原則是可以套用在自己身上,並不斷優化。我真的很感謝這兩部電影的製作團隊,這麼好的作品,真的都成為我學習人生課題一部分的重要素材。

也因為這樣,當實習生的日子,我不怕丟臉,我的心態就是努力做、努力學習,像個海綿一樣。雖然大三是課業繁重的一年,但當時我在週一到週五排課,想辦法空出一個全天,以及週六週日其中一天時間到辦公室工作。由於那段時間真的是沒有休息日,其實還有點黑暗,但我常常自主在辦公室裡讀著文件、學習材料,常常一待就快 12 個小時,跟著前輩討論技術問題。每次覺得又獲得更多知識,這個過程是有趣的。

我在加入之後,其實也從不把自己當實習生看。我一直認為我也需要有能力跟前輩們一樣解決困難的問題,所以也主動找機會觀察團隊目前在進行的工作是什麼,幫助其他前輩們回答客戶問題、一起解決現實中客戶他們所遭遇的技術挑戰。也記得我以實習生的身份獲得客戶給的正面評價那種快樂 (估計客戶不知道是一個實習生回覆的),當然也遭遇過很棘手的狀況、被其他團隊的同事洗臉,但都促使我有能力從這些過程學習更多。

在這短短一年內,我也推進自己通過AWS 五張主要的核心認證。當時在台灣其實並沒有那麼多人獲得,在別的部門裡,都知道有個不太正常的實習生竟然在一年內全部都拿到 (變相成為部門主管們 Push 績效的故事)。

實習就這麼來到快一年的時間,我的學分也在大四也早就修滿。所以在整個大四,就直接跟系上申請校外實習學分,讓我能夠專心的在 Amazon 工作。基於政策,Amazon 是不會有實習那麼久的情況。即使如此,我的前主管很努力說服很多團隊,讓我仍繼續待在崗位上,努力往下一個階段邁進 (因為我還沒有畢業),實在是很感激!中間當然也在「要不要考研究所」、「出國留學」、「轉換機會」之間掙扎,但在綜觀考慮下,還是決定進到轉正式職位的過程,於是,又開啟另一波準備面試的流程。

Amazon 實習生轉成正職的階段,並不會因為已經過去錄取,就過過水讓你轉成正職。仍然需要經過一定的方式進行考核。所以在我的面試中,同樣又安排了三關:技術面試、HR、Hiring manager。

我的技術面試是西雅圖的同事幫我面的,又是另外一個境界的考題。考了很多 AWS 實務上、設計系統架構、執行部署的策略、細至解釋容器網路的行為等等 …..;HR 則了解人格特質、表明薪水談判的價碼跟期望待遇;Hiring Manager 則是我的前主管再一次的用更複雜的 behavior question 了解我的答案。

總體而言,並不會因為自己已經是實習生就比較輕鬆。但相對而言,因為經歷一年的大風大浪跟磨練,比起剛步入職場的菜味,相比下,能用更平常的心態面對這些問題。

一般剛畢業的學生,由於與業界所需求的能力仍有一段差距,所以能獲得的 offer 通常都是 Cloud Support Associate,也就是助理職位。然而,在我的面試官們綜觀討論結果後、包含過去在實習上的表現、有能力解決企業客戶遭遇的問題,前主管非常肯定我的績效、HR 很驚訝一個實習生竟然可以一年內全拿 5 個核心認證 (還與績效無關)、技術考官也覺得我的技術能力不輸一般在外面工作 3-5 年的工程師,所以最終決定以 Engineer (正式工程師) 給予我 offer,開啟我人生一個新篇章。

聽到這樣的好消息,真的是放下心中的大石頭,就準備畢業當天上工,直到接兵單中間再去服役。

在 Seattle, US 參加 New Hire Training 換到的新 Badge
在 Seattle, US 參加 New Hire Training 換到的新 Badge。順帶一提,Amazon 的 Badge 有個有趣的小巧思可以幫助你識別這個人到底是不是老屁股

成長心態

在投遞這份工作之前,我並不認為自己很有可能會上,當時只是想著:「希望這是一個成長的機會,即使失敗也是一個很寶貴的經驗。」直到跨出那一步嘗試後,才發現其實自己並沒有想像的糟。

我回顧這些日子以來,我不敢說自己是最優秀的,但很努力是肯定的。在所有同學還不知道畢業後要幹什麼之前,我願意放棄放任時間流逝的機會,即使當時實習沒有學分,還是願意犧牲自己的假日,跨出那一步去學習我有興趣的知識。

很多人無法理解為什麼我可以錄取這麼大的一間公司,我只能說,其實這得多虧前面長期做了很多累積,在很多人不理解的環境下,仍堅持並持續學習。

我必須承認,真實世界 80% 的問題都不是學校會教的 (包含我自己面試遇到的問題也是),學校只會告訴你課本上的答案,並且只是擔任領路人的角色,帶著你入門。我在學校學習的計算機概論、作業系統,考的也是一堆專業術語跟名詞 (e.g. 物件導向三大特性:encapsulation, polymorphism, inheritance / 作業系統怎麼處理 I/O 跟中斷 … ),而且我當時考題還是英文填空,拼錯就沒分 (管你是不是英文母語人士)。

這種評分機制下,我作業系統跟計算機概論成績還只是 B~C (大概只是剛好及格的程度),你不見得能夠知道會這些東西有什麼用,但我很清楚背名詞術語跟其用途,只是用來拿分的工具。如果你問我 X 語言怎麼寫出封裝、設定繼承衍生物件,我可以直接給你或是找到對應程式碼的範例。亦或是告訴你我在 Linux 看到哪些指標,具體可以知道現在系統 I/O 處於瓶頸影響到應用程式效能。

很大一部分都是我在過去自己學習 Linux、操作實務上所累積的知識 (我從高中在 Linode 開啟了第一個虛擬機器並還在管理系統)。網路相關的知識也是過去經歷競賽,學習 CCNA 強化 Layer 1-3 的網路知識,並且在系統維運上也有對應的經驗 (雖然都是小規模)。我對於學習資訊技術本身就有濃厚的興趣,會在網路上搜尋開放式課程,更是把讀 O’Relly 系列的書視為聖經 (不得不說那個質量跟很多台灣出版商發佈的電腦書籍差太多了)。

在我實習面試過程的問題,大部分都是依照過去經驗回答,在當初實習生的面試前,花一大部分時間讀鳥哥複習 Linux 的知識,但是學校不會把鳥哥寫的書列為參考書單,講講實務上可能會遭遇的問題 (至少我當時是這樣,現在我相信很多老師正努力改革!)。而一直沿用在 1983 年出版第一版、已經出版 20 年以上的 Operating Systen Concepts (恐龍書) 投影片講到退休,所以同學們上完這些課,感想大概就是你聽過但不知道這個東西能做什麼。

這是台灣教育最有趣的一大特色,我有自信現有的教育制度,絕對能訓練出會考試的學生,但無法培養能夠解決未知問題的學生。所以我十分鼓勵你對有興趣的主題,透過實際遭遇的問題,找找線上資源充實你的求知慾。

現在很多很棒的線上學習資源,圖書館也有非常多的好書。我相信學習有很多途徑,你也能挖掘到適合你的渠道。

在這短短幾年,我見識到了很多優秀同事工作的方式,並且從中學習好的部分,學習深入研究及思考問題,幫助自己不斷跨出舒適圈。我一直感受到心態其實也是影響事情結果很大的一項因素。在大部分的情況下,很多人總覺得自己不可能錄取,於是就選擇放棄行動且學習跨出那一步 (定型心態)。但學習以成長心態看待事情,往往可以發掘很多成長的機會,並且努力思考及行動,讓自己更貼近自己理想中的自己。

當初畢業前我總是心心念念覺得自己應該成為一名軟體開發工程師,但在接觸這項工作內容後,我挖掘到了另一個面向發展的可能性。但當時很多人質疑我選擇這份職位,是否是一個正確的決定?

我的前主管告訴我,他過去也從一名研究生、決定工作、後覺再到英國全球前幾名的學校完成 Geography 博士學位 (中間再決定多修一年 Computer Science)、再到創業管理團隊,最後選擇到 Amazon 接下主管職位。每一個選擇總是有捨及有得,因此,你能做的,就是將目前可能的選擇列出來,然後選擇一個你比較滿意的,你的心中,自然會有答案。

總結

希望我的故事能帶給閱讀到這邊的你一些啟發。我始終相信人生是一段長而持續的累積,如果你正為了在某個人生的分岔點感到徬徨,請記得,如果五年、十年後往回來看,這不過是人生旅途的一部分,並且,是最有趣的部分。

往往我們總無法選擇最完美的結果,但我們能夠選擇當下最好的決定,並且努力思考及行動。正是因為這樣的過程,才學習如何強大、感受命運帶來的驚喜及餽贈、認知自己的使命,並明白自己要走的方向。

看更多系列文章

Leave a comment