伯樂訪談之程式設計師在國外:丁曄 - Perl開發者在日本

黃餘糧發表於2014-01-06

這篇訪談的主人公是在日本工作的Perl程式設計師:丁曄。

丁曄
(丁曄)

認識丁曄需要從他翻譯投稿到伯樂線上的這篇文章《關於Git的主要維護者濱野純的訪談》說起。丁曄選的這篇文章和譯文質量,讓人印象深刻。正好近期開始了伯樂訪談之程式設計師在國外系列,和丁曄聊了他在日本的一些情況,其中有很多內容值得通過這個系列分享給大家,也就有了這次訪談。

丁曄的聯絡資訊如下:

部落格:http://blog.dyngr.com/
微博:http://weibo.com/u/2883362135
GitHub:https://github.com/dyng

以下是採訪的全文。文中涉及的金額單位都是日元。2014年1月2日,1 人民幣 = 17.4065 日元。

伯樂線上:請先介紹一下自己吧。

我是研究生畢業以後來日本工作的,供職於一家名叫Kayac的網際網路公司。目前是工作簽證,還沒有移民。日本入籍的話需要5年,永住的話需要10年。

我的老家在杭州,本科和碩士也是在杭州讀的,一直都是數學專業,不過研究生畢業的時候選擇了轉行當程式設計師,現在做的主要是伺服器端的開發工作。畢業到現在差不多已經一年半了吧。這是我們公司官網上我的社員介紹

伯樂線上:你們公司的員工介紹很有意思,還帶漫畫 :)

哈哈。漫畫式風格一直是我們公司的品牌啊。

伯樂線上:從數學為什麼轉做開發了?

其實關於這點當初也猶豫了很久。因為數學專業沒有特別對口的工作,所以除了繼續深造,出國留學的同學以外,工作時最多的兩個方向就是金融和計算機。我個人不是非常喜歡金融,總覺得金融沒有創造真正的價值(當然這有點個人偏見),相比而言寫程式的話更像是實業,如果能夠寫出大家都喜歡用的軟體的話,那我覺得也是一件很值得自豪的事。而且一直以來對計算機也算是比較感興趣的,雖然據說80%的人做的都是自己不感興趣的工作,但在可能的情況下我還是希望選擇自己的興趣作為工作。

伯樂線上:你在本科或者研究生階段就已經在學計算機開發相關的東西吧?

嗯,本科時候選修了組合語言和C++程式設計,研究生時候的方向也是計算數學,算是和計算機有點關係。不過現在想來,其實那時候下的決心還是不夠,如果那時候真正決定今後就以寫程式為工作的話,應該補一些更多的計算機知識,多參加一點相關的社團才對。回想起來還是有點後悔的。

伯樂線上:在校期間自己做過一下計算機應用嗎?

好像除了計算機課的大程以外就幾乎沒有了……其實我是臨到畢業的時候才開始惡補計算機的基礎知識。

伯樂線上:能不能具體介紹一下當時選擇去日本的初衷?

其實說來也很單純,只是喜歡日本而已。因為從小就是玩主機遊戲長大的,大學時自學了日語,大四又考過了一級,畢業找工作的時候才發現沒什麼可以拿來找工作的技能(笑),既然好不容易自學了日語,只拿來玩遊戲總覺得有點可惜,考慮到日語能力在應聘日企的時候應該能夠派上點用場,於是後來找工作的時候就主要投的是日企。當然其實還有個原因,因為我出生在杭州,長大在杭州,大學也是在杭州唸的,上了研究生以後總覺得一直待在一個城市未免太“宅”了,於是特別想出去看看。

伯樂線上:大四通過日語1級挺不容易。能簡單分享一下你學習日語的過程嗎?

還好還好,其實我認識的同學中自學過1級的很多的:)自學日語主要是在大二,那時候每天早上都起來看一小時的《標準日本語》,一個學期把初級看完了。接著又漸漸地開始看日語專業的教材《新編日語》,看完了2和3兩冊,期間又報名考了一次2級。我覺得語言學習主要還是學以致用,如果平時一直在看那種語言的材料(我的話其實就是玩玩遊戲了),再配合教材的話,進步是很快的。上面說的自學過1級的那些同學,大部分或者是喜歡看動畫,或者是和我一樣的玩家,又或者是日劇迷,或多或少都會喜歡日本的一種文化。

伯樂線上:去日本工作,對日語的要求有多高?

