close
(This article was written on  Dec, 2004)


三年後,我又坐在飛往紐約的飛機上 

抱著不同於三年前緊張、興奮的心情,這次有要回家的感覺 

三年不見的台灣 還是台灣 

我,還是我嗎?   

在等待轉機的空檔 

我開始回想這短暫的返鄉之旅 

這個每當徬徨、受挫時 會想到的避風港 

有著比紐約地鐵乾淨一萬倍的捷運 

有著比美式食物好吃一萬倍的路邊攤 

有著親人、朋友、和熟悉的語言 

但不知為何,很快的我開始懷念紐約 

那個不是我故鄉 

卻同時可帶給我新鮮感與驚奇的城市 

陽光普照的紐約天空,不論是Stony Brook, Queens還是Manhattan 

總是能讓我呆徜的望著它 

好幾秒 

這那短暫的數刻,心中所有的陰霾,一掃而空
 

 
學習經驗 


在兩年的求學經驗中,現在回想起來真的是很難用三言兩語交代清楚。
當初真是誤打誤撞申請到Stony Brook。當時因為不是很信任代辦,申請的步驟都自己來,加上預算的限制所以只考慮公立的學校。到頭來總共只申請了兩家學校,且還看錯US News學校的排名類別。我看到Computer Engineer的,加上當時一個不是很熟的朋友推薦Stony Brook,我就寄出申請函。我還記得我先收到另一個學校的拒絕信,然後想說如果Stony Brook沒上,留學計劃可能要再延一年,沒想到就收到Stony Brook 的Admission。 

State University of New York at Stony Brook是在台灣曝光率較少的。 它在美國的Computer Science 也算小有名氣,在2004的CS US News排在20  2003 US News 是和NYU並列29。在Gourman Report 排名在16。
以公立學校來說,是只僅次於UCLA。其他Top 30的學校幾乎都是私立的。對美國學校稍有概念的話,同樣階層的學校其實私立學校的入學標準會比較鬆,因為私立學校為了要賺錢,最後就會廣收不用獎學金的學生。這也是為何NYU的CS收了一堆沒有CS背景的台灣學生。聽說有一屆我們系上來了很多台灣人,這群人很多人回台大CS所任教。

