美國工作培訓的所見所感
(讀友來函)

 

轉載(自讀者來函)
感謝讀者與我分享他的見聞感受。我相信他也一定願意分享給其他讀者。

2003/08/01


侯先生﹕

您好。

自從 "閑談SOHO" 後﹐又有近一年沒有聯繫了。我從今年起又回到了技術崗位﹐作硬件製造中的軟件工程師﹐生產線測試平臺代碼的開發與維護是我主要的工作內容。近期在美國工作培訓3個月﹐一直想把這裡的所見所感寫下來和您分享﹐下週回國﹐今天決定動手寫下來。在您的讀者來信裡面還沒有這方面的內容﹐應該還挺有趣的。

我所服務的公司是全球最大的IT技術公司﹐但是我的工作同事都是普普通通的美國工程師﹐並無特別超常之處﹐工作環境的不同導致了他們有一些我認為比較不同的地方。因為他們普通﹐所以可以借鑒。媒體網絡上有太多天才鬼才的故事﹐我以前也很愛看﹐久了發現他們的經歷和習慣對於我這樣的普通人來說似乎更多地只能增加談資﹐而不能真正地學習。所以還是看看國外和我們一樣的普通人﹐看看他們是怎樣工作的﹐也許有趣﹐也許有益。巧的是﹐很多地方可以和您以前發表的文章一一對應。

1. 編程不必是自我虐待﹐全看自己的工作定位﹕
我們所維護的系統是很多年前編寫的(使用MS C)﹐使用了很久﹔目前在開發一套新的系統。編程語言: PYTHON為主﹐另有JavaScript。我開始很奇怪為什麼選擇PYTHON而不選擇JAVA這樣更炫的語言﹐後來我的Team Lead很認真地和我解釋他們選擇PYTHON的原因﹕第一是因為PYTHON的功能足夠開發本系統﹐他們曾經考慮過Perl﹐但是發現某些特殊的部份不如PYTHON﹔第二個原因﹐也是很關鍵的一個原因﹐是PYTHON比較易學易用﹐方便整個TEAM迅速進入新的開發﹔第三個原因是PYTHON的語言格式使得程序比較易懂﹐利於後來的工程師迅速跟進﹐利於整個Team協同工作﹔第四個原因是可以在Linux上運行﹐以及PYTHON本身免費﹐這樣利於最大限度地降低產品成本﹐吸引客戶購買。聽了這些以後﹐我不禁想起侯先生的一篇"編程不必是自我虐待"。我們的系統還有JavaScript編寫的模塊﹐Windows平臺上的用VC++6編寫。很多工程師幾種語言同時用﹐不作任何一種語言的"狂熱Fans"。打個比方﹐我們的Class是engineer, 編程只是一個member function,程序語言只是member variable;對我而言﹐除了學習編程﹐還要學習英語寫作和聽說﹐學習生產製造。我註定不能成為程序頂尖高手﹐但是我可以作一個優秀的工程師。倒是有很多網上的"貼王"其實什麼都作不來

事實上﹐我們的系統已經有幾個國際大廠在考慮購買了。我的美國同事只是淡淡地對我說﹕這樣可以減少我們被lay off的可能性。是啊﹐就最現實的層面來講﹐公司付薪水給我們﹐或者不lay off我們的原因﹐不是看我們是不是用最炫的語言編程﹐而是看我們是不是能多快好省地創造價值﹐創造利潤。我們寫軟件是為了保證工程師的工作﹐而不是在網上衒耀。

2. 如何對待網上的免費材料﹕
我有一次發現Bruce Eckel寫了一本Thinking in Python,在網上可以下載。 趕快獻寶﹐給Team lead發去。Team Lead對我表示感謝的時候﹐我說我只是不知道其他同事的郵箱﹐要不然一人一份。Team Lead和我說開Team meeting的時候他會簡要介紹這本書的內容和ぴ重點﹐有感興趣或和工作相關的同事可以報名﹐然後給他們發過去。我很不理解﹐反正是免費的﹐整個team一人一份又有什麼。後來Team Lead和我說大家都很忙﹐要慎重選擇閱讀資料﹐否則耽誤別人的時間。我慢慢地理解了﹐侯先生在文章裡也談到過有的人盲目下載大量的免費資料﹐其實真正是浪費了時間﹐損壞了眼睛。一切的節約歸根到底都是節約時間和精力

