2008年1月26日 星期六

研發替代役

傻傻的我一直不知道研發替代役已經要開始找了,要不是詩芳跟建勳講到,我還真的一直都笨下去,運氣很好,我很痴呆,但是周圍一直都有貴人在幫助我。

開始投履歷了,一開始就是帕姬有跟我說 RealTek 的薪水非常不錯,她說她們含股票會有 150,我聽了很心動的,也說他們多媒體部門不錯,而我也一直抱著就是秉著自己的技術要拿命去換錢的心態,所以之前一直就是鎖定這一家了,帕菲又是在那邊當主管的,我想說要進去應該是沒問題的。上了 104 打開很久沒動過的履歷開始修改了一下,然後就去找了 ReakTek 的職缺,發現好像沒有完全適合我的,只有大致上好像可以做的,還是投下去了,但是過了幾天都沒有回應的。等了幾天之後,覺得這邊好像不是很順利,跟世梧學長的朋友聊過,想想應該是要多投幾家,於是就去多投了兩家,不過也都是沒有回音呢。

另外一方面,在履歷打開以後,就陸續有公司寄信來叫我去面試,之前就聽人說要去大公司比較好,比較穩定,另一方面我也是想著要找很賺錢的公司去賣命。而其中最大一家是凌陽(Sunplus),我也不知道那是幹嘛的,上網看了一下,還是不太清楚耶,不管,總之他們電話打來了,那就約定了面試的時間,這是距離上次到 Altek 面試之後隔了兩年的一個面試,早已經忘記面試的感覺了,我也不知道自己該說什麼,所幸面試官人很好,讓我聊得很開心,我也覺得自己有很順利的表達出自己的能力。他問的問題也許跟技術沒什麼關係,但是我覺得某些程度上是可以反應個人能力的。像是問我過去作過什麼,在這些計畫當中擔任的細節是什麼。另外他一開始也問我是不是很晚才開始找,我說是阿,他說因為像我這種履歷的人,應該老早就被找走了,這是讚美耶,感覺他對我印象很不錯,我聽了很開心,不過我真的是很呆啦,都不知道要開始找了。我問了薪水跟上下班時間,說一般是十點下班,薪水會接近五萬,我覺得是可以接受的,畢竟我喜歡寫程式,寫到幾點都沒差,薪水也是很好呢,以前的兩倍說。我想這是個很順利的面試,回研究室的途中很開心。

之後接到另外一個電話,是一個八方科技打來的,我看了一下是小公司耶,但是覺得多面試學經驗也不錯,其實我這個時候都有恃才傲物的心態,想說自己的能力總是可以去大公司的,小公司我去面試就是去增加面試經驗而已(也不想想自己手腳有多慢,大家老早就找滿了)。去到八方以後,進入大廳,最開心的是大廳竟然有兩隻恐龍化石!一隻是類似雷龍的東西,但是比較小,另外一個就是翼手龍。等待面試官的時候,我跟大廳的大姐在聊天,她說因為這棟大樓叫做翼龍,所以有放翼龍的化石(那我就不懂另外一個像是雷龍的是幹什麼吃的)。我問她那是不是真的,她笑了,說當然是假的,但是旁邊牆壁上有一個真的,我去看了一下,哇,超大,大概三層樓高,是平面的,就像是魚拓一樣的化石。

