在開始任何其他文字之前,首先有必要正視一個根本現(xiàn)實:國內(nèi)外軟件開發(fā)的水平是有差距的。
這一結(jié)論的最直接證據(jù)是每一輪新技術(shù)的發(fā)起者基本上都是國外的人或公司:
從方法論(CMMI,敏捷等)到各種框架(近來很熱的Hadoop等)再到新的編程語言都是如此。
總的來看這類差距似乎可以概括為“原創(chuàng)的缺失”,大多時候,我們只是處在一種“跟隨者”的角色上。
RUP出來后我們跟誰RUP,敏捷出來我們跟誰敏捷,云計算出來后我們跟隨云計算,大致如此。
年紀小的時候,會單純的以為造成這種局面的主要原因是個人技術(shù)能力不足或努力不夠。
但現(xiàn)在想來,這反倒是次要原因。
單以單兵能力來看,國內(nèi)外的程序員群體未必就有很大的差距。
這點可以反過來看,那么多開源的庫,看過代碼后,那個是國內(nèi)程序員看不懂并完全寫不出來的?
如果說既能看懂,有足夠的時間也可以自己寫出來,那么大致上就不是個人技術(shù)能力的問題。
這樣事情就變的有些微妙,我們也就需要在更高的視點上審視一下促成一件事情的因子。
一件事情的成敗大致可以用四個維度去考量:
有沒有意識去做 --》創(chuàng)新
有沒有能力去做
有沒有時間去做 --》環(huán)境
有沒有動力持續(xù)去做 --》意愿和環(huán)境
排除第二點能力之外,其余三點可以大致概括為:勇為天下先的意識(創(chuàng)新)和創(chuàng)新得以生長的泥土(意愿和環(huán)境)。
這幾者彼此影響,不可分割。
一提創(chuàng)新,很多人可能會想到其瓶頸是沒有想法,進而認為差距的主要原因是意識問題。
但這很可能是錯的,就我自身的觀感,程序員這個群體里,現(xiàn)實的情形應該是想法很多,但受種種制約,實踐下來的不多。
現(xiàn)實的需要激發(fā)了創(chuàng)新,也提供了實踐創(chuàng)新的場所和養(yǎng)分,脫離實際需要的創(chuàng)新是走不遠的。
這似乎只能寄希望于本土軟件企業(yè)的崛起,為程序員提供相應的環(huán)境(時間+實踐創(chuàng)新的場所),
接下來如果程序員這個群體再有實踐自身追求的意愿,那么事情將會改觀。
國內(nèi)外差距的一個間接證據(jù)是國內(nèi)軟件開發(fā)的工程化的程度過于薄弱。
軟件這東西過度工程化是不行的,但不工程化也一定是不行的。
先不論CMMI這種大型方法論,就說最簡單的軟件工程數(shù)據(jù)收集。
在這點上國外比較容易找到各種數(shù)據(jù),比如下面這樣的表格:
即使是在日本,也有一個叫IPA這樣的機構(gòu)在定義各種指標,并持續(xù)收集數(shù)據(jù)。而國內(nèi)似乎還沒人做這類事情。
這樣的話對軟件開發(fā)個體而言,負面影響可能并不直觀,但從整體來看卻也是一種切切實實的差距。
這點上很難靠個人來推進和改善,需要有一種組織(軟件協(xié)會?)來持續(xù)推進才有可能改觀。
-
軟件開發(fā)
+關(guān)注
關(guān)注
0文章
608瀏覽量
27338 -
工程師
+關(guān)注
關(guān)注
59文章
1566瀏覽量
68451
發(fā)布評論請先 登錄
相關(guān)推薦
評論