不安分的2004與震盪的2005——2004中國程序員大調查- -

 他們是誰?在做什麼?

 不安分的2004與震盪的2005——2004中國程序員大調查

      "這是最好的時代,這是最壞的時代;這是智慧的時代,這是愚蠢的時代;這是信仰的時期,這是懷疑的時期;這是光明的季節,這是黑暗的季節;這是希望之春,這是失望之冬;人們面前有着各樣事物,人們面前一無所有;人們正在直登天堂,人們正在直下地獄。"
                                                                                                    ——狄更斯《雙城記》

       在審視屏幕上的數據圖表時,大文豪狄更斯的斷言不斷在腦際縈繞。面前這份Excel文件,包含了20,000多名中國程序員對近70個問題做出的回答。這 些問題涉及軟件開發工作的各個方面,來自今年早些時候本刊聯合CSDN網站和各種IT機構所做的大型網絡調查。面對全國60萬開發人員(其中30萬爲職業 開發人員),結合其他的一些調查和報告,本文試圖說明中國開發者工作狀況,並在某種程度上對今年的發展趨勢做出預測。


       有 位朋友在一篇爲中國軟件技術叫屈的文章中說,他當年曾經"用6502寫過軟卷軸"。相信現在大多數中國程序員都看不懂這句話——實在太過時了。現在是年輕 人的天下,20—30歲程序員佔總人數的80%以上,而其中26歲以下的又佔一大半。乳臭未乾但朝氣蓬勃,這是最恰如其分的評價。
       這有理由讓人擔心中國程序員年輕化帶來的問題。從人員結構來看,程序員、高級程序員、項目經理、架構師的比例分別是35.44%、19.74%、 10.24%和2.42%,27歲以上30歲以下的人員,具備相當實戰經驗,人數雖少,但卻是項目的中堅力量。大量缺乏經驗的年輕開發者,仍在"從奴隸到 將軍"的漫漫長路上摸爬滾打。他們的成長,同時也代表着中國軟件技術和業界的逐漸成熟。
       這支年輕的隊伍是新生產力的代言人,他們是否得到了應有的回報呢?52.86%的受訪者月收入在1000-3000元之間,基本上是入行兩年內的正常收入 水平。月收入3001-5000元的佔25.49%,屬於項目中的主力程序員級別。12.42%的受訪者月收入達到5000-10000元人民幣,恰好與 前文提及的項目經理和架構師比例之和大致相當。國家統計局2004年3季度的統計結果顯示,城鎮人員月平均收入約2900元;軟件從業人員的收入在社會上 處於中等偏上位置。另一項關於薪資的調查顯示,開發技能和經驗是影響程序員收入的重要因素。
       影響薪資的因素還包括工作地點。北京、上海、深圳、廣州是IT企業集中的城市,這些城市的軟件開發人員收入水平大致相當,但各地有各地的特點:廣州中低收 入者比例比其他城市高,北京中偏高收入者居多,上海和北京類似甚至更爲明顯,深圳月收入5000-10000元的程序員在四個城市中是比例最高的。
       93.75%的受訪者在項目中用到數據庫技術,行業項目開發和應用軟件開發勢均力敵。特別值得注意的是教育(5.85%)和製造業(10.82%)的行業 應用。國家在遠程教育方面的政策性投入顯然推動了教育行業軟件的發展;在10.82%的數字背後,是製造業信息化需求高漲的呼聲。教育軟件和遠程教育系統 仍將呈增長態勢;而計算機相關製造業方面,由於PC市場的整合,有太多未知因素會影響其發展。

