中國程序員的文化模式

>>>  技術話題—商業文明的嶄新時代  >>> 簡體     傳統

轉載自: http://huangjien.iblog.cn
 
本文的中國程序員指的是在中國大陸境內(不包含港澳臺和其他華語地區)的軟件開發人員,他們通常會被劃分為初級程序員、高級程序員、系統分析員和項目經理。他們的年齡通常在20-40,20—30歲程序員占總人數的80%以上,而其中26歲以下的又占一大半。收入水平在國內屬于中等偏上,文化水平較高。

由于是在大陸地區,他們普遍是無神論者,無信仰;絕大多數為工科出身,主要來自計算機、自動控制、電子、應用數學等相關專業,因為大陸大學的職業性教育使其他專業的學生難以進入這個領域,男性比例偏高。習慣用二分法分析問題,受傳統儒家、道家思想影響深刻;他們的工作習慣把他們培養成了實用主義者和完美主義者。

由于在大學中的職業性教育特點,造成他們普遍輕學術,重應用,自學能力低,創新能力低的特點。一個直接后果就是能夠非常快的進入工作角色,而難以有所深入、創新;而其他專業的畢業生進入軟件開發行業后,由于自學能力弱和缺少必要的全面的計算機基礎知識教育的原因,除個別特例外,計算機專業畢業生普遍反映與他們有可以感覺得到的溝通問題;并且,即使是計算機專業的畢業生,在某項技術上,如果沒有實際項目經驗,即使經過很長時間的自學,也往往不得要領;所以,雇主往往在招聘時,需要某種技術人員時,有實際項目經驗成為一個重要指標,而不是象西方國家看重綜合素質。這都是職業性教育造成的惡果的佐證。 

目前,中國程序員的總人數非常龐大,但在計算機基礎理論上毫無建樹,在計算機軟件的主流產品中,沒有一個是國產的,甚至在構建在產品之上的流行框架,也沒有一個是中國程序員的成果;20年來,他們都在學習語言、理解框架、構筑應用,應該承認:中國的計算機軟件開發、應用水平并不高。中國程序員們目前主要從事系統集成類開發、外包開發的下游和測試工作,“學術性”的研究職位非常少,專門研發人員并不太多。這意味著雖然有一定的入門門檻,但是在入門后不太長的時間內(1-3年)就可以達到發展的“天花板”,而很難找到其他出路或再上升到一個更高層次。而他們的工作更多是一種他們戲稱的“體力活”的簡單代碼開發,顯然有一些經驗的年輕人在這方面更有優勢,他們之間的“體力”上的激烈競爭使這個行業從業者成為當今預期壽命較短的異類一族。而幾乎所有的軟件企業對更新員工技能的投入都極低,因為可以很容易招聘到有特定技能的人,并且確實在系統集成方面的培訓都只對新人有用而對有經驗的員工只是常識,而更高級的培訓都超越了企業目前的需要,沒有立竿見影的效果。

所以,在程序員中普遍存在一種“30歲”或“35歲”焦慮,這不是空穴來風,而是他們對未來不確定性的焦慮。由于行業收入和社會認同對剛走出校園的大學生很有吸引力,有大批人員加入了這個行業,后來的年輕人會對先行者產生強大的壓力。先行者無法保持個人技能持續提高,也就無法讓薪水持續上漲,除轉入管理(作項目經理或創業作老板)外,基本就只能轉行了。

在疲勞的工作、工作壓力以及對未來的焦慮的聯合作用下,中國程序員們一般都有輕度抑郁表現:失去興趣和快樂感、容易疲乏、總想不高興的事、思維和反應遲鈍、自責自罪、工作學習和創造能力明顯減退;軀體癥狀是:睡眠障礙、疼痛、乏力、胃部不適、食欲欠佳、心慌氣急,以及各個系統的癥狀。不過,由于都是成年人,心智都比較成熟,一般不會有嚴重后果。
 
中國是一個以儒家思想為主流,輔以道、法、佛家思想的國家,各種思想經過上千年的互相影響、融合,已經有些難以分清彼此。有個調侃就說:“中國人平常是儒家,得志了變成法家,失意了就變成道家了。”中國程序員基本都是一個教育體系中的產品,在文化思想上非常相似:全部都是無神論者;表達感情時趨向于間接、含蓄、內控的表達方式;組織歸屬感強,采取協調、和諧的態度,時常表現出中庸、折衷、妥協、世故,而不走極端的性格,在群體中盡量采取順從團體的態度,不愿在團體中把自己的地位顯露出來;組織程序、原則的訓練基本為零;傾向于相信命運,愛用兩分法來作判斷,系統邏輯為非此即彼,人行為模式是謙虛、謹慎、抑制,甚而是稍有退縮。

但是,這種文化的另一方面使他們在堅持自己的觀點上會有很強的韌性,加上對組織程序、原則的訓練少且不重視,在觀點遭到反對時,會在行動上表現出非此即彼的強烈的不合作態度,保留意見就同時保留了實力,激烈一些的就會想辦法調離出團隊;但在表面上,不會表現出強烈的態度,甚至有時會讓反對者感到他相當好的合作態度和善解人意,在遭遇不合作造成的困難時不會發覺原因,感到莫名其妙。不要被此蒙蔽,這是儒家這種“恥感”文化的特征:保護自己的面子,給別人留面子,可這不表示同意對方觀點。內斂的特征常常讓對方最后感到反對者在玩“陰”的。

