看板 Oversea_Job 關於我們 聯絡資訊
人生第一次發長文,試試水溫。 試玩網誌版 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
ke265379ke: 回信是寫 yes , i do 嗎? >< 11/19 19:14
ke265379ke: 上市的是電動車那間嗎? 11/19 19:14
怕日本人不懂,要寫 イエス、アイ ドゥゥ 不是 Rivian,0A2B
RLCorn: 800的級距是23%吧,估計你第一年沒有被扣住民税…過那個 11/19 19:31
RLCorn: 甜蜜區間以後有夠高qq 11/19 19:31
yu90342: 如果有 unordered_map 或是自幹 hash table,最優解應該 11/19 19:33
yu90342: 是 O(n)? 11/19 19:33
對,最佳解應該要是 O(n) 面試官的提示是基於沒有 unordered_map + 不預期我自幹 hash table
evadodoya: 二樓溫 11/19 19:55
alihue: 第二年的住民税是爆擊 11/19 21:04
eju901677: 想知道離開的後續 11/19 21:07
2 個月間刷題,同時面了幾家日本跟台灣的公司 已經確定會留在台灣 這部分的經驗,板上跟隔壁板都很多,暫時沒打算細寫
nelley: 在日本工作但還真沒聽過這家 11/19 21:20
coldspoon: 感謝分享,期待續集! 11/19 21:27
TripleC: 推 11/19 22:50
antpro: 800的級距是20% 11/20 02:18
MAGICMCGRADY: 推,想看你分享日本生活 11/20 05:06
MAGICMCGRADY: 不過看起來你的日本同事不是像日劇裡那種輕浮的跑業 11/20 05:08
MAGICMCGRADY: 務的 11/20 05:08
業務端的人還沒描述到,不過確實不是輕浮派 都是中老年人
resay543: 看到duplicate 0.3 也 我也傻住 求續集 11/20 05:21
人生第一次遇到用 execution time 而不是複雜度來評斷結果的xDDDD
NTUohtani: 三樓說的是課稅所得超過800才是23% 11/20 05:46
NTUohtani: 其實到年薪1000為止手取都還是80%左右 11/20 05:47
siriusu: 1000 要手取 80% 是不包含住民稅吧 11/20 06:47
siriusu: 忘記推了~ 還有在找日本工作嗎歡迎站內信交流 11/20 06:52
RLCorn: 看收入種類,如果只拿現金,過695萬後絕對不只20% 到千以 11/20 08:19
RLCorn: 後更是一半在繳稅 11/20 08:19
RLCorn: 每次看到年金跟住民税被扣一堆就想哭qq 11/20 08:22
NTUohtani: 啊,的確沒算到住民稅,抱歉。根據前一年收入大概在%70 11/20 10:50
NTUohtani: -%75之間 11/20 10:50
稅金的部分我沒有太仔細算,可能要再查一下才有確切的數字 我是幾個月前離職的,技術上人還在日本 如果說要按這個年度的薪水來徵稅的話,住民稅應該也還沒繳? 文中說的 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
richuncle97: 推 11/20 12:52
lingerptt: 黃色小鴨厲害,你竟然沒選加州高薪 11/20 14:18
create8: 求續集 11/20 18:32
ljk476820: 強 果然日本年薪要8位數走IT最快 11/20 21:43
一開始就直上 Amazon/Indeed/Google 最快 :DDDDD
UpccFeng: 推 11/21 01:07
p31819: 不只扣所得稅住民稅,一堆扣下來挺多的 11/21 11:04
謝謝提供參照表,內文已稍微修正,以免誤導
chia0712: 好奇為什麼選擇那麼多可是選了這家? 11/21 14:43
※ 編輯: yesiah (61.228.181.5 臺灣), 11/21/2021 20:00:54 ※ 編輯: yesiah (61.228.181.5 臺灣), 11/21/2021 20:06:23
johnny94: 這篇在分享公司跟面試心得,一堆人在那邊計較稅金… 11/22 10:32
KFVC: 除非沒在台灣工作過 不然總會懷念台灣的低稅呀XD (尤其最近 11/22 14:35
RLCorn: 言論自由、理性思考 11/22 15:46
a101: 感謝分享 期待續集 11/22 16:12
lc85301: 好奇最後為什麼會決定選日本而不是美國 11/22 22:43
indiroia: 不太懂這麼多red flag還是去了? 11/23 01:10
hutdris: 感謝分享,敲碗後續! 可以體會選日本的心情,但開發過 11/23 01:33
hutdris: 程應該很… 11/23 01:33
下篇會講到開發過程
q1q1w1w1q: 推好文 11/23 09:14
cominlin: 大概是為了某個日女吧(煙) 11/23 16:53
我沒有你想的那麼好啦((羞 好像很多人好奇為何選日本,其實就是優先順位的問題罷了 薪水名利固然重要,但再怎麼說都是第二、三順位 如果去矽谷賺大錢會危害到自己的第一順位,痛也得割
masturbateee: 推 寫得蠻精彩的 11/23 17:09
kukockuo: 謝謝分享,實際上班到可用日文溝通花了多久? 11/24 06:48
總共正規學習了 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
deacon: 加州跟日本稅那麼重討論一下也是合理吧 又不是每個國家都 11/24 22:26
deacon: 像台灣年薪幾百萬所得稅還是只有2 30% 11/24 22:26
Starcraft2: 選了日本 帥 11/25 04:39
GGFACE: 所以你回台灣了? 11/26 11:08
fallen01: 為什麼美國在二三順位 11/26 17:25
yoloboy: 推 滿好奇為何在美念碩且有offer 但不選擇留下來的原因 12/05 00:07
jinniw43805: 最佳解是Floyd算法嗎。 快慢指針那個 01/08 12:21