主要和公司有關吧,如果去Google或者Amazon那些外資企業的話,只會英語也可以。但如果是日本本土的企業的話,工作語言肯定是日語,最好能有N2(日語2級)左右的水平,這樣差不多能夠基本無障礙地交流。特別是日本人的英語普遍一般,有時候讓他們說英語說不定還不如讓他們寫下來對照著日語裡的漢字猜更快(笑)不過我們公司也有一位墨西哥人,因為初來日語還不是太好,所以工作上主要是由英語比較好的日本人和他交流。總的來說對⽇語沒有特別硬性的要求,但是⽇語好的話會工作、生活得比較舒適,而且日語好說明你對日本文化了解得也多,那相對容易地適應環境。

伯樂線上:你是從哪種途徑去了日本工作?

我是通過一個名叫AHRP的專案來日本工作的。這是一個針對應屆生的專案,錄取以後即赴日本工作。過去幾年一直都只在北京地區舉行,我是請了在北京的同學代我投了簡歷,後來因為面試只在北京進行所以本來準備放棄了,但正好那一年在上海也有一場面試,於是我就去了,最後錄取了,可以說比較幸運吧。和AHRP類似的還有一個叫啟程日本的專案,是日本最大的人力公司Recruit舉行的,這個在北京和南方的主要高校都有宣講會和麵試,當年我也去了,不過落選了(笑)

伯樂線上:這類的專案一般考核哪些方面?或者說面試涉及哪些方面?

具體的有點記不得了,不過可以談談總體上的。日企的招聘和國內企業有點不同,他比較看重的是你的品質和綜合能力,主要就是激情,創造力和行動力,知識和技能反倒是可以入社以後再加培養,所以即便是IT企業的面試,也很少問常見的演算法和設計題。對於應屆生來說,最重要的我覺得一個是你自己的作品(github,網站,web應用,部落格,有趣的專案等等),因為幾乎肯定會有個問題是“說說大學裡你最自豪的作品”。另外一個就是日語能力了,雖然很多日企都強調不做要求,不過我個人覺得日語好的話優勢會比較大,畢竟還有必問的一個問題就是“為什麼你要來日本”,如果日語好的話說明你確實比較喜歡日本,對方也就更願意接受你。而且像我上面說的,工作中基本是用日語交流的。

伯樂線上:你剛才提到AHRP順利通過,但啟程日本這個專案卻沒能通過。你能分享一下這塊的經驗嗎?是自己在啟程日本沒有發揮好,還是其他原因?

啟程日本其實說來挺尷尬的……因為當時啟程日本要求的是應屆生,而我已經畢業了一年了,在朋友的幫助下霸面了一回,本來面試結果還不錯,在決定企業面試意向的時候發現我是往屆生,最後還是被刷了。結果通過AHRP專案最後去的Kayac,正是啟程日本里我的第一志願,只能說是因緣巧合吧。

伯樂線上:剛才你還提到:“最重要的我覺得一個是你自己的作品(github,網站,web應用,部落格,有趣的專案等等)” 也就是說,日企對應屆生招聘,因為沒有工作經驗參考,企業更關注的很大一部分是你在校期間,通過開源、部落格、網站分享過哪些東西。是這樣的嗎?

嗯,是的。就像之前說的那樣,日企(其實所有企業我想都差不多)關注的是你的創造力和行動力,對於學生來說,“自己做了一個有趣的web應用”還是很有說服力的。其實也不光是寫程式方面,組建一個樂團啊,做一個機器人啊都可以。

伯樂線上:很有意思。不過,我仍然有疑問:如果不考核和未來崗位相關的技能,如何判斷那些沒有作品,但基礎很好的人呢?

這個可能和用人理念有點關係,因為日本人相信“只要這個人有激情,夠努力,就一定能辦好”,所以覺得技能都是可以之後培養的。其實,我覺得“努力”是這其中最重要的,你只要表現得像個很努力的人,他們就會相信你能夠適應將來的工作。

而且當初我也是交了作品的哈哈,“破解漢化了一個遊戲(未完)”。那個遊戲的文字檔是加密打包過的,而我的一個朋友很想漢化這個遊戲,我就是讀了主程式解密這些文件的彙編程式碼,寫了一個程式幫他把那些打包以後的文件解壓出來,同時把他翻譯好的文件再原樣壓回去。順便還有一些修改程式的編碼和字型之類的小問題。

伯樂線上:剛才我特意看了這個頁面,如你所說,公司還有很多位中國同事,他們也是通過這類的專案到 Kayac 工作嗎?

嗯,是的,他們基本都是通過ahrp或者啟程日本專案來kayac工作的。

