fly

我將「一隻鳥接著一隻鳥」這幾個字寫在黃色的便利貼紙上,慎重地貼在電腦螢幕旁,座右銘一般的姿態。或許說座右銘稍微言重了一些,但這古怪的幾個字確實支持我度過論文寫作舉步維艱的第一階段。

〈寫給你的信:一隻鳥接著一隻鳥〉

見面

我和 Google 的緣份實在很奇妙。記得第一次的實習面試,就是在台北的 Google。當時懵懂的我,用著一張簡陋的履歷表,和不成熟的程式技術,竟然能闖進 Google 實習,實在太過幸運。而這樣的幸運,想必又對我的未來產生不少助益。

多年後,就在我還不太確定自己的未來該往哪裡走的時候,又突然在信裡接到了來自 Google 的信,問說有沒有興趣申請正職的職位。

當時想,這對我來說當然是一個極好的機會。一直覺得 Google 是個很夢幻的公司呢。有那麼多神奇又對社會可能有重大貢獻的專案。真希望自己也可以成為改變世界的力量。就算身為一個小螺絲釘沒辦法做刺激的專案,也完全願意幫忙賺錢,好讓大家繼續追求更多神奇的偉大計畫。

只是只是,當下的我從未堅定決心要在國外工作,所以實際上對面試也無太多準備,連 LeetCode 也沒碰過,這下怎麼辦才好呢?約好面試時間後就努力刷題,希望能有好結果。

只是這次終究沒有得到幸運女神的眷顧,on-site 面試表現差的連自己也覺得丟臉。之後 recruiter 熱心的幫我又多加了兩輪面試,說是如果表現的更好或許還有機會。但心中實在已無法抱持希望。

勇氣

發現自己通過面試的機會太過渺小之後。忍不住一鼓作氣的投了不同公司的許多履歷。仔細想想,勇氣真的是限制自我的最大難關,若不是因為陷入這種情勢,或許永遠也沒有動力向前也說不定。

想起先前申請實習時曾和 Dropbox 聯繫過。他其實是我私底下很喜歡的公司,雖然很多前輩覺得他做的東西太競爭,前景不看好。可是感覺裡面有各種高手可以學到很多。而且聽聞某個很強大的大大也去了這家公司,感覺讓人十分憧憬。

只是有個隱憂是這家雖然在海外有分部,但好像沒有工程師職位。這樣對於沒有簽證可用的人來說,該怎麼辦才好呢?

好不容易聯絡上 recruiter,說確實如果沒拿到簽證可能會有問題,可是因為一直在迅速擴張,所以說不定到時已經有海外工程部了也說不定。如果願意的話可以繼續招募流程。

我猶豫了一下就說要考慮一下,然後就一直不敢回信。後來拖了太久也沒臉回信了。直到現在還是感到無限懊悔。

貴人

若不是因為之前有過實習的經驗,或許就算海投履歷也不會有人發覺。剛開始投 Facebook 的時候也是無聲卡,毫無回應。不過後來幸運的遇到了傳說中的大大的幫助,進行了內推。終於可以電話面試。

不過可能因為我默默無名的關係,不像先前版上許多人說的一樣進行迅速,反而常被說現在是忙碌的季節,所以約面試多有延宕,最後才終於約到了。

好不容易開始面試,本來想用 Python 卻被說難道不能用更 serious 的語言嗎,讓我有點挫折。原來面試官是想考 class 的運用,於是最後就改用 C++。

等了數天才通知要第二次電面,看到大家的分享文才知道這通常表示無法確定是否能進 onsite,否則通常只要一次電面即可。而第二次電面則很不幸的遇到很難聽懂的腔調,本來想說死定了,幸好最後還是勉強理解題目內容。解了好久才好不容易解完,但感覺也不是解得很好。

事後才發現兩次面試的題目根本有八九成出現在 LeetCode,對於沒有好好刷完後悔萬千。最後連 on-site 也進不去。

長工時的掙扎

剛開始和 Facebook 面試時雖然抱有期待,但其實也有些猶豫。畢竟,聽說臉書也算的上是工時相對可以很長的公司。

真的,如果說有什麼是讓人猶豫是否該待在資訊產業的掙扎,對我來說,最巨大的,大概就是長工時的掙扎吧。

不像板上的大大一樣可以兩周就把 LeetCode 刷完,雖然我一直有繼續解題,但從一開始面試一直到最後旅程結束的過程裡,我終究沒有把所有題目刷完。感覺這也跟我的個性有關吧,一直以來不擅長短時間衝刺,而是把戰線拉長。記得小時候拿了可以打人的 C++ 磚頭書,雖然一直看不完,但我每天看個幾頁,過了一年也看的差不多了。

在學校也是這樣,總是作業一公佈就馬上開始寫,雖然一天只花幾小時寫每科的作業,但戰線一拉長,倒也創下四年從未看日出卻同時維持高分的紀錄。

雖然看似是可敬的結果,然而實際上因為這樣我讀 CS 時常覺得自己和大家格格不入。是的,就像〈為什麼工程師總是喜歡在三更半夜寫程式?〉寫的,感覺大家對這種短期衝刺、熬夜趕場的生活十分習慣,可是我卻無法習慣。在此同時,也深深懼怕著工作環境真的會像版友說的「科技版上又充斥著各種爆肝,低薪資」