面試官出來啦,這邊講一下他是個大鬍子但是很斯文的人 :D。他一邊翻看我的履歷,一邊問些問題,他講話有點結結巴巴吧,好似不太確定要說些什麼,可能他也很久沒有面試吧。很自然的就聊天這樣,聊一聊,他說他們公司是作 IP-Cam 的,我是第一次聽到這種東西,說是跟 Web-Cam 一樣的東西,但是不一樣的是 IP-Cam 是直接插網路孔這樣,唷~現在科技真進步,什麼東西都有 @@"。他說雖然找我去是去作寫程式,但是大部分的工作內容可能在校調參數,說是很 duty 的工作,也許不像我所想像的那樣很多變有挑戰性。我說很謝謝他告訴我。然後他叫我去多投幾家(怎麼回事?orz)。他說現在這個時間,大公司可能都找滿了,但是還要我去多投一些大公司,因為通常大公司你不自己去找,他們是不會來找你的。叫我去多投一些,是他私人的建議的,說有能力的人應該要去大公司,但是如果我要去他們公司他還是會很開心。這是婉拒?我想他是講真的吧,因為我也覺得我不錯耶 :D ,然後我謝謝他的私人建議。好,我問了上下班時間跟薪水,薪水大概是四萬出頭,他說他們公司算是早下班的公司,一般來說是八點,他笑了,說不知道這算是好還是不好,我問他:「那你喜歡早點下班還是晚點下班阿?」他說:「現在的我會想要早點下班。」我說:「家裏有小孩了?」他又笑了:「恩。」又說:「年輕的時候,我也一樣覺得下班時間無所謂的,但是現在有小孩就不一樣了。」我說:「早下班很好,我小時候爸爸都不在家。」面試就這樣結束啦,我想這也是一個很順利的面試。剛剛走出面試的房間,手機就響了,是上面那家凌陽通知我下禮拜去參加複試,恩。果然之前凌陽的面試不錯成功喔。我心情很好,離開大樓經過櫃台的時候,我很開心的跟大姐喊到:「嘿!我面試很順利耶!等我來這邊工作,我們天天見面阿!^O^」她哈哈笑。

信箱打開,陸續也收到一些小公司的面試通知,但是我都沒想要去,也都沒回覆,一直都還是對自己能找到好公司而自信滿滿,尤其是凌陽通知我複試以後覺得應該是很穩當了。對了,這個時候真的有感嘆的感覺,以前學歷掛交大運輸的時候,從來也都不會有公司找我去面試,然後放了很久很久很久的履歷,也只有一家公司看過而已,而且還是毫不相關的公司,104 寄給我的速配清單,永遠都是空白的。學歷改成清大資工以後,很多公司看我的履歷,然後也有很多公司寄面試通知給我,另外速配清單上面一直都有很多公司可以選。有的時候心裡不知道該做什麼感想,是應該開心還是應該難過都不知道。

過了週末到禮拜二,就去了凌陽了複試,去之前我是很開心的自信滿滿。開始面試以後,對方問的問題不多,而且有一些我不知道怎麼回答,他問我有沒有什麼問題,我覺得我都沒有問題,我心裡的想法是做什麼我都可以應付,沒有問題,他就是一直低頭看我的履歷,大部分的時間都是沉默,有的時候會問我問題,我答個兩句他就會打斷我說好好好,他大概是個很忙碌的人吧。後來我想到一個問題,我問他:「你們為什麼都不考人寫程式?這樣不怕找進來的人不會寫嗎?」他說:「一般履歷上面寫的,我們就相信是真的,我們就是看履歷跟成績單,但是你沒有帶成績單。」複試大概二十分鐘就結束了,過程當中覺得自己不是很受重視,他講話不會看我,只會低頭看履歷,我回答也都會被打斷,嗚嗚,雖然我不是很強的高手,也許不值得尊重,但是還真有一絲絲被羞辱的感覺。我想這個面試是搞砸了,下個面試我會記住一定要問些問題,唉。

當天回來以後,手機響了,接起來是一個中年男子的聲音,大概四十多歲吧,問我是不是有在找研發替代役,我說是。我心裡覺得還蠻奇怪的,是要找我去面試的嗎?阿一般接到這種電話都是年輕女生的人資打來,這個男生感覺不像是人資阿?然後他就開始介紹他們公司作些什麼,然後為什麼他們的東西跟我有關,在說明的過程當中,講到說其實他們的東西好像跟我無關,但是其實可以看作是在一個 graph 裡面進行一些演算法運算,他看到我的履歷,覺得我很他們需要的符合,問我有沒有興趣。我想這個人好像是 RD 的主管,雖然不確定啦,因為我感覺到他很有誠意耶,竟然是自己先用了很多時間,講解自己公司是在幹嘛,然後才問我的想法,而且打電話來的又是一個這麼懂技術的人,我想說去聊一聊也好。老實說我要承認我內心還有另外一個想法是,想說一個連找人都要 RD 主管自己來找,沒有人資嗎?那大概是小小小公司吧,我想就是去聊天多增加經驗跟看看別人公司長什麼樣子,所以說:「如果可以的話,那我是不是可以去你們公司聊一下?」然後就約定了禮拜四的面試。收到了確定的面試通知信件,感覺也是剛剛那個人寫的,內容都是英文,我也用英文回信了。跟他說我會準時到達。

