我是一個前端軟體工程師,在日本東京工作快滿兩年,今天要以一個工程師的角度來討論日本就業市場、以及跟台灣的差異。

快速帶過一下我的背景,大學資管系畢業、研究所赴美念科技管理,畢業後原本想當一個 IT Consultant,想一想覺得要做一位好的IT Consultant,對於資訊科技還是要有一定程度的sense,才比較有把握能幫企業提供solution,所以決定從軟體工程師開始我的職涯。

我在台灣工作過兩年,第一年在做social e-commerce App的公司寫Android,後來換到IBM Taiwan當Application Engineer,做的也是比較偏向手機應用方面的案子,在台灣待了兩年之後,想要給自己的人生更多的刺激,於是因緣際會下來到了東京,先去樂天旅遊做前端工程師,一年半後換到剛上市做二手拍賣的Mercari繼續做前端工程師,背景介紹完畢。

日本IT產業的現狀

先從下方這張圖看起, 這是2018全球人才缺乏的數據,被塗成紅色的代表最難找到符合職缺的人才:

比台灣還操、技術比較落後?赴日2年的台灣工程師分享:該去日本工作的3個理由
 

我們拉近看台灣跟日本的狀況,可以發現台灣(78%) 、日本(89%) 都遠遠高過全球平均(45%):

比台灣還操、技術比較落後?赴日2年的台灣工程師分享:該去日本工作的3個理由

比台灣還操、技術比較落後?赴日2年的台灣工程師分享:該去日本工作的3個理由

然後我們再依照職種來看這兩個國家到底什麼職缺最缺人:

比台灣還操、技術比較落後?赴日2年的台灣工程師分享:該去日本工作的3個理由

比台灣還操、技術比較落後?赴日2年的台灣工程師分享:該去日本工作的3個理由

兩個統計可以看出不管是台灣還是日本,勞動力短缺(Sales也是前三名,但我不了解原因),IT跟工程師又是其中最嚴重的兩個類別,有興趣探究背後原因的,可以看WorkLifeinJapan網站裡寫的日本 IT 業界人才不足-原因與機會,裡面解釋得更清楚。除此之外,由於2020奧運在東京舉辦,日本各大企業想要在這個時機點展現新技術的突破、軟體公司也想要借此機會翻新系統來因應龐大的商機,正因為如此,帶來更多工作機會及技術挑戰

日本IT公司與工作環境

在來日本之前,就常聽前輩們說日本三大壞話:「比台灣更操,工時超長」、「上下尊卑關係很嚴重、應酬很多」以及「軟體技術遠遠落後台灣」;來了兩年之後,針對三大壞話,我來分享一下我實際的主觀感受。

1.比台灣更操,工時超長

這一點在我來日本待的兩家公司(日本樂天、Mercari)都不適用,我在樂天的時候是在旅遊部門,那時候公司就是在翻新已經用超過十年的旅遊網站,而在樂天的一年半,我大概只加過10次以內的班吧,也都是自己想再多做一點才留晚一點,其他工作天基本上就是9:00上班17:30下班去公司健身房運動,然後留下來在免費的cafeteria吃個飯就回家。

現在這家公司Mercari就更自由了,基本上沒有要開會的話只要12:00~16:00這段時間人要在公司就好,其他時間都可以自己調配,所以我並不覺得來了之後有比台灣更操。

2.上下尊卑關係很嚴重、應酬很多

可能是因為我去的這兩家公司外國人都偏多,所以也沒遇到這樣的問題,共通點是直屬manager都是日本人,但都不用唯諾是從,談話自然,開玩笑也沒問題,我甚至還有跟我日本manager一起去滑雪。

應酬方面(日本稱作飲み会)的確比台灣多,但也都是自由參加,樂天跟Mercari的差別就是,樂天應酬要自己付錢,Mercari公司全付,所以樂天我去參加的就比較少,Mercari則比較多,而也因為這些比台灣多的應酬,我覺得跟很多外國同事(包括日本人)都可以在比較短的時間變熟,所以對我來說這點還蠻加分的。

3.軟體技術遠遠落後台灣

針對這點我會利用下一個段落做完整的論述,但你們覺得這件事情有可能發生嗎?現代的軟體大多都是基於網路上的開發,所有的資訊就在網路海中,你想要找第一手的資訊?通常就在Google搜尋的第一個結果。你很想參加一個很猛的conference汲取最先進的技術?打開YouTube,如果活動沒有直播的話,通常早上的conference,晚上就可以看到影片了。

我剛從舊金山參加完Chrome Dev Summit 2018回來(公司全額負擔),在那邊跟與會人員交流的時候,遇到很多跟我一樣從日本特別飛來參加conference的日本公司,倒是台灣公司沒有遇到半個。

我想說的是,日本很多軟體公司正很努力的在跟世界接軌,加上我實際在這邊開發兩年,用的技術其實比我在台灣用的還要新(我在台灣也只工作兩年,樣本不夠多),但真的不用擔心「軟體技術遠遠落後台灣」。

日本技術是強還是弱

先講結論,已開發國家中,我覺得「各國的軟體技術誰強誰弱?」是個假議題,因爲就如前文所說,IT產業的本質,讓knowhow都逐漸移到網路上,所以國與國的差距不會太多,最大的差別我覺得就是在不同的市場、不同的風土民情而產生不同的IT使用情境,如此而已。

所以,以下我藉由自身經驗、加上跟其它在日工程師交流後所得到的資訊來做分析。

Software engineer V.S Programmer

在日本蠻多公司這兩個職位是分開的,就算有些公司職稱沒有區別,但實際工作內容還是有兩種:Software Engineer 負責設計系統及技術文件,然後交由Programmer負責實際寫程式;這樣的做法有好有壞,好處是以公司的角度,分工很細的結果就是所有的人都很好替換,不管誰走了,這些詳細文件就是最好的靠山,就算沒有人可以開發了,只要文件在手,也可以很容易地交給外包公司來寫,而這種做法的壞處則是:

1.技術、管理雙軌制度很難執行,因為整個組織的期待職涯就是:Programmer -> Software Engineer -> People Manager

2.我認為對於個人來說是有害的,因為最終總會失去實作能力。

在此順便附上台灣工程師口耳相傳的笑話:

日本、台灣的技術文章&第一手資訊

可以試著把瀏覽器分別切換成中文跟日文、搜尋技術關鍵字,比較以下搜尋結果:

比台灣還操、技術比較落後?赴日2年的台灣工程師分享:該去日本工作的3個理由

比台灣還操、技術比較落後?赴日2年的台灣工程師分享:該去日本工作的3個理由

同樣關鍵字(graphql),如果只看當地語言的搜尋結果,日文的是「GraphQL入門 — 使いたくなるGraphQL」中文的是「2018 GraphQL 漸進式導入的架構」,點進去看看,你可以發現兩個文章的篇幅差很多,日本的技術文章很長,這就是這邊技術文章的特色,會寫得非常詳盡,有常在看日文技術文章的朋友跟我說,日本的技術文章品質非常高,閱讀起來很簡單易懂,不像台灣的技術文章很多都會沒頭沒尾的,或是資訊量不足;而就這觀點我自己的感想有兩個:

1.用自己的母語看文章當然比較舒服,如果文章品質又好的話,就能比較快的吸收一個新技術。

2.不過就我的觀察,台灣工程師不畏懼閱讀英文文章,所以反而接觸比較多第一手的資訊,精確性更高、知道新技術的速度也快一些。

我之前跟日本人一起工作時,的確有時候會看到他們讀的技術文章都是日文的,有興趣的人可以去他們的技術網站Qiita看看。