每每當同學同事們為了精益求精不斷的投入時間加班時,都會對於只在乎工時太長而無法找到熱情的自己感到自卑。真的沒信心可以像版友說的,因為找到熱情就能習慣

夜深人靜時也會遲疑,是否乾脆和同學一樣用我的考試能力去考公職就好,然後下班再來寫寫自己喜歡的 open source 程式。反正算一算如果不成家、節省一點,也不需要賺太多錢。真的不需要花太多時間待在職場裡,能退休就快退休,歸隱山林寫自己的程式就好。

可是偶爾思考社會的各種變遷,讓我覺得好不甘心啊。好想用自己的專業做一點貢獻。可是若要那樣,一定要不斷變強,變得很強才行。若是亂找一個輕鬆的工作,可能就會花很多時間在無法變強的事情上了。而如果沒有錢,很多事情也綁手綁腳的啊。

知識

如果不是因為網路,當初根本也不知道可以申請海外實習。而在搜尋各種公司的過程裡,也意外開始用起 Quora 這個網站來獲取各界的消息。

看著他們的員工頁面,發現似乎也有來自台灣的成員。於是便想說也投投看履歷。這家公司連海外分部都沒有,一旦簽證沒中,就完全沒戲唱了。本來想說絕對不會理我的。想不到竟然回應了。有了之前被恐懼限制的經驗,這次我決定不逃避,繼續前進。

一開始先過了兩場的電話面試,題目感覺其實有點困難,不過還好都僥倖過關。進了 on-site 後比較特別的是機票要自己訂,事後才會補助。不像其他家是直接幫忙定機票。

雖然我之前就因為面試坐過飛機,但這還真的是我第一次自己訂機票呀。加上當時在等待另一家的結果,一直想說要把兩個排在一起,但又想盡可能減少待在國外的時間以減少可能的旅館花費,所以就一直不敢訂機票,但又因為沒有經驗不知會不會到時訂不到機票。

這時總覺得很挫折,其他人若是都走到面試這一步才不會像我格局那麼小在擔心機票問題呢。其他還有像是到了當地就開始擔心小費怎麼給等問題。幸好最後都一一通過了。

最後的 onsite 進行了各種 design problems 和 coding,除此之外還有個特別的 practical 面試。雖然覺得自己表現的還可以,最後還是被拒了,感覺是實力還不夠吧。

出國留學的掙扎

理論上如果出國留學就不會有簽證問題了,可是為什麼無法下定決心出國呢?我想終究是因為我有那種只有很有錢才能出國的迷思吧。

自己生性簡樸,花費控制的很少,吃飯也覺得只是為了生存。曾經算過如果要維持我的生命一輩子需要多少錢,然後再乘個數倍當作安全的數字。然後問問實際出國讀碩士的人一年花了多少錢,發現那個數字實在已經佔了安全數字的很大比例,以至於如果我手上有那種錢又可以回老家不付房租的話我完全可以「不安全的退休」,然後整天寫 open source 就好了。

所以那種「雖然學費很貴但很快就能賺回來」的完全金錢考量的說詞根本無法說動我。雖然出國也許還有熱血變強改變世界等等原因,但很現實的是,這些看似熱血的原因終究無法說服自己賭下身家一博。

即使存在著拿獎學金念 PhD 這樣的選項,終究還是因為無法釐清自己對學術的熱情而躊躇不前。

如果要往研究之路邁進,就很多意義上看來,對我來說都是一種轉職。我的身旁也沒有人會替我發問釐清疑惑。若要真正釐清自己的想法恐怕還得好多年,也還得花好多心力補上研究能力。假設我未來如果真的想不開去讀 PhD 的話,其實恐怕不知道是多久以後的事了

〈關於所謂的出國夢〉

最後的面試

和 Google 最後兩次面試相較之下順利不少,其中一位面試官還給我不少鼓勵呢。只是在 recruiter 幫我把結果送往 hiring committee 後,回想這趟旅程,覺得自己的表現終究極不可能可以拿到 offer。而最後預感果然還是成真了,收到了拒絕信。

而就在亂投履歷的當下,意外的發現了 Jane Street 這家公司。他真的很特別,其實我原本完全不知道他的存在。基本上是在做程式交易的公司,不過是業界少數完全使用函數式語言 OCaml 撰寫程式的公司。

在 Quora 網站看到一些不錯的消息,於是就想說投投看。回想起大學年代曾經想過要學 Haskell,但只是初嘗輒止,如今實在悔不當初。

由於自己根本對函數式語言的了解不深,所以原本想說根本不可能上,想不到還進了 on-site。記得面試前夕,我在旅館裡頭踱步,不斷想著自己還真是笨蛋,明明不可能上,還來面試做什麼。真想撞牆。

回來以後忐忑不安的等待了許久,想不到結果卻是出乎意料之外。竟然是,無法決定,所以再 on-site 一次。