我那一屆,就只有我一個台灣人。所以第一學期可說是我最苦悶的讀書時期。當時主要是修一些必修課,絕大部分是理論相關的。 Theory of the Computation、 Algorithm, Operation System 等,每天到圖書館報到,讀個5~8小時是常事。加上我們學校是位於典型American Life的長島,到哪裡都得開車,對於習慣台北便利的我,一開始感到非常不方便,行動上的不自由照成思想上得不自由。還有一些現在都不想提起人事因素,有時回想起來,也不知道自己怎麼熬過來的。我永遠記得期末考周時,考 algorithm前一天和我partner和他的朋友們討論到臨晨,最後還在男生宿舍沙發上睡,隔天直接去考試的悲慘經驗。
第二學期後必修課已經上的差不多了,所以我開始有決定權修些自己有興趣的課。加上買了車,還搬到有自己空間的單人房,雖然課還是很重,但接著的生活就比較順。這學期修了很不錯的Networking Programming,教授對TCP/IP底層相當熟捻,且它的用的那本書寫的非常好(UNIX Network Programming by W. Richard Stevens),台灣也有翻譯本,透過這堂課學了用C寫了底層的網路程式。這個教授其實一開始對我有很大歧視,我覺得一方面是女生,一方面講問題又沒講清楚,有一次去問他問題,竟然被他叫到外面去罵,他一邊抽煙,一邊責怪我,他認為我一定是沒搞懂問題,他還放狠話說:”那我們現在馬上去試你的程式,如果work的話我就給你0分!”。因為很委屈,我在走回宿舍的路上真的淚流滿面 。當天上課我又好死不死遲到,一班那麼多人,他還注意到我遲到,當我再 email他問題時,與其簡單幾行回應我問題,他又長篇大論責怪我晚到所以沒聽關鍵,我氣不過email他,告訴他我多認真看待這堂課,遲到是因為寫作業寫到清晨,但我不願錯過這堂課還是應著頭皮去上課,且每次都自己寫作業(很多印度或大陸同學作業都是互相抄襲),並都得到滿分。他沒回信,但是後來他的態度丕變,看到我還打招呼微笑之類的,但是我再也沒去問過他問題了。這學期我也在準備考 Sun Certified Java Developer。這個過程也讓我學習良多,自己k了Design Pattern和UML的書籍,實作synchronization,lock/unlock mechanism也自學了Java RMI, Asynchronous callback等技術。這個認證是需依照需求撰寫一個standalone client & server訂位系統,並提供完整技術文件,這些技術也剛好都運用在我的畢業專題裡。
第三學期在我一直努力爭取下,我如願拿到了TA。我第二學期成績很好都拿到A ,所以分配TA的教授Kifer先生,在詢問我指導教授Prof. Bernstein後,他給我了我都沒修過的研究所Transaction Processing課程的TA執位。所以這學期我的學費減半,每個月都有錢拿,不過相對的也被操的很慘。我的教授是個看起來很嚴肅但又不失慈祥的美國老先生,我跟他時,他在系上待了有二十幾年了,也建立了致學認真,教學嚴厲的形象。他的課要是很混還會被當,所以我當他的TA當然也沒好日子過,我沒修過那堂課所以他一開始也希望我能去旁聽,然後每次作業前,我都得先確定每個例子都能跑,環境沒問題,只要學生有project的問題,都是由我來處理。我還得改學生的project,常常光回學生的email就花了我很多時間。
一方面修了一堂超級重也超級棒的Advanced Database 教授是Standford新來的Prof. Gupta,那是我真的學習database的課程,我為了這堂課不知道多了多少白髮。每天幾乎都得花3~4個小時讀書或寫作業,他用的那本Standford教授寫的書,我覺得是我看過寫過最好的DB書。這個學期我同時也在作我的畢業專題,本來我的專題應該是已經完成,但我教授不放我走,要我做另一個Two Phase Commit Tool,其實我想一方面他也是想要有人可能隨時幫他處理那個Tool的問題,總而言之,我的專題又順延了一個學期。

第四學期,也是最後一個學期。這學期我只剩一堂課,還有畢業專題收尾部分,這學期透過當TA時認識的系上的DBA JT先生,他是一個有190幾公分高的美國大高個,年紀有五十幾。但是因為常穿T-shirt牛仔褲。所以看起來像是四十幾未婚,是個很nice的人,對我幫忙很多,到現在只要他到曼哈頓,我們都會見面吃飯並敘舊。他當時問我他之前工作的公司找他回去當CTO,問我要不要也去幫忙,我就這樣找到了intern的工作,且還是有很不錯pay的intern,於是我就開始了每天開一個半小時上下班的純美式上班生活,關於這個intern公司也有很多故事可講,在之後再詳述。
2004年五月中,我正式畢業了。
2004八月1日,告別了Stony Brook,我搬到離市區較進的Queens,展開了新的生活 。
 
Intern與consulting經驗
8個月的Intern 
JT介紹的公司是個位於長島Nassau county 與 Suffolk County邊界的一個城鎮叫Melville。那裡辦公大樓不像都市那麼密集,都是一棟大樓裡有很多公司,然後旁邊有巨大的停車場。這個公司當初主要是要做一個Check交換的平台,使用者可以利用check掃描機直接刷check或是透過指紋認證藉由該平台聯繫認證中心作授權,然後把check的影像存到資料庫中並完成交易,使用者也可以透過該平台檢視所有的check交易。這公司有兩個關於此項技術的Patent,因為check在美國使用非常普遍,所以公司創辦人之一的Claudio先生憑著這兩個專利吸金到數百萬美元資金,這家公司當時還算是個小有規模很有遠景的公司。聽說最好時曾經有快1百多員工,且有7名會計。在IT bubble後,錢也燒的差不多了,但是這個理想中的平台並沒有架構完成。於是公司陸續縮邊,並遷移到較小的辦公室。當我加入時,整個公司在長島只剩15人左右,在Florida Tampa Bay約剩5人。

