[亞洲] 樸實無華的日本隱形冠軍(一)
人生第一次發長文,試試水溫。
試玩網誌版
https://vocus.cc/article/6195ffd2fd89780001cff507
-----------------------------------------------------------
日本一直以來都是臺灣人海外求職的一個選擇。不只是旅遊相當便利,就算要回臺灣,也
只花費不到幾個小時。職場的暗黑文化雖然時有耳聞,但也不乏思想較為現代的公司。
我的前公司就是在眾多傳統日商中,少數願意接受開放思想,而且盡力(即便緩慢)在變
化的公司。它對新鮮人來說起薪可以,既不操也不黑,卻幾乎沒人認識。
比起交戰守則,這篇更像是遊記。
我會談到我如何從零開始在日本找到一份軟體工程師的工作,想要找到一間穩定 + 不操
不黑的公司的人,這篇可能會適合你。
想要看如何在海外拿高薪成為人生勝利組的人則可以左轉。
如果有幸出續集,將會接續分享在東京工作生活了兩年半的零碎記憶,以及為何離開前公
司。
《Disclaimer》
任何好與壞都會照實呈現。但一切都是以我的個人觀點出發。不一定適用所有人。
請問你哪位
- 112 BS + CMU MS MechE
- 原本以為會做機構設計、數值模擬,想不到 CMU 把人都變成了軟體的形狀
於是跟著到處投履歷,畢業前共拿到美國三個 + 日本一個 offer
- 美國太多人談了,所以這裡談談日本
怎麼找到這家公司的
2018 年 7 月底,再 5 個月就要畢業,找工作找到焦頭爛額,萬念俱灰。曾經拿到的
offer 又被我拒絕了,著實是窮途末路。靈機一動,在 Linkedin 上順手一搜,找到了一
個來自臺灣的日本獵頭,於是丟了 Cold Message 主動詢問職缺。
當時已經過了日本求職季,開缺不多。僅有少數公司長期在找人。而我的前公司
Asprova Corp. 就是其一。
簡單介紹一下。
Asprova 的業務是販賣生產排程軟體,客戶是各大製造商。由於是買斷制的 standalone
software,商業模式很類似轉訂閱制以前的 Adobe 或是常見的工程軟體 Matlab/AutoCAD
。想當然爾,主要工作內容就是寫新功能、修 bug、測試、發更新版。
特別的是,Asprova 在這塊利基市場的市佔率是日本第一。海外以歐洲的業務拓展最為迅
速,中國其次。開發則是 100% 在日本總部。
創業二十幾年來幾乎沒有遇到強勁的對手,也因此「穩定」成了一項優點,同時也是我離
開的原因。
官網上的 Job Description 幾乎沒變,簡單翻譯一下,省下大家 Google 的時間
- 職位:開發工程師
- 職務內容:開發 Asprova APS
- 資格:一到二個月之內能夠理解 100 萬行以上的 C++ 原始碼,或者在競賽中曾取
得良好成績
- 國籍不拘,但入職之後需要學習日文,並以日文工作
最重要的待遇沒公開,但當時的數字是年薪 700 多萬日圓(本薪 + 分紅)。日幣真是難
懂,直接換算的話是美國新人的一半,可是跟 Line 福岡比差不了多少,試一下不吃虧,
對吧?(入職兩個月後漲到 8 位數,有續篇的話再說明發生了什麼事)
順帶一提,日本這個級距的年收,總稅率約 20%,實得(手取り) 80%。
(更:各路大神表示我少算了,實際稅額高於 20%)
さぁ,來面試吧
面試題目對板上各路大神來說完全不難,我寫出細節只是希望盡量還原時空背景,讓各位
可以體會我當時的心境。
一面 | 技術面試
如果人在日本,會在公司進行。而我約了線上面試,時長約 1.5 小時。前一小時是
LeetCode,最後半小時是基礎技術問答 + Q&A 時間。
由於我完全不會日文,面試採英文進行。面試官是個新加坡人,難度是 LeetCode Easy。
哈!我已經面過好幾家,Easy 等級的題目秒殺吧。遺憾的是,我高興得太早了,面試工
具是早年公司自己開發的平台,只支援 C++03。
只支援 C++03。只支援 C++03。只支援 C++03。
Okay cool,我們的好朋友 std::unordered_map、美妙的 move semantics、以及其他
C++11 的酷東西都是不存在的。這在我心裡立了第一個 red flag。
(進公司之後發現一半的開發者只會用 C++03,另外一半只會一點點 C++11。確認過日期
,是 2019 年沒錯。)
接著,面試官開始說明題目,是常見的找出重複值。Checkpoint 有兩個:100 萬筆資料
,3 秒以內跑完;另一個是同樣 100 萬筆資料,0.3 秒內跑完。
好了,你可以開始寫了。
題目描述很明確,不需要問 Clarification Question。按照標準流程,我開始描述我打
算怎麼處理這個問題。
面試官打斷了我:你不需要說話,寫就好了。
扎扎實實的文化衝擊。也許是我 too young too naive。好吧,我閉嘴。
又一個 red flag。
既然要找出重複值,用 Hash Table 簡單明快。但等等,他剛剛說 C++03......。當時的
我沒有自信可以現場刻一個 Hash Table,退而求其次用 std::map,這是個 O(NlogN) 的
解。殘念,2.7 秒,沒有通過第二個 Checkpoint。
到這大約過了 10 分鐘。我打算用剩餘的時間思考,如何不用手刻 Hash Table,又能跑
到 0.3 秒以內。然而掙扎了 30 分鐘,面試官看不下去,主動給我提示:最佳解的複雜
度也是 O(NlogN)。
真的假的?!
經過我腦中的種種掙扎,最後我才發現 sort + linear search 可以跑進 0.3 秒內,順
利通過這關。理由是 sort 可以省掉 (de)allocate 記憶體的時間。
現在回頭看,完全不是個太難的問題,但還是請容我找點藉口。
因為時差的關係,必須要在晚上 10 點面試,加上前面兩個 red flag 造成的心理衝擊,
著實讓我腦子的運轉速度低了不少。
不論如何,這關算是過了。
後續的技術問答不難
- 知不知道 Hash Table 是什麼
- 請舉一個 Hash Function 的例子
- ......
最後面試官介紹了公司人員、業務內容,而我簡單的提問之後結束這一回合。
從一面可以看出,這間公司的面試流程相當制式。就像大學聯考,給你寫考卷、問答題,
不需要溝通,一切都有標準答案。在公司待半年之後,有跟主管反應過這個面試流程有不
少改善的餘地,但也許是我日文太差,也許是我講得不好,總之沒成功說服他。
二面 | 技術面試
同一個面試官。跟一面一樣有一題程式測驗,只是省略了後面半小時的 Q&A 部分。溝通
部分也跟一面一樣,說明完題目之後不需要說話,寫題目就好。
有了上次經驗,我算是懂他們的路線了。特地加強認識了一下 C++03 與 11 的不同。這
對於出生在 C++17 的我來說有點煎熬。
結果完全沒用到。
這次是 Graph 題,Easy 水準。只需要自訂的 struct Node + BFS,跟標準的 LeetCode
題目有 87% 像。少踩了 C++ 版本差異的坑,二面樂勝。
三面 Onsite | 技術面試 + 主管閒聊
也許是日本的極致現場主義作祟,CEO 覺得不管怎樣人都一定要見個面,故安排在東京辦
公室進行。只有一場,時長三小時,跟各大公司比簡直一片蛋糕。而面試以來感受到的第
一個 positive signal,就是公司出錢飛我到東京辦公室面試!
這邊不得不提一下芝加哥 O'Hare 機場真的塞爆。明明已經落地了卻在機上等了一個多小
時才成功下機,直接完美錯過下一班飛機。下一班往東京最早是隔天。幸好原本就有多排
一天的緩衝時間,才沒有錯過面試。
這是我第一次去日本。從機場的整潔到商旅的空間利用,無處不讓我讚嘆。工整、細緻、
優雅,跟在電視上看到的一樣!
不過我沒空管時差,也沒空好好欣賞。下機之後趕往新宿赴約,跟獵頭約好要協助我買一
套新的西裝去面試。還沒賺到錢,就先噴了 3 萬日圓。
現在想想根本是多餘的,因為公司根本沒有期待我穿西裝。但當時不知道,也傻傻的沒問
,只覺得既然是日商,那麼穿一套西裝不會錯。
至於獵頭為什麼還要陪我買西裝?我認為他應該是覺得這人可以當朋友,所以提供特別服
務吧。事實上,我們到現在也還是好朋友。真的很感謝他的幫忙。如果有人想要找日本工
作的話,我也可以協助介紹一下。
拉回正題。終於到了辦公室門口,裝潢是簡潔的工業風。進去之後被帶進一間會議室。進
門第一眼看到的是張會議桌,約能坐 6 人。長桌盡頭有個大螢幕,可以接上電腦投影。
透過背後的一大片落地玻璃,能直接看到走廊。玻璃上掛了塊白板,彷彿在暗示我這家公
司鼓勵溝通。真是諷刺,目前為止的面試中我可沒感覺到。
目前為止頗有現代科技公司的感覺。第一印象還可以。
此時面試官 T 走了進來,是個高高瘦瘦,斯斯文文的日本人,也是公司的 CTO,aka 我
未來的主管。他遞給我一份約 10 頁的面試文件。第一頁是題目,剩下的全是某 C 類別
的實作內容。
雖說是英文面試,但 T 的英文不算太好,常常雞同鴨講。
總而言之,有 1 小時左右可以詳細閱讀,接著再回答第一頁的問題。
- 請畫出 C 的資料結構
- 請說明 C 如何執行插入/搜尋/刪除
- C 有不少 member variable 是指標,請說明透過指標存取跟直接存取物件的不同
之處
- 請說明 C 如何做到既能儲存字串,也能儲存整數
最後的問題給了我一個猜想:會不會 C 其實很像 std::variant?詳讀之後我驗證了這個
猜想。不同的是,C 是一個樹狀的 std::variant,每個物件都可以擁有子物件。
不過比起這個,更令我在意的是滿滿的 legacy 感以及 anti-pattern。我也真的看到了
new 和 delete,手動管理記憶體。這裡 (https://qr.ae/pGmHXg) 有另一個位仁兄分享
他在日商看到的程式碼長什麼樣子,雖不中亦不遠。
我以為這是壓力測試。測試我在面試中,同時面對複雜的考題以及 legacy 的時候能不能
依然保持冷靜,清楚解讀程式碼的功能。後來我真正看到那號稱 100 萬行 codebase 的
時候才發現是我想多了。
Anyway,讀完了,也回答了問題。T 對我的回答有 2 成不滿,不過算了。T 雖然身為公
司 CTO,自己也有 50% 時間在開發,但從對答中我能感覺到他並沒有完全理解我說的東
西。追加確認了一下,發現他應該沒有沒有讀過 CSAPP。這個基礎上的認知差距,我不覺
得有辦法在面試中說明完整。
T 又追問了一個設計問題:給定一個 struct S,如果要把大量的 S 物件存成 binary
file 的話,該怎麼設計。這邊沒有太特別的事情,就不贅述。
最後的 QA,我確認了公司的規模約 50 人(全世界)。
也確認公司會全額補助我學日文。
與同事們挨拶
結束後,T 帶我穿過一道門,出現在眼前的,是傳統的方格辦公室。這才發現,原來外面
有裝潢的空間,是用來見客戶的,裡面這樸實無華的才是真正的辦公空間。開發成員不多
,少於 10 人,其中只有一半是日本人。大多是不善言辭的類型,很符合大眾對於 Geek
的刻板印象。一面的新加坡面試官也在其中,他可以說是開發部中最健談的人。
當晚,CEO 與 CTO 帶我到五反田一家小而美的壽司屋吃晚餐。每一道壽司,都與爭鮮的
壽司相去甚遠(請原諒學生時代的我,說到壽司只能想得起爭鮮)。中途,服務生送上了
三隻生大蝦,蝦肉真新鮮,又甜又彈牙。我不知道該怎麼樣評價一家壽司屋,但我心想,
有這種生大蝦的店一定不凡。
我偷瞄了帳單,三個人將近四萬日圓。即便對現在的我來說,這也算得上一餐豪華美食。
更別說當年窮到脫褲子的我有多驚豔。
猶豫
隔了幾天,我收到了錄取通知。年薪就是一開始聽說的 7xx JPY/year,沒有日商常見的
包吃包住,只有通勤補貼。同時,我手上有來自美國的另外 2 個錄取通知。頓時為現在
充滿選擇的自己感到些許驕傲。
客觀上來看,這個選擇相當簡單。美國其中一個 offer 位處矽谷,不僅提供 2 倍多的薪
水,還極有可能在幾年內上市(也確實在今年上市了)。反觀這家日商,在面試中立了數
個 red flag,薪資也不比人高。倘若真有贏面,就贏在地點吧。
對大多數人來說去矽谷準沒錯。但有太多事情不能用錢,或者任何單一因素來衡量。而我
當時正處在這樣一個不簡單的狀況中。
煩惱至極的我,決定採取科學方法。我找來身邊一位朋友當我的黃色小鴨,告訴他我有什
麼選擇,一邊分析有什麼優劣,最後詢問他我該怎麼選。
旁人的眼光是透澈的,他只說了一句:我覺得你已經做好決定了。
他是對的。
我早就知道我會選什麼,只是心裡還不願意接受,還在嘗試說服自己而已。
一周之後。我回信給 Asprova,告訴他們,我願意加入。
-----------------------------------------------------------
還有下篇的話,將會描寫更多實際的工作體驗,以及在東京的生活。
如果有人特別想知道哪一塊的話可以告訴我,我會盡可能說明。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.181.5 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Oversea_Job/M.1637316547.A.CF7.html
推
11/19 19:14,
2年前
, 1F
11/19 19:14, 1F
→
11/19 19:14,
2年前
, 2F
11/19 19:14, 2F
怕日本人不懂,要寫 イエス、アイ ドゥゥ
不是 Rivian,0A2B
→
11/19 19:31,
2年前
, 3F
11/19 19:31, 3F
→
11/19 19:31,
2年前
, 4F
11/19 19:31, 4F
推
11/19 19:33,
2年前
, 5F
11/19 19:33, 5F
→
11/19 19:33,
2年前
, 6F
11/19 19:33, 6F
對,最佳解應該要是 O(n)
面試官的提示是基於沒有 unordered_map + 不預期我自幹 hash table
→
11/19 19:55,
2年前
, 7F
11/19 19:55, 7F
推
11/19 21:04,
2年前
, 8F
11/19 21:04, 8F
推
11/19 21:07,
2年前
, 9F
11/19 21:07, 9F
2 個月間刷題,同時面了幾家日本跟台灣的公司
已經確定會留在台灣
這部分的經驗,板上跟隔壁板都很多,暫時沒打算細寫
推
11/19 21:20,
2年前
, 10F
11/19 21:20, 10F
推
11/19 21:27,
2年前
, 11F
11/19 21:27, 11F
推
11/19 22:50,
2年前
, 12F
11/19 22:50, 12F
→
11/20 02:18,
2年前
, 13F
11/20 02:18, 13F
推
11/20 05:06,
2年前
, 14F
11/20 05:06, 14F
推
11/20 05:08,
2年前
, 15F
11/20 05:08, 15F
→
11/20 05:08,
2年前
, 16F
11/20 05:08, 16F
業務端的人還沒描述到,不過確實不是輕浮派
都是中老年人
推
11/20 05:21,
2年前
, 17F
11/20 05:21, 17F
人生第一次遇到用 execution time 而不是複雜度來評斷結果的xDDDD
→
11/20 05:46,
2年前
, 18F
11/20 05:46, 18F
→
11/20 05:47,
2年前
, 19F
11/20 05:47, 19F
→
11/20 06:47,
2年前
, 20F
11/20 06:47, 20F
推
11/20 06:52,
2年前
, 21F
11/20 06:52, 21F
→
11/20 08:19,
2年前
, 22F
11/20 08:19, 22F
→
11/20 08:19,
2年前
, 23F
11/20 08:19, 23F
→
11/20 08:22,
2年前
, 24F
11/20 08:22, 24F
→
11/20 10:50,
2年前
, 25F
11/20 10:50, 25F
→
11/20 10:50,
2年前
, 26F
11/20 10:50, 26F
稅金的部分我沒有太仔細算,可能要再查一下才有確切的數字
我是幾個月前離職的,技術上人還在日本
如果說要按這個年度的薪水來徵稅的話,住民稅應該也還沒繳?
文中說的 20% 是每個月月薪的預扣,還有去年的稅單概算的
※ 編輯: yesiah (61.228.181.5 臺灣), 11/20/2021 11:44:49
※ 編輯: yesiah (61.228.181.5 臺灣), 11/20/2021 11:46:45
※ 編輯: yesiah (61.228.181.5 臺灣), 11/20/2021 12:17:58
推
11/20 12:52,
2年前
, 27F
11/20 12:52, 27F
推
11/20 14:18,
2年前
, 28F
11/20 14:18, 28F
推
11/20 18:32,
2年前
, 29F
11/20 18:32, 29F
推
11/20 21:43,
2年前
, 30F
11/20 21:43, 30F
一開始就直上 Amazon/Indeed/Google 最快 :DDDDD
推
11/21 01:07,
2年前
, 31F
11/21 01:07, 31F
推
11/21 11:03,
2年前
, 32F
11/21 11:03, 32F
→
11/21 11:04,
2年前
, 33F
11/21 11:04, 33F
謝謝提供參照表,內文已稍微修正,以免誤導
推
11/21 14:43,
2年前
, 34F
11/21 14:43, 34F
※ 編輯: yesiah (61.228.181.5 臺灣), 11/21/2021 20:00:54
※ 編輯: yesiah (61.228.181.5 臺灣), 11/21/2021 20:06:23
推
11/22 10:32,
2年前
, 35F
11/22 10:32, 35F
→
11/22 14:35,
2年前
, 36F
11/22 14:35, 36F
→
11/22 15:46,
2年前
, 37F
11/22 15:46, 37F
推
11/22 16:12,
2年前
, 38F
11/22 16:12, 38F
推
11/22 22:43,
2年前
, 39F
11/22 22:43, 39F
推
11/23 01:10,
2年前
, 40F
11/23 01:10, 40F
推
11/23 01:33,
2年前
, 41F
11/23 01:33, 41F
→
11/23 01:33,
2年前
, 42F
11/23 01:33, 42F
下篇會講到開發過程
推
11/23 09:14,
2年前
, 43F
11/23 09:14, 43F
推
11/23 16:53,
2年前
, 44F
11/23 16:53, 44F
我沒有你想的那麼好啦((羞
好像很多人好奇為何選日本,其實就是優先順位的問題罷了
薪水名利固然重要,但再怎麼說都是第二、三順位
如果去矽谷賺大錢會危害到自己的第一順位,痛也得割
推
11/23 17:09,
2年前
, 45F
11/23 17:09, 45F
推
11/24 06:48,
2年前
, 46F
11/24 06:48, 46F
總共正規學習了 9 個月
沒有詳細去記升級曲線,印象中 2-3 個月就被迫上台公司簡報了
但簡報畢竟可以事先翻譯好 + 潤稿背稿
真正可以用日文大約半年吧
會議上主要講技術內容,有背景知識,上手比較快
生活上就是買買菜,去餐廳沒問題,打電話安排網路安裝解約什麼的程度
如果會臺語 & 常看動畫,耳朵都有打開的話,學日文的起步相當快
大部分的發音跟語塊都在腦子裡了,只是不知道意思,也不知道怎麼組合
正式開始學習單字跟文法之後,就會發現早就聽過的東西原來是這個意思
然後砰砰砰就上去了
不過我一開始就沒有打算過度融入日本,只打算學到生活 + 工作堪用即可
所以從 3 月開始學到 11 月底就不繼續上課了
檢定也沒去考,因為用不到
接下來的一年半就是依賴前面的老本跟 DeepL 自學上去
※ 編輯: yesiah (61.228.145.176 臺灣), 11/24/2021 18:58:51
※ 編輯: yesiah (61.228.145.176 臺灣), 11/24/2021 19:05:08
推
11/24 22:26,
2年前
, 47F
11/24 22:26, 47F
→
11/24 22:26,
2年前
, 48F
11/24 22:26, 48F
推
11/25 04:39,
2年前
, 49F
11/25 04:39, 49F
推
11/26 11:08,
2年前
, 50F
11/26 11:08, 50F
推
11/26 17:25,
2年前
, 51F
11/26 17:25, 51F
Oversea_Job 近期熱門文章
PTT職涯區 即時熱門文章
103
193
82
178
66
114