我Java,我開源

       中國開發者普遍接受J2SE 1.4平臺,作爲推出已經兩年的成熟Java2平臺,J2SE 1.4完全有理由享有這樣的明星待遇。開發工具方面,JBuilder繼續稱霸,但開源的Eclipse已經搶到18.94%的佔有率,且呈增長態勢。在 8月份的一次線下活動上,Borland(中國)高級工程師左輕侯先生表示,Eclipse和JBuilder不是一個級別的東西,前者是IDE,而後者 涵蓋了軟件開發生命週期的各過程,是成熟的企業級開發平臺。隨着Eclipse的成熟,更多特性被加入進來,很難說它未來會發展到什麼程度。IBM對開源 社區的捐助,顯然有其深意。


       無論如何,開源軟件爲Java擁有成熟企業級架構做出了極大的貢獻,同時自己也贏得了市場的認可。JBoss試圖通過銷售服務掙錢,如果它真的成功,開源 軟件對抗商業軟件也有了經濟意義上的說服力。沒有人會只想要一張吱嘎作響的牀,開源與商業的根本分歧在於,到底什麼才能成爲商品。今年開源社區官司不斷, 其中甚至有開源組織之間互相攻擊的例子(Apache與JBoss互稱對方侵權),讓不瞭解開源的人頓生"相煎何太急"之感。別忘了,開源協議的複雜度, 並不比微軟那紙"最終用戶協議"來得輕巧。號稱"自有知識產權的Linux操作系統"的,可以休矣,踏踏實實學JBoss纔是有出息的做法。
       調查顯示,開源軟件的首選平臺是Linux。商業(ERP、CRM)和Web應用是開源軟件的兩大應用方向。在被問及"使用何種開源協議"時,近一半用戶 選擇了GPL,相信這與開發者對各種協議的熟悉程度有關(或者說,與受訪者經常使用的開源軟件所採用的協議有關)。

.NET異軍突起

       當Anders Hejlsberg選擇離開Borland時,整個Delphi開發者社羣都在嘆息。在 .NET Framework上Hejlsberg找到了更能實現自己想法的空間。如同整個.NET平臺,C#語言如今已經是計算世界中不容忽視的初生牛犢。
       .NET是繼Java之後最重要的平臺級開發框架。儘管在我們的調查中僅有一半的受訪者已經開始在.NET Framework上進行應用開發,但在回答"明年打算學習什麼語言"時,選擇C#的多達36.21%。這說明基於.NET Framework的應用開發還有很大空間。



       倉促推出的Delphi 8 for .NET並沒有讓Borland追上微軟的腳步。該產品被普遍認爲是讓人失望的"半完成版",許多Delphi開發者轉向VS.NET。VS.NET幾乎 是唯一可選的成熟.NET開發工具,在Delphi 2005真正贏得市場(機會微乎其微)之前,目前83.82%的佔有率不大可能降下來。作爲Delphi的老用戶,我期望Delphi 2005能收拾Delphi 8 for .NET的爛攤子,在.NET Framework開發工具戰場打下自己的一塊地盤——這個任務有些艱鉅,因爲有82%的受訪者表示,短期內不會考慮更換開發工具。


       借.NET Framework高歌猛進之機,微軟對VB動了一次大手術。VB.NET是真正面向對象的語言,撇除某些歷史遺留問題,對.NET Framework的支持已經足可稱完整,而且也獲得了僅次於C#的用戶追捧度。Visual C++.NET可謂是夾縫中生存,面臨不高不低的尷尬局面。對於C++程序員來說,現在馬上決定轉向    .NET平臺尚爲時過早。除了Delphi,另外一些編程語言/應用平臺也在向.NET靠攏,特別是一些動態語言。

       絕大多數程序員是從其他平臺或編程語言轉向.NET Framework應用開發。其中,來自C/C++的人數最多,達27.29%(我猜他們不會太happy);來自VB的佔22.49%(上帝保佑吃飽了 飯的VB程序員);來自Java的佔16.42(Bye, McNealey);來自Delphi的佔15.99%(跟着Anders沒錯)。不能忽略從ASP等腳本語言轉向ASP.NET的程序員們,他們佔總人 數的13.18%。是的,他們還不是多數,不過請注意,.NET Framework似乎對每個領域的開發者都具有吸引力,這的確是它可怕的地方。

       有趣的是,58.34%的受訪者表示,他們的.NET應用需要移植到其它操作系統平臺。開發者的胃口似乎永遠填不飽,怎麼能責怪他們——誰敢說結合 Java跨平臺和.NET語言無關的想法是錯誤的呢?然而理想終歸是理想,微軟將把     .NET Framework和Windows操作系統融爲一體,它可不希望別的操作系統藉助.NET而崛起。