這種態度顯然不適合團隊合作,傳統上中國的管理方式是“制衡”,通過平衡各方面利益和力量保持穩定;傳統上的優秀的治理者更多時候是“耍手腕”的高手。因而對中國人使用現代西方的管理方法經常無效,團隊的進取能力顯然不足,維持則比較容易。而軟件研發卻通常都需要團隊的很強的進取心,系統集成則次之。

這種管理上的失靈或部分失靈導致的一個現象是:在項目中遇到難點不可怕,中國程序員的單兵作戰能力是很強的,但是遇到規模問題就糟了。我們知道,技術能夠部分消解規模問題,但不能徹底解決規模問題;技術不可能替代管理。所以,中國的項目組,項目經理往往是高手,或者是項目組的首席程序員,這樣才能保證他的意圖能正確實施。在軟件開發由于某些新技術的出現而使程序員個人能力得到極大的擴大時,中國軟件開發界會及時地反映,變得非常活躍;而技術普及之后,競爭轉換到規模水平上時,惡性競爭就會立即展開,程序員們會感覺不好,感到沮喪。這恐怕也是中國軟件業特別喜歡追逐新技術的原因吧。

“恥感”文化在程序員這個職業上造就的另一個特點是:盡量避免內部直接競爭。程序員這個職業有一個特征:程序員們把他們的程序看作他們的外在延伸,事實上,的確有很多人把程序比作他們的子女。批評他們的程序會遭到強烈的反彈,給人的印象是他們都有些犟,不愿承認自己的錯誤;實際上這被看作是在批評他本人,會被他進一步延伸為個人的失敗,他當然不能輕易接受;如果你批評他們的衣著,他會很虛心的接受的,并且銘刻在心,遵照執行,還心存感激。中國有句古話“文無第一,武無第二”,評價誰的文章更好是很難的,評價武藝則比較簡單,打一架就行了。評價程序本來就是很難的(跟評價文章一樣),并且在有可能“傷人“的嚴重后果情況下,項目組內部一般不評價每個人的程序如何,也一般不用競爭的機制來選擇程序(本來人手就不夠),傷面子對中國人是很嚴重的事情;不過,如果展開競爭,會是相當激烈的(保住面子更加重要),激烈程度很容易失控,達到破壞掉項目組的程度。所以,如果不是某個人寫的程序差勁到了離譜的程度了,一般不會有人說什么的;但是,當某人離開了項目組,可以隨意評價而不必顧及他的面子時,評價是不可避免的,而且往往是負面的比較多(可以借貶低對方提升自己的面子)。而對外部競爭時,由于不需要顧及對方面子,則可以不客氣得多。如此一來,可以想見,一些軟件工程手段:走查,內部評審等就勢必難以展開,即使展開,效果也會由于顧及同事面子等考慮大打折扣。在這種會議上,中國程序員比國外程序員的活躍性差很多,本人參加這種會議時總是觀察到,一般都是老外在不停發言,國內同事一聲不吭,有時干脆關掉自己這邊的麥克風。文化產生的效果何其明顯!可是在另外一種會議上,比如技術交流,技術學習會議,項目框架初步討論、研討等學術研究交流型會議,只要不涉及評論他人的成果,中國程序員們還是非常積極的,簡直判若兩人;唯一的不足是組織紀律性差,如果主持人控制會議能力不足,會被不停打斷或者離題。所以,在組織前一種會議時,主持者一定要注意引導向后一種會議的研究型風格,把評審變成更優方案的探討,寓貶于褒,或探討方案長處和弱點,只要不太傷面子,不做根本性否定,方案的主人自然會取長補短做出調整的。
 
另一個國人不適合軟件開發的特點是由“修齊治平”的觀念造成的,“學而優則仕”是它的一個直白的解釋。中國人的一般觀念是:在一個崗位上做的好了,就應該提升到這個崗位的管理者的位置上。所以,程序員們努力工作多半是為了提升到不做程序員的位置上,不是像印度人有安于現狀的淡泊,也不象日本人甘做螺絲釘,也不象西方人士為了興趣愛好而狂熱;沒有信仰在這里成為一個缺陷,而有信仰的人往往更加有韌性,不容易浮躁,不輕易跳槽。而程序員要做到優秀是需要持續的學習,獲取經驗;統計數據表明:中國程序員平均從業時間為4年,美國為14年(2003年數據);這么大的差別,足以使兩國的軟件水平拉開幾代的距離。從根子上看,這是中國人內心的等級觀念造成的,學習和技術只是獲取財富和地位的敲門磚。但在程序員這個職業上,這種傳統思想是非常有害的。

而較長時間的教育使這些傳統在他們內心更加深刻,交流少的技術工作使他們大部分在與行業外的人接觸時表現得比較內向,自尊心強,自認為要優于對方;交談時往往絕不談及他們真正核心的工作內容。對批評的接受能力弱,容易夸大其辭,不愿意做與計算機無關的任何工作(當他還是一個程序員時)。
 
2005.11.04 初稿
 
2005.11.08 二稿


喬 2013-07-05 11:02:11

[新一篇] NASA公布高清圖片:地球之夜

[舊一篇] 程序員的四個境界
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表