以前唸書的時候,總是對自己的英文能力沒多大重視。在美國實習的時候,也覺得自己中文能力根本沒多大用處,大家都是講英文,我會英文,也跟別的美國人沒兩樣。我會中文,也沒人用中文溝通,有甚麼用?寫程式都是英文,沒有中文,是不需要語言能力的。
來上海之後,我卻發現我的語言能力竟然成為我的極大優勢。寫程式的時候需要做 Research,我都去 google,出來的網站也都是英文。轉頭看看同事,每個都在百度上找資料,出來的網站都是中文。我同事盡可能的找中文網站,因為「看英文比較吃力」。但是常常中文網站的訊息並不如英文網站廣泛,而技術性質的英文網站又比中文網站多太多了。對我來說,看中文反而吃力,要習慣各種奇怪的專有名詞的翻譯(鼠標…硬盤..可移植性,封裝,儤露接口….甚麼東西…),看英文反而輕鬆自在。常常找資訊,我就比同事們快而且準確。我的英文能力,原本根本就視為理所當然,現在反而覺得是一大優勢。
反過來看中文,原本覺得在上海反正大家都是講中文,我反正會中文也沒甚麼了不起的。但是一工作之後,上海常常要跟美國總部通訊息。常常又長又臭的技術文檔,或是美國人一些口語敘述概念,常常造成上海這邊諸多困擾。 The rabbit hole is deep 是甚麼意思?! 這個引用 Alice in Wonderland 的口語,中國人根本就聽不懂,可是我卻會心一笑。看同事充滿問號的表情,我就用中文跟他解釋這到底是甚麼意思,有時候拿出中文相似的詞句來解釋。看他們豁然開朗的樣子,我又意識到自己的優勢。拿美國人來說(或是普通的 ABC),他聽得懂美國的口語,但是他怎麼知道要怎麼用中文解釋?我的中文能力,反而成為我在英文中文之間的橋樑,能夠迅速的在兩個文化穿梭,這點我發現並不是很多人能夠做到,能做到的也不一定能像我這般輕鬆。
文化語言是一回事,技術上,我也發現自己跟中國同事不一樣的地方。我因為去年很幸運的在一個很特別的組工作,學到了很多雜七雜八的東西。組上開發程式,被我戲稱為「合體金剛」。既是用傳統的 C++ ,還用艱深難懂的 COM 。但是 C++ 只佔據了 50% 的 code,另外的 40% 反而是用 NI 自己開發的「圖像」程式語言 G Code (LabVIEW),雖然這個是 NI 公司裡面常常需要用到的,在組上卻意外的佔用了 40% (很多)的 code,裡面程式之複雜,是我剛剛開始學怎麼寫LabVIEW的時候非常頭痛的一點。剩下的 10% 用到了最新的 C#.NET 以及 .NET Framework,是以後未來開發程式的主流。
我在這個「合體金剛」上開發了快9個月,LabVIEW code 寫的得心應手(雖然這並不是我想要的結果…我恨LabVIEW!),同事看到我的程式都說好複雜,但是寫得很規矩,很漂亮,我卻覺得這個其實並沒有很難,我看過複雜10倍的程式…我去年在德州還用上了 .NET Framework的東西來開發,用到了 C#, Managed C++/CLI, 還有傳統的 C++ COM。其實這些東西是我比較喜歡的技術,可是因為需求,大部份還是LabVIEW為主。但是雖然如此,我仍然是用到了這些技術,學了很多東西,而且寫出一些很酷的功能,我自己有時候都很強烈懷疑這個真的是我寫出來的東西嗎?
比起其他同事,我可能C++沒有他們強,但是我的知識比他們廣。我寫 LabVIEW 寫的比他們快,而且漂亮,他們 C++ 很強,但是 C# 很多東西就沒聽過或沒用過。來上海工作後,我發現自己其實並不是一個 Software Programmer,我比較像 Software Synthesizer,把一大堆技術聯合起來使用,但是其實對每一個個體技術了解並不是那麼深。這點讓我想起現在在微軟工作的老闆跟我說的一句話,「博學,但是不要精深,因為5年後,你又要學新的東西」。
在上海…我覺得我特別的地方,最強的優勢,就是一個 synthesizer。我語言文化上能夠輕鬆的 synthesize,當兩地文化語言的快速道路,能夠迅速的在兩個世界中轉換。技術上,我的技術知識比較博,但不精深,但是在現在的「合體金剛」裡面卻正好符合他們的胃口。能夠在 C++, C#, .NET Framework, 還有討厭的 LabVIEW 中穿梭,是一個讓我覺得很過癮的事情~
在美國,我只是個會講中文的 Software Programmer,技術上沒有美國人強,語言文化上也沒有任何特殊有用的地方。但是在上海,我是個 synthesizer,是個能夠跟同事解釋美國語言文化以及技術的人。在中國,我才能夠發揮我真正的長處!