軟件開發(fā)究竟是“難”還是“復雜”?
我一直的觀點是要對“難”做一點分解。
好比說航空母艦的彈射器,我們造不出來,很“難”與一臺機器有一千個螺絲要擰,保證3年中所有螺絲都擰對了,很“難”,這兩種場景下“難”的含義是不同的。
軟件開發(fā)的難度更多的類似于后者,表現(xiàn)為繁雜,而不是類似于前者表現(xiàn)為“搞不定”或“做不出來”。
總是有人喜歡把問題絕對化,所以這里補充一句,軟件涵蓋的范疇可以很廣,因此確實有很難搞定的,類似于彈射器的領域,但應該不是主流。
以前的很多提法,在這樣一種大前提下就變的沒有什么意義了,比如說:國產(chǎn)操作系統(tǒng)。
當很多公司或組織標榜這類事情的時候,似乎自己更愿意認為這是一種技術突破。
但實際上在開源如此發(fā)達的今天,這類東西的開發(fā)更需要的是組織和市場運作,而非是突破技術屏障。
由這一點可以推導出一個很有趣的結(jié)論:
既然不體現(xiàn)為一種“搞不定”或“做不出來”式的難度,那么一幫智商水平并不是非常高的人(或者說并不絕對優(yōu)秀的人),
老老實實把代碼評審,靜態(tài)測試,單元測試這些環(huán)節(jié)做好,一樣能做出不錯的產(chǎn)品(當然很那輝煌燦爛)。
反過來講就是,在大多數(shù)產(chǎn)品開發(fā)中,天才是有幫助的,但不是絕對必要的。
這點與這樣一個事實相符:軟件開發(fā)的隊伍似乎更加雜牌,什么專業(yè)的都有。
這事兒逆轉(zhuǎn)過來就不成立。
一個人可以以前是做渦輪機的,中途能夠轉(zhuǎn)行做軟件開發(fā)。
但做了軟件開發(fā)的,就很難去做渦輪機。
如果進一步推導,就會發(fā)現(xiàn)這一點對考慮個人成長也很有意義。
單反類相機,鏡頭很難搞,所以介入壁壘比較高,最終導致做單反的就比較賺錢。
電視機這東西,大家都能做,所以介入壁壘比較低,最終導致當初很牛的一些做電視的公司都虧損。
軟件開發(fā)中,如果“只有你能搞定,別人不太容易搞定”的事情比較少,那么人員的可替換性就強,
稀缺性就不好,從價值上來看,就不太容易保值。
反過來講,就是每個人如果想保持一種長久的價值,都要找到屬于自己的一塊“價值高地”。
軟件可以依附到很多東西上,比如金融,財務,電商等等。因此“價值高地”還是有一些的。
可以是某個公司獨有的東西,可以是某些專業(yè)知識(如:財務等),諸如此類。
原文鏈接:http://www.cnblogs.com/daoshi/archive/2012/08/20/2646977.html
【編輯推薦】
- ASP.NET在線文件管理模塊的設計與開發(fā)
- 軟件開發(fā)究竟是“難”還是“復雜”?
- 軟件定義網(wǎng)絡與ADC的交集是什么?
- 值得開發(fā)者關注的5個新興智能平臺
- Ubuntu用戶的福音:基于Java開發(fā)的開源QQ客戶端iQQ