3. 傳統書籍的不可取代性﹕
這次來美工作﹐臨時接到任務讓我接手維護一個印度工程師的程序﹐用VC++編寫。JJHOU上免費下載的MFC PDF﹐可是大大幫了已經一年多沒碰VC++的我。但是還是希望拿到一本實實在在的書來看。在和同事一起工作的過程中﹐發現每個人都有不少的書﹔即使是網上有免費pdf的﹐他們也會買回來書看。這一點頗合我意。一次聊天的時候﹐他們不約而同地講﹐他們還是喜歡看紙做的書。所以﹐侯先生一定會更加自信﹕書籍﹐是不可取代的

4. 熱愛自己的職位
剛來這裡的時候﹐發現果然和我在國內聽到的一樣﹐週圍的工程師很多都是為公司工作了20余年。和他們慢慢熟悉了以後﹐有的時候和他們聊天我有點詫異﹐他們總是說﹕一般的美國人不能負擔什麼什麼﹐我不一樣﹐我是"工程師"﹔或"我們有一個好的工作﹐我們是'工程師'"。說話的神情仿彿國內的人說"我是老闆""我是老總""我是作生意的"一樣。後來發現他們的確以自己工程師的工作﹐職位為自豪。去了他們的家裡看﹐發現他們的生活條件也的確不錯﹐是中產階級的生活水準。想起侯先生說起充足的經濟條件能夠讓自己從容的作自己喜歡的事﹐一點不假。我想我現在心態改變了不少﹐和一些開飯店的朋友聊天時﹐也開始自豪地說﹕我是一個"工程師"。

3個月的時間說長也長﹐說短也短。但是還是有不少思想上新鮮的收穫。幾天前去Team lead的朋友那裡理髮﹐她是個self-employee,之前約時間﹐之後還要付小費。 15美元的收費﹐大大高于理髮店﹐最後Team Lead還提醒我如果滿意再給2美元的小費。體驗到了在一個組織裡你可以混日子作南郭先生﹐作self-employee所有的錢都要憑誠實勞動換來﹐但是高品質的勞動就是理直氣壯地要高價錢﹐對客戶而言自己滿意給小費也是對別人勞動的尊重和感謝。看到以前有的人寫信要求侯先生回答他們如何作他們手頭的某個程序﹐解答的"越詳細越好"。他們埋怨老闆付給他的薪水低﹐希望自己"錢多事少離家近"﹐卻要求別人免費為其服務。孰不知勞動有價。JJHOU網站除了支援侯先生的個人事業外﹐其他的文章應該為了"分享"﹐分享知識﹐分享心得﹐甚至,分享錯誤(汗如雨下)。再有其他要求﹐或置之不理﹐或收取費用﹐這就是我現在的想法。

最後﹐給侯先生摘錄幾條一個Python暢銷書作者Mark Lutz自己列于網站的講課收費標準作參考﹐也讓大家看看什麼是美國的知識有價。($40k-$60k在這裡屬於中產階級的收入﹐大家可以比較一下)

Standard course fee: $7500 (3 days), $6000 (2 days)
Travel expenses fee: $1000 (average, or fixed)
For a 3-day on-site course, 15 students, you make copies: $8500
To keep things simple, I prefer to charge the $6000/$7500 flat-rate fee (plus expenses) for the course. But as a basis of comparison, at the $6000 2-day rate, this comes out to $3000 per day, or $400 per student (for 15 students). At the $7500 3-day rate, that's $2500 per day, or $500 per student. Depending on your situation, also add in the copying costs and travel expenses to get more accurate day/student figures.

詳見: http://home.rmi.net/~lutz/mytrain.html


祝﹕ 全家快樂。

Best Regards

-- the end