伯樂線上:在Kayac工作,你們的工作時間安排是怎樣的?

我們公司是每天9點29分上班,中午休息1小時,(理論上)晚上6點29分下班。不過一般都要加班,早一點的話8點,晚一點的話10點,有時候可能還得到12點半左右,正好坐上末班車。

伯樂線上:加班貌似是一種常態?

日本企業,加班也是有名的了,更何況是it企業了啊!

伯樂線上:你的感受來看,是因為工作量大,還是加班文化?

之前看到篇文章,叫《五個特點解釋日本人為什麼玩命工作》,感覺說得比較貼切,我個人感覺日本工作特點就是“加班多,效率低”。

因為日本人比較崇尚“努力工作”,重點是努力。如果你有能力,做事很快,那是好事,上司會很欣賞你,但是如果不能在能力上面給人留下好印象的話,那就要在態度上表現得很努力才行。所以日本人一般都會在公司待到很晚,催生了這種加班文化。然而在中國人的觀念裡,我覺得大部分人對工作的態度就是“拿錢辦事”,做到位就可以了,於是就有新來的中國人員工因為“準時”下班被社長髮郵件訓斥“現在的新人到底有沒有幹勁啊”這種事……

不過平心而論日本人做事也確實比我們認真(至少就認真勁兒來說),所以也不能完全說只是效率低吧。

伯樂線上:你剛到Kayac時,是不是也準時下班?:)

是啊……一週以後就被技術部長叫去長談說:“日本企業和歐美企業是不同的,我們最看重的是努力工作”,我問“那要多努力才算是努力?”,他說“總之要非常努力。”

伯樂線上:你當時是什麼心情?

哈哈……其實我因為多少也瞭解日本的這種文化,有點心理準備,不過從日本人口中真的聽到他們這麼說還是比較奇妙的。

不過怎麼說呢,日本的這種努力文化也確實使得他們很努力,經常會有新人自己用一些新技術(node,angular之類的)做了自己的專案,然後拿到全社發表的。

伯樂線上:那麼,你們的工作業績的如何衡量與評估的呢?

這個每個公司都有不同吧。我們是每半年有個同組內的員工互評以及同一工種內(後端,前端,設計師)的全體排名,由每個人給其他人打分,最後根據總得分來排名,決定了漲薪和獎金。所以,做自己的專案向全社發表也有提高在其他人心目中評分的作用。總之,態度和實力,兩方面都很重要。

伯樂線上:你現在做後端這塊,和日本本土的員工協作起來,有什麼體會和感觸嗎?(比如:文化差異)

最大的感觸就是:perl不適合多人協作(笑)【伯樂線上注:丁曄後面解釋這只是個玩笑。】

伯樂線上:你現在具體做的產品(特性),方便介紹一下嗎?

我現在所在的專案是一個叫Lobi的聊天軟體,因為是老專案了,系統比較複雜,程式碼量也很大。上面說的“perl不適合多人協作”這句話自然是玩笑,不過因為perl強調“There Is More Than One Way To Do It”,在專案大參與的程式設計師較多時,程式碼風格就容易參差不齊,閱讀起來比較累。

伯樂線上:印象中,日企的程式碼規範應該是很嚴格的,怎麼會出現程式碼風格就容易參差不齊的現象?

應該說還是和公司風格有關吧,我們公司比較自由,基本一個組的事(特別是技術方面的)都是技術組長說了算,沒有強制的程式碼規範,但是在merge到master分支之前都會有組長或者組員來review程式碼,所以說一定程度上還是有保證的。特別Lobi專案的單元測試寫得比較齊全,互相之間的程式碼review也一直在做,這一點我覺得還是很厲害的。老而大的專案,理解起來比較累某種意義上來說也是沒有辦法的,畢竟程式碼肯定會隨著時間越來越混亂的。

伯樂線上:你們的開發流程大概是怎樣的?

基本上是按照Agile的那一套:

1. 有PM把需求寫在story board上,作為一個story。
2. 針對一個story一般負責開發的是兩個工程師,由他倆把story分解成幾個具體的task,估算開發的時間,定好兩人的分工。
3. github上(公司買了私有程式碼庫)開出對應這個story的分支,以及對應各個task的小分支。
4. 每完成一個task,push到github上,請對方review一下,有問題則修改,沒問題就merge到story的分支上。
5. 完成整個story之後,再把story分支merge到master上。

伯樂線上:在日企,做開發這塊,一般的薪酬和福利是多少?