禮拜四到了我就跑去面試,阿結果我搞錯地址,然後又迷路迷路迷路,最後終於找到他們公司,約定的兩點到的時候,SC(那個RD主管名字的縮寫)還有打電話給我,問我是不是到了,我說我正在迷路當中,他叫我不要趕,慢慢來,但是我真的很歹勢(我回信還跟他說我會 on time 勒),SC 說到公司的時候,如果門是鎖著,可以打他電話,他會來開門。我找到以後,發現還真的門是鎖著,然後櫃台裡面空空如也沒有人,我內心就在想「這公司是不是快掛啦?怎麼連人都沒有?門還鎖著?然後看起來也很單調,不像人家有大理石地磚大廳。」我打了電話以後,是一個小姐來開門,我說我來面試的,她就領我去 SC 的辦公室。看到 SC 的感覺就像是電話裡面給人的感覺一樣,很溫柔,很有誠意的,那個時候因為我迷路到處跑來跑去的,所以很喘,他很客氣的要去幫我倒水,但是我很不好意思啦,就趕快開始面試了。

一開始 SC 是更仔細的介紹他們公司做的東西,然後介紹公司的來源,原來大老闆是台灣人,台大畢業以後去矽谷開了公司,後來公司一部分搬回台灣,另外還有一半還是留在矽谷,兩邊都是約二十多個人。

有了幾次面試複習,這次我也不會傻傻痴呆了,一開始我就先說:「那我就先自我介紹了 ^^?」SC 說:「恩,好。」然後我就吸哩呼嚕的開始從國中開始自修組合語言阿,高中寫 BASIC 跟 C/C++ 阿,然後大學一直都是寫 C++,一直講到後來,到現在研究所學了 Java 跟 C# 還有 Python,另外高中的時候寫過繪圖函式庫阿。SC 很專心的聽,眼睛一直看我,聽的很有興趣的樣子,我覺得很開心,就一直講。然後他問我有沒有帶成績單阿,我說沒有(很心虛害怕),他說:「沒關係,那你就說說看你修過些什麼課好了。」他這邊都是微笑喔,於是我就很放心的開始講了,因為他並沒有讓我覺得我是一個沒帶成績單的廢物。講了大學修過資料結構演算法,神經網路,演化計算,影像處理,分散式演算法,解題程式技巧等等。

然後他問了問題,很直接的就問我:「你說說看 depth first search 跟 breadth first search 有什麼差別?」,因為是很簡單的題目,很快就回答他,然後也補充了一下 steped depth first search 的說明。然後他問了:「你知道什麼是 hash 嗎?」我一下不知道怎麼回答,因為我覺得回答:「算一個 hash value 去當作 index」 這種回答好制式,我說:「我一下不知道怎麼回答耶,我可以從頭開始講嗎?」「可以阿^^」然後我就從一個陣列可以提供 random access,但是要 O(n) 的 insert 跟 remove 開始講,然後說 linked list,可以提供 O(1) 的 insert/remove 但是要 O(n) 的 search,然後說 binary search tree 可以把 search time 降到 O(logn),然後是這個 logn 如果 tree 不 balance 就不成立,所以有其他 AVL tree 或是 23,234 tree 等等就是為了要做到平衡,這樣可以把 search time 壓到 logn。但是當 n 很大的時候,logn 還是很大,那我們如果用 hash 就可以把 search time 變成幾乎是一個常數,雖然說常數項有點大,但是當 n 很大的時候,這樣就很划得來。然後講說 collision 的幾種處理方法。講完以後我還蠻開心的,因為很久沒有講這些東西,我覺得很快樂,而且我覺得坐在我對面的那個人也聽得很開心。雖然我曾經有想:「這個題目好簡單,我回答的東西他一定都會了,他會不會覺得很無聊阿?」但是開始講了以後,就自動源源不絕的一直講下去,忘記其他事情了。