Web Service:愛你沒商量

       在不間斷的爭論之後,XML/Web Service終於漸入佳境。目前在開發中使用XML的人數佔總人數的59.54%;對於Web Service,這個數字僅是49.51%。調查中顯示的增長趨勢令人震驚:計劃使用XML的人數佔總人數的89.44%,計劃使用Web Service的人數佔總人數的84.74%。很明顯,XML/Web Service已經或即將成爲未來應用中數據交換、表達的殺手級標準。由於大量應用會是跨地域的網絡應用,所以,Web Service的安全性和效率,是受到普遍關注和擔憂的問題。


       令人憂慮的是,有約15%的用戶在選擇使用XML時,是出於"遵循業界標準"的考慮。把"業界標準"當作唯一的影響因素,極有可能忽略項目本身架構的合理需要,使數據表達和數據交換成爲項目的薄弱環節,甚至是雞肋。

移動設備應用開發:這塊奶酪能動嗎?

       有24.34%的受訪者涉足嵌入式/移動設備應用開發,這個數字可能略高於實際的比例,但也足可說明嵌入式/移動設備應用開發是一塊誘人的新鮮奶酪。 J2ME是嵌入式/移動應用平臺的王者,Linux和WinCE分列二、三位。Nokia等廠商力推的Symbian平臺目前開發者佔有率尚未達到滿意水 平,考慮到調查項合併了嵌入式設備(例如PDA)和移動設備(例如智能手機),Symbian、WinCE系列在移動平臺上會是競爭的主要兩方。如果廠商 能在標準實現上做得更加規範,則J2ME的跨平臺特性會發揮得更加淋漓盡致,繼續保有王者地位。



       從編程語言的角度來看,C/C++、Java、C#是嵌入式/移動設備應用的主要開發語言。這也恰好可以解釋爲什麼許多程序員選擇C/C++、Java和C#作爲他們下一個要學習的語言。


       我在今年初的文章中曾斷言,未來的應用會是跨設備、跨媒體的。無論是"PDA+手機"還是"手機+PDA",最終個人移動終端會是我們不可缺少的隨身工具。越貼近移動終端特性的應用,需求也越大。通訊、日程管理、商務,是移動設備應用的三大主題。

       這塊奶酪到底能不能動?個人移動終端軟件應用會是極其龐大的市場,不過最好廠商之間的隔離、操作系統之間的隔離考慮在內,甚至同一廠商和操作系統,你也有 可能需要爲每個機型做一個單獨的版本。"一次編寫,到處運行"在移動終端上現在還行不通,哪怕是J2ME也不能完全做到。所以,你針對的用戶,將會是整塊 奶酪上面的一小粒。爲了獲得另外一小粒,要付出的力量可不小。與硬件緊密相關的特點,使得移動終端開發具有相當陡峭的學習曲線(僅就各主要手機型號的 native的代碼而言,不包括Java,也不包括WinCE)。選擇移動終端應用開發,或許得抱着不成功則成仁的決心。