於是乎,就真的又訂了一次機票,又 on-site 一次。猶記得那時在旅館裡看著窗外飄落的雪,才突然驚覺這似乎是我這輩子第一次親身看到下雪呢。或許只是這樣也值得了。

至此包含電話面試,恐怕已超過十幾場以上。由於面試題目都是 design problems 或者帶有函數式的風味,所以跟一般 LeetCode 網站上完全不同,幾乎都是沒有看過類似題目的全新問題。對我來說真的很有挑戰性。

有趣的是好多面試官都對他們公司很有熱情,甚至不乏放棄 Google 選擇 Jane Street 的人。他們說,他們不像某些產品導向的公司為了趕 deadline 要用各種奇計淫巧迅速做出來。而可以專心的慢慢把東西做好,工時也比較正常。

此外,員工都很聰明,可以學到很多。又因為是小公司所以不太會有辦公室問題。而小道消息也指出,除了薪資跟一線公司相比很優渥外,分紅獎金據說有機會跟本薪達到相同等級。

感覺就是符合我的各種幻想啊。到此我已經有種被洗腦的感覺,覺得超想去的了。可惜最後還是被拒了。

突破格局的掙扎

「反正我又沒出國唸書,英文本來就不可能好。」

「人肉翻牆本來就只有神人辦得到,像我程式小弱弱怎麼可能。」

「反正沒有錢本來就不可能留學。」

深刻的體會到,類似的想法雖然或許有一些真實性,如果是政府或是社會運動者,當然要想辦法弭平資源的差距。可是對於個人而言,其實這種想法不過只是劃地自限的陷阱。

最終,限制自己的,不過是自己的想法。

面試的過程,在不斷的自我懷疑中,我被迫不斷重新思考想出國的理由。我的內心其實有多個互相衝突的欲望。

一方面,其實我只想輕鬆度日,甚至是當個尼特族整天寫 open source 也好。其實,實在太習慣這塊土地,對我而言出國肯定只是更累而已。但另一方面,又有莫名的想變強改變世界的熱情。完美的工作最好可以兼顧所有想法吧,可是最終還是沒有實力找到這種工作。

「如果你對出國工作這件事會猶豫不決一堆顧慮的話,那我勸你還是打消這念頭」

「決心不夠、毅力不夠、顧慮一堆的人絕對撐不了多久」

https://www.ptt.cc/bbs/Oversea_Job/M.1411012391.A.557.html

每次看到有大大分享心得時,總是可以看到令人動容努力。這趟旅途真的讓我不斷反省,或許我真的決心不夠吧。

但也真的覺得,雖然失敗了,這些曾經還是很有價值。從一開始面試 Google 手汗直流超緊張,也不知道在說些什麼。到最後已經可以神色自若,甚至享受面試了。我想我還是學到了一些。

至於未來,也不知道要往哪裡去,不過無所謂的,拉長戰線,十年之後或許就能從程式小弱弱變成程式小精靈了!就像人家說的, Teach Yourself Programming in Ten Years。

結語

你要出走,才能回家。

風神之舞

我希望有一天我是帶著自己的所學回來台灣,讓台灣可以變得更好的。我不喜歡把自己說得多偉大,但是我之所以說出來,是因為我知道有很多人其實也是這樣想。

〈寫給新鮮人的出國留學概要〉

等你的『年輕』結束以後,你也應該擁有一些資源與方向,回來貢獻你鍾愛的台灣。對我來說,那個地方會是台南。

〈如果你喜歡台灣,回來,但是不要一直待在這裏〉

「台灣是我的家,而回家是不需要理由的。」

【李琳山教授,一個不靠腰的世代】

「我常常想,為什麼台灣的孩子要那樣長大,而德國的孩子可以這樣長大?我要回去,我要回台灣去做教育改革!」

– 《成長戰爭》

或許因為我的求職歷程實在太長了,以至於旅途結束後過了段時間又收到 Google 寄來的信,問說過了那麼久想不想再面試看看。不過因為覺得自己一直在耍廢,也不再有心力準備,覺得就算面試也不會過,所以就拒絕了。

這時的我才發現,自己恐怕再也鼓不起勇氣冒著遣返風險,直白的向入境官說自己是來面試的了。出國的夢終究在實現前就已破碎。

回想曾經,一切真的就像是夢一般。雖然已經走不到終點,但還是可以紀錄這段旅程,或許總會在未來對某個人產生幫助的吧。希望有人看了我這篇心得後,稍微增加了一些出走的勇氣。

雖然也知道我的所作所為大概真的就像抽樂透一樣。但謹記著,我們不是一個人啊。一個人做不到,那就兩個人。在許多嘗試的人當中,或許就有一些成功了。而在出國的許多人當中,或許就有一些人帶著成長過的自己回到這個小島開創新的事業。雖然這裡頭大部分的努力都走不到終點,但或許就有一個人成功了,改變整個小島的科技面貌。

是啊,只要夠多人去抽,

那麼就會有逼近 100% 的機率,

我們的小島,作為一個整體,將會拿到改變歷史的門票。

巧遇此文的你,如果心懷夢想,「趕 .快 .去 . 投 . 履 . 歷 . 吧」。

請為我們寫下未完的故事。