其實這邊我很開心喔,因為這間公司是第一個問我「程式設計相關問題」的公司,我好感上升 ^^,因為之前看約耳的文章,「軟體人員面試交戰守則」裡面有提到,要瞞過一場面試太容易了,很多人是考試天才,但是要他寫他就死給你看,所以他一定要考人寫程式,沒看過一個人的程式,他是不敢用的。所以當 SC 問了程式設計的問題,我有一種很好的感覺,我想他們真的是要會寫程式的人。接著 SC 說等等還有兩個 team 的人要跟我面試,我聽了更驚訝,因為約耳(又是約耳!)說過,面試的時候,一個人一個小時實在談不出什麼東西,而且找人進來是要跟別人一起共事的,所以你要讓最少六個未來要跟這個人共事的工程師來跟他面試,而不能只有一個主管面試以後就說了算,這種以大頭作主的公司,素質是有問題的。所以當 SC 說我還要跟別人面試,我又加分了!這家公司好棒!他們真的是要找會寫程式的人!

然後 SC 問我有沒有什麼問題,這邊我很白痴,我就把之前我在凌陽面試炸掉的事情跟他說,然後說:「嘿嘿,所以這次我學聰明了,我有問題!請問你希望我能幫你做什麼呢^^?」SC 也很客氣的回答我。之後就結束啦。

接著就是第一組 team 的兩個人來跟我面試,他們一進來就一直笑我:「ㄟ,你的履歷是我看過最有意思的~」「阿?」「你的履歷是我看過最有趣的~」「呃?為什麼?是因為我不是本科系的嗎@@?」「不是,你填的『理想的工作性質:我希望是可以一直寫程式一直寫程式,整天都在寫程式。』哈哈哈」,我自己都忘記我寫了這麼好笑的理想工作內容 XD 問候過以後,我很不好意思的說:「那~我們怎麼開始?我先自我介紹?」「恩,好阿。」然後我就開始把剛剛跟 SC 講過的東西再講了一次,但是有些多了,有些少了,因為有的想到了,有的忘記了。講完以後,也是聊一下大學修過什麼,然後問了問一些技術問題,像是 hash 阿,或是 loop 跟 recursive 的差別。我覺得自己回答的算是可以,他們問我大學的資料結構跟演算法是不是很高分,我說我忘記了,因為我真的忘記了 XD!然後聊著聊著就過了快一個小時。

換了下一組的兩個人,這次我也是就先自我介紹,但是比較簡短了,因為同樣的東西講三次會痴呆 @@。然後也是問技術問題,我都順利回答,接著,他們問我:「怎麼比較兩個字串大小?」「阿?」「怎樣?是不是太簡單了?」「ㄟ,沒有啦,阿就先比第一個,然後比第二個,比到不一樣或是某個先結束,就可以分出大小了,不然就是一樣大。」「………唔……」「阿?我答錯了嗎?」「不能說錯,但是太高階了。」「喔,那我還是寫 code 好了。」然後就開始寫 code,一邊寫我就一邊碎碎念我的思路,然後很快速的把code完成了。他們檢查了一下覺得OK,然後又問了下一題:「給你一個字串……」「把他倒轉。」「你怎麼知道我要問這個?」「因為約耳說這是一個很典型的面試題目,簡單又可以考出程度,有的人就是可以寫出 O(n^2) 的演算法!」然後我就開始寫,寫一寫,嘿嘿,我第一次寫出來的就是 O(n^2) 的演算法,當然我馬上就 refine 了,然後也注意不要犯下 off-by-one 的錯誤。他們沒問問題,我想應該是正確無誤(但是以上兩題 coding 我在回家以後都發現還有更好的寫法,在常數項可以做的更快)。這邊要說一下,當他們考 coding 的時候我真的很開心喔……(對對對~又是約耳~!)反正就是這樣啦,我聽到他們的問題,我回答的很開心,他們聽的也很開心,然後還會冒出本來沒有的問題,像是突然天來飛來一個:「對了,你知道匈牙利演算法嗎?」「對不起,不知道,是用來解什麼的?」「就是………ㄟ,我也忘記那個問題叫什麼名字了,問題的內容是……(略)」「喔喔~聽起來很像是 minimal match,阿 minimal match 是 NP。」「恩~恩~喔!對!匈牙利演算法就是 bipartite 的 minimal match!」 「喔~對~但是我不會 @@」然後聊到 A* 阿,C++ 的 new operator overloading 阿,hash 在實際上應用的問題阿,還有解決的辦法阿,能跟人聊這些真的蠻開心的,因為平常我並沒有多少機會跟人聊這些東西,這邊也是聊了快一個小時。

