最近,在國外著名的stackexchange網站上出現了一個有趣的問題,有人問:西方的程序員眼里,東方的程序員是什么樣的?他描述道: 世界的東方(印度/中國/菲律賓)是西方(美國/歐洲)的主要軟件外包服務提供者。 你是否有過與這種離岸外包團隊合作的經歷?如果有,感覺如何? 你對這些來自東方的程序員有沒有一些總結性的看法和觀點(比如:他們是否合作,是否能按時提交代碼,寫出的程序是否有質量?)。依據是什么? 讀者的回復很踴躍,其中一個被頂的最高的回答是關于印度人的,回答中他說一個印度分包商 給他們開發了一個組件,他認為這是他接觸過的最恐怖的程序,里面最大的一個文件體積超過600KB,大概有3萬多行。他向上天乞求希望自己永遠不需要去維 護這樣的代碼。這位答復者說他在印度生活了3個月,發現東方人和西方人在文化上的差異很大,印度人很勤奮,但常常卻不能把事情做對。印度人里有個根深蒂固 的文化,就是從不說no,他說即使你到副食品商店里要求買一條毯子,店主也會說“是,先生,稍等一會”,然后派一個小孩到外面商店把東西買回來。這雖然在 生意上是好的做法,但未必適用于做軟件開發。 另外一個回復是關于俄國人的,同樣,他覺得這些俄國人寫的代碼頂多當作原型來使用,最終都會被丟掉,不能用。 我找了很久,終于在帖子的最底部發現一個關于中國程序員的回復,不過內容非常的有趣: 到現在,我在中國已經待了2年多一點時間了(我是個加拿大人),跟中國的開發人員一起共事你會感到非常的奇特。我敢說上面這些關于東方的程序員的總結都是正確的,至少對于中國人是這樣的。我遇到的/一起共事的大多數開發人員基本屬于這種情況: * 缺少上進心和創造性。這里我并不想說他們很差勁或愚蠢。也許更可能是一種文化。在歷史上他們就有一種官本位和 崇尚權威的傳統。于是他們對來自“上面”的糟糕的設計從不提出疑議。同樣,他們更多的是關注技術技巧,而忽略業務領域知識。我費力九牛二虎之力教他們模式 和各種抽象概念,直到他們能應用這些東西到他們手頭的任務中。然而,過不了多久,就像是決堤的洪水,他們竟然肆無忌憚的挑戰權威,至少在技術層面上是這樣 的,我可不想弄得簽證被撤銷。;-) * 磨擦 前面這個問題說過,但我要強調一下。這也許是最重要的一個問題,是產生中國開發人員跟這里的海外同事(這里是加拿大人)共事時產生緊張關系的原因。通常, 我在這里共事的西方人會特意的夸大跟東方人共事時東方人的一些不好的方面。我這些加拿大同事對人友好但在代碼審查時極其的苛刻。如果發現這些中國程序員一 個小失誤或沒有使用好的編寫方法,他們就是發脾氣、大呼小叫。但當他們自己被禮貌的要求也按照這種要求完成他們自己的任務時,他們也會發脾氣、大呼小叫。 * 犧牲 中國人并不以介意使用蹩腳的二手器械。我坐壞了三把椅子后才終于要了一把稍微舒服一點的椅子。可是當我坐上這把較好的椅子后,突然感覺不是很好,因為看到 這些中國人仍然坐在好像是中世紀那么原始的椅子上。然而,等我訪問了這家公司的總部后,我發現這里的程序員的一張桌子就有我們4~6個人的團隊的占地面積 那么大,更別提他們的椅子了! 在起初,他們編寫的程序并不是很好。這當然是文化上產生的裂痕,但這也是開始時糟糕的系統設計產生的很陡的學習曲線造成的。但你們知道嗎,兩年之后,這個系統中一些最優秀的模塊都是出自中國公司。于是這就更加明顯的導致了雙方程序員的磨擦加劇… 坦白的說,這幾年走過來不容易,以個人經驗判斷事情的趨勢,我認為對這個問題的看法是正確的。 做為一個中國人,對于西方人對我們的看法和觀點,我覺得不需要去急著找他們的論點漏洞進行反駁。你可感到到他們對東方人的不滿是一種普遍彌漫的氣氛,俗話說,蒼蠅不叮無縫的蛋,我們應該還是先從自身找問題,有則改之,無則加勉。 |