當時在長島的公司,一個程式設計師都沒有。只剩兩個網管Brian和Justin。其他都是Sales 或是管理階層的。當時的系統除了兩個主要的但問題重重的系統是自己維護的,其他的新系統都是整個外包到印度作。我一開始是和JT和另一個JT介紹進來也是我們學校畢業的Ukraine裔的年輕女生Lana一起撰寫新平台的文件。後來因為臨時公司想把server從Brooklyn機房撤回省掉一個月五千多的租金,所以得把兩個系統和DB整合到一台server裡,當時兩個主要的系統都是用C++寫成一個巨大的ISAPI,只要改一個小地方,就得整個重新compile程式,且照理說ISAPI應該沒有performance的問題,但這兩個系統卻出奇的慢,因為沒有程式設計師,所以我就順理成章被分派到這個案子。當時除了重灌DB2,重建資料、轉移程式得自己來外,還遇到因用C++寫的舊程式連db的API是用某付費Third party的API。因為我們只有for AIX的版權,沒有for Solaris 的版權。打電話去問for Solaris的價錢,對方要價幾十萬美金。若是以前公司手頭闊綽時可能會買,但現在就不可能了,所以我提議用Java改寫那部分的程式,因為JDBC for DB2 DB2本身就有提供了。因為遷移在即,我記得我用了一天的時間去了解那個C++程式,然後一天去寫類似的功能,那個程式簡單說是就是一個daemon程式,每天支票處理中心會FTP一個含有今天所有交易的支票影像和metadata的壓縮zip檔,這個daemon程式會定期檢查是否檔案已經上傳,若收到檔案,即解開檔案,把檔案做適當處理並把資料存到資料庫。其實整個過程並不是很困難 ,煩的是了解zip檔案裡的存放規則與meta ata 的格式,支票處理中心是利用機器批次處理所有收到的支票,然後透過軟體轉存成zip檔案,檔案內資料都有一定的格式 ,所以我必須確定資料正確的被parse並轉移到我們的系統。

當這個project 完成後,整個公司把我當成救星似的,連Claudio都來和我說Good job! 因為這兩個系統和他們的官司輸贏有很大的影響(公司當時-現在也是-在和Chase美國大通銀行打侵權官司,因為公司手頭上有兩個支票數位處理的專利,他們告Chase偷用他們的idea,聽說Chase已經要庭外和解,但是和解金是多少好像還沒談妥),所以他們必須確定系統是能運作的,而系統因為整合到一台機器 performance也恢復正常。所以我這個intern工作,若我沒有要走,我想他們還是會一直留我。其實在我作了2個月後左右,當時JT介紹進來的另外兩個人都被解僱了,只留我一個。且自從這個問題結束,我陸續也是做些QA 或 設計評估的工作,不大需要寫code,每個月還有2千6可以拿,對於一外國學生來說算是不無小補。

在8月中,我提出辭呈。雖然JT一直勸我等找到工作在走,但是我實在不堪每天要開來回快2個小時-因為學校宿舍只能住到7月底,我8月初已經搬到Queens 。Queens到長島更遠,且塞車很嚴重,加上我想找一個比較有挑戰性的正職工作,所以當機立斷辭掉工作。當時Claudio 和我當時的主管Sandy,希望我轉成Consultant,我口頭上說當然說好,但是心理真的有點厭煩了。後來在brian苦口婆心下幫了他們一個忙。上禮拜 Brian又MSN我,說Sandy要我再幫他們一個忙,會給我不錯的pay,因為我還在渡假,我就和他說等我回去再談。(更新: 後來我有幫過他們一兩次,第一次是友情贊助,另一次他們還真的有寄給我一張支票)。