之後是人資小姐出現啦!(哇!還真的有人資!)她就是大致說明一下公司的福利之類的東西,其實這個時候我已經高興的有點茫茫了,不是很在乎這些了啦,我覺得這邊的環境很好,我很喜歡。喔,對了,人資姊姊說公司有提供免費的餅乾 >"< 天哪!讚!

然後出去以後,就是去跟 SC 聊了一下,SC 說他覺得我不錯,兩個 team 的人也都覺得我不錯。我聽了很開心,但是因為有看過 Tech_job 版上說不管主管口頭上說多喜歡,或是說要錄取你,在沒有拿到 offer 以前,一切都可能變卦。所以我還是很理智的保持自己不要太開心。這邊我問了一下 SC,說為什麼是他來打電話找人,不是人資找人, SC 說:「因為我們要找的人就是要比較專業的,可是人資只能從學歷來分辨應徵的人,所以可能找來的人並不適合,那面試就會浪費一些時間。與其這樣,那不如我自己辛苦一點,多花一點時間我自己來找,我多花一點時間,就可以省下大家花很多時間,很划算。」我聽了很開心。然後 SC 說他們下個禮拜還有好幾個要面試,而且也不能就他說了算,他還是要跟別人投票,要是他說了算,那就太霸道了。我聽了很開心喔,因為他們公司的文化讓我好喜歡。他說雖然他覺得我是十拿九穩,但是還是要開會投票。而且他們總經理正在日本出差,下個禮拜才會回來,所以要等到下個禮拜才能確定。他叫我這段時間如果還有面試,就要去,不要都不去了。我知道沒有拿到 offer 都是假的,我最好還是不要對這邊太有把握,但是我真的很喜歡這裡阿!我說:「好,但是我很喜歡這邊,這邊就是我的首選,如果別人錄取我,我也會先等你的通知,你拒絕我我才考慮別人,所以如果你不錄取我,也要快點跟我說喔~」SC 說:「好。我很希望你能來,來了要好好表現。」然後送我去搭電梯,之後我就回研究室了。

其實這個時候,我覺得很羞愧阿,因為自己竟然會因為公司很小,或是門面不好,就幫這家公司扣分,實在很幼稚 @@,公司裡面的人跟公司的文化真的很重要,我覺得自己的心態還要再加強!

回到研究室,就跟詩芳聊面試過程,聊一半,電話響了,接起來,是 SC 打來的,他說:「我剛剛打電話給日本的總經理談過了,然後也開會通過了,我現在就把 offer 給你,如果你要來的話,那最慢下個禮拜要回覆給我。」

就這樣,我找到研發替代役的工作了。一個公司文化讓我很喜歡,周圍都程式高手可以讓我更加精進,然後上下斑時間很滿意,薪水也高出一般標準的工作。但是以上都不是讓我最開心的,我最開心的,是在那邊我有受到尊重的感覺,他們給我一種感覺,就是他們讓我覺得「我是個人才」。老實說我真的很高興,就像是 PTT Tech_job 版上面的推文:「士為知己者死」,我看到的時候覺得很貼切,我就是這種感覺喔,遇到重視自己的人,就會覺得在他下面做事是一件很快樂的事情。

現在一直很開心,開心當初有接到 SC 那通電話,才會有後來這些事情。

媽咪知道了,也會比較放心了吧。