薪酬是痛啊……日本的一大特點是相同工齡下,不同職業間的差距不大,所以無論是做開發,做設計,做產品經理,還是搬家公司的搬運工,薪酬差距雖然不能說沒有,但肯定沒有國內那麼大。不過也和公司有關,像Amazon這樣的外資企業,或是遊戲公司的話,薪酬會高不少。還有如果公司效益好的話,獎金會發得很多。這裡的差距就比較大了。如果說個大概數字的話,按照現在的匯率來算和國內差不了多少。相比於國內的某些高薪企業可能還不如。就我瞭解的,畢業兩年,月薪應該在30w日元以上吧。稅收和保險加起來每個月5w左右。

伯樂線上:你平常會參加線下技術沙龍嗎?

有參加過一次Yokohama.pm(橫濱.pm 橫濱地區的perl程式設計師聚會)。perl的技術聚會特別喜歡用地名+ ‘.pm’ 這種形式,’.pm’是perl模組的副檔名。

基本形式就是最常見的來自不同公司的工程師每人45分鐘演講,以自己工作中解決的問題,介紹新技術,或是自己最近寫的perl庫為主題,結束以後一般都有個酒會,大家一起去居酒屋喝酒聊天什麼的。

在日本,YAPC是每年一度的Perl聚會。感興趣的朋友,可以看看這個Youtube的視訊

伯樂線上:參加這種技術聚會,對你有哪些收穫?

我對介紹新技術的演講比較感興趣,很多是最近新開的開源專案,藉此能夠了解一些perl圈的動態。講自己寫的庫的我一般就無視掉了(笑)。另外對於日本人來說,參加這些技術聚會發表演講能夠提高自己在perl圈內的知名度,最後再去參加酒會也能相互認識瞭解一下。

伯樂線上:你之前介紹過Perl在日本很流行。能詳細說說嗎?

Perl在日本是主流的指令碼語言。Ruby很多語法也是參考了Perl設計。日本很多公司,諸如DeNA,Line,Hatena都是使用perl的。關於目前主要的日本網站所使用的技術棧,可以參考這篇文章

伯樂線上:你在日本這一年多,感覺日本技術圈的氛圍如何?

在追趕西方的角度上來說不比國內差,基本上流行的開源軟體大部分都會在日本得到介紹。而且日本人寫部落格和寫書非常勤快,所以很多英語文件都會被翻譯成日語在日本傳播開來,因此他們對英語的需要就沒有我們那麼強。另外日本人對於開發庫,模組,外掛的熱情很高。

這位是曾經的同事,在離職以後的一年裡堅持幾乎每天寫部落格,部落格訪問量現在達到了一個月5w左右。在這期間還出版了一本300多頁的書,去了一趟矽谷,參加了一個創業專案。這位同事當初離職時的理由就是“想去國外工作”,然後在離職後的一年裡去了巴塞羅那,去了矽谷,還出了一本書。我也很佩服他的這種熱情和行動力。

伯樂線上:請簡單介紹一些在日本的衣食住行吧。

衣:基本和國內差不多,因為99%是made in china。
食:吃的東西都比較好吃,就是種類比較少,每天就是幾樣東西換來換去。
住:房租比較貴,買房(相對來說)比較便宜。房租比如我現在是三個人合租一套70平方的房子,一個月12萬日元。買房的話一般70平方的房子在3kw到4kw之間,按揭的話和每個月的房租差不多。
行:基本電車,非常方便。

伯樂線上:你在日本工作這1年多來,最大的收穫是什麼?

最大的收穫,感覺就是見到一種不同的活法吧。似乎日本人都沒有我們這樣強烈的生存危機感,總覺得20多歲不結婚不買房,不好好賺錢就會活不下去。我見過有設計師跑去長野縣當伐木工的,有變成Freelancer做Indie Game的,有離職後潛心研製萬能遙控器(一個具有網路埠的紅外線發射器)的,還有依然在職的從設計師轉程式設計師的策劃(笑)。他們對於生活的這種樂觀和熱情是我很羨慕的,也希望自己能夠追趕上去。

伯樂線上:很有感觸!本想多說幾句,時間限制,我們以後再聊。謝謝丁曄騰出週末的時間來接受採訪,同我們分享你在日本的工作和生活情況。提前祝你和你的家人新年快樂!再見。

嗯,好的,也祝你新年快樂!

////////////////////////////////////////
如果你有意向通過我們的採訪欄目分享你的故事,請郵件聯絡 editor@jobbole.com

 

相關文章