精緻化遭遇軟件作坊

       李維先生在《Borland傳奇》一書中寫道:"精緻化的程序開發能力、面向對象和Modeling技術的平民化,則是屬於比較貼近開發人員的發展,也是 開發人員能夠掌握和進一步控制的因素,是軟件人員必須瞭解未來繼續從事軟件開發工作時必須克服和掌控的技術趨勢。"各個開發工具廠商都在推自己的"精緻 化"方案,例如Borland的ALM/SDO,IBM Rational的六種開發角色。事實上這些方案都是關注開發過程本身,力圖使其中各種參與角色和環節達到最優化的配置與協同。
       這些概念在多數中國軟件公司中遭遇了困境。
       我們不得不承認,許多軟件公司的開發過程仍然停留在作坊時代,甚至連最基本的配置管理都沒有做到。在工作中沒有使用任何源代碼版本管理工具的竟然佔總數的 34.1%,因此帶來的混亂和損失之巨大幾乎無法估量。在開發工作的尾聲,沒有使用任何自動化測試工具的佔到總數的60.24%,這樣做出來的產品誰用誰 倒黴。




       有69.21%的受訪者表示其服務的組織使用各種建模工具。具有諷刺意味的是,我不止一次聽到過所謂"先編碼,後建模"的說法。建模成爲糊弄客戶的手段, 或是純屬爲了達到CMM標準要求做的表面功夫。難以想象沒有源代碼管理和自動化測試的軟件企業,能很好地利用建模和其他方法,做出高品質產品。

       TDD/Agile/XP/RUP/MDA,這些軟件開發方法和思想不見得會在短時間內對中國軟件開發技術產生很大影響。許多中國軟件企業需要補基本功這 一課,再來談"銀彈"。對於開發者也是如此,與其問"你XP了嗎",不如問"誰吃了我的代碼"來得實在和有意義。

專業水平:修行靠個人?

       多數軟件企業沒有對程序員開發水平的提高給予足夠重視,也未配備相關資源。沒有爲開發人員技術培訓撥出專項費用的企業佔77.64%。
       由 於各種原因,程序員經常參加各類技術講座的比例不超過22%,有30.58%的受訪者不參加任何由廠商主辦的開發者技術大會。開發人員瞭解技術信息的渠 道,集中在廠商技術支持站點和第三方技術信息站點。MSDN中文站、IBM DeveloperWorks中國網站和Sun技術社區,是中國開發人員最常訪問的廠商技術支持網站。BEA dev2dev和Sybase Developer Network是相關領域技術人員的首選信息來源站點。大多數開發者傾向於獲取本地化內容,而非閱讀英文內容。


       受訪者普遍認同各類廠商認證考試,持有廠商認證證書的受訪者佔總數的34.8%,而有77.74%的受訪者表示打算參加這些認證考試,
       培訓是受訪者認爲重要的學習渠道之一。"希望通過培訓學習實際技能"和"希望通過培訓學習更多理論知識"的人數大致相當。費用和時間是阻礙開發者參加培訓 的兩大障礙,後者與所在企業相關規定有關。所以,選擇"晚班或雙休日班"培訓的人數佔總人數的76.8%,也就不足爲奇了。在選擇培訓機構時,師資力量是 最重要的衡量因素。知名的資深人士、專業培訓講師、專家學者,是受訓者最願意接受的講師。只有4.32%的受訪者願意選擇大學教師作爲講師,這從一個側面 反映了我國大學計算機專業教育躲進小樓自成一統的自閉格局。

結語

       2004年初,我曾提出幾個關鍵字:移動平臺,64位計算,Linux,在線娛樂,Blog。2004,這不安分的年度開始於一個笑話(FM365域名被 搶注),結束於另一個笑話(聯想收購IBM全球PC業務)。2005可能是震盪的一年,無論是軟件還是硬件,抑或是互聯網本身,都即將進入新一輪的進化與 整合。繫好安全帶了嗎?狠狠地踩下油門吧。

       本次調查是CSDN主辦,聯合衆多技術網站共同進行的調查,用戶需要填寫幾十個專業問題。這是中國軟件史上最爲詳盡和專業的調查,大家的參與熱情之高,遠遠超出我們當初的預料。


本文來自《程序員》雜誌

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章