總體來說,這個工作算是給我上了一堂美國公司101的課程。因為是小公司,所以沒有太多繁文瑣節,但是我是唯一的非美國人,還是能感受到不同的地方。 比如說會議上外國人真的是很會講,之後再把事情都推給你做。還有外國人也是會講關係的,像Justin和另一個manager是親兄弟的關係,聽說這也是Justin一直沒被裁員的關係。下班後也和Brain 與Justin去喝過幾次,體驗長島的巨型Pub 餐廳,遊樂場還有保齡球場合一。順道一提 Brian長的有點像比較高大版的Denzel Washington ,他大我2~3歲,是黑白混血,講話有點慵懶但個性很cool熱愛棒球的男生。我的主管Sandy,就是那種很美國的男生,我覺得他年紀搞不好比我小,他長的有點像Justin Timberland,做事蠻隨性,其實對技術沒啥概念。 JT常私底下和我說Sandy根本不知道自己在作啥,反正當時他給我很大自由,所以我對他也沒太大意見。 

1
個月的consulting

在8月底做完intern後,本來想可能會失業一陣子,沒想到隔天就被叫去面試一個在華爾街短期consulting的工作。經過一次phone interview和一次on site interview後,我得到了這次consulting的機會。這個公司其實是一個non-profit的教育組織 ,他們的產品是一個線上結合遊戲與學習的產品。學生可以透過這個遊戲模擬現實生活,透過不同的選項,選擇不同的人生,像是升大學或工作, 同時還有dating 旅遊等,總之是個寓教於樂的遊戲。。 

這個建構中的系統是第二版,要取代原本已經在數間學校使用的第一版系統,但是就像很多的IT project,這個project嚴重delay。當我參與時,只剩一個月就要結案,但是還是有一堆功能尚未完成。這個組織的大老闆Wayne是一個一眼看起來就是很會做生意的businessman 。第一次見面,他就大篇幅的告訴我他如何把這個組織從虧錢推到現在是有盈餘的狀況,但是他不是直接負責這個案子,他把案子委託給PM Vincent先生,他是一個說好聽一點是nice,但難聽是很不專業的PM,他本身沒有技術背景,所以每當有啥技術決策要作時,他就開始舉旗不定。 

這個案子除了不coding的Vincent外,就我和另一個印度女生Thertha在寫code,另外有一個Part time,不寫code且在家工作的programmer作為諮詢顧問和另一個Part time仍在就學的網管,加上一個中年女性但身材還是保持很苗條的秘書。因為案子很趕,且進度大符落後,所以我和Thertha幾乎每分每秒都在寫code。 Consultant 通常不是按件計費就是按時,這個project是按時,所以印象很深刻的是公司還給我們一張紙,紀錄每個小時的進度,工作到七八點是家常便飯,偶爾周六還得去工作。這個案子的code使用JSP model 1,接手時那個jsp code已經變成典型一旦系統擴充就衍生成的spaghetti code,邏輯和presentation混在一起不說 ,有些邏輯還都hard code在裡面,資料庫也頗為混亂, 有一百多個table。 但是案子結案在即, 所以也只得硬作下去, 當時真是忙到回到家只想睡覺 。 

作了一個月後,案子也差不多完成了,我和Vincent提出因為要準備interview所以不能繼續這個案子 ,周旋了幾次 ,他終於同意讓我走 ,因為當時已經說好是短期的, 所以他不能不讓我走。這個consultant也讓我之後1個半月找工作的時間有不錯的經濟基礎。 

這個經驗最好的回憶,是每天一個小時的午休時間- 在Wall Street, South Street Sea Port ,Futon Market閒晃的時光。因為是第一個在曼哈頓的工作,所以所見所聞都讓我覺得有趣或新奇,還有每天回家在地鐵上和Thertha天南地北聊天,有時抱怨Vincent的愚昧兩人不禁在地鐵上大笑的畫面 。



繼續閱讀
: I Love New York ()

 

 

 



arrow
arrow
    全站熱搜

    nycEngDiary 發表在 痞客邦 留言(0) 人氣()