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