離開通信業入職互聯網圈的一些感悟

去年年末,我離開了就任了近十年的通信行業,加入了淘寶(中國)軟件有限公司從事淘寶瀏覽器的軟件開發工做,至今已有好幾個月了。在過去的這些日子體會着互聯網行業的不一樣,也讓我逐漸地理解加入該行業前的一些疑問。下面,我就本身的一些感悟作一點分享,因爲我的經歷有限,因此侷限性不免。

首先,理解兩個行業軟件產品的運營特色具備很是重要的意義。通信企業(指通信產品製造商,後同)的產品是賣給象中國移動這樣的運營商的,由運營商經過使用它來爲用戶提供服務(好比提供手機業務)。若是通信企業的產品存在問題,將直接致使運營商的經濟損失。運營商爲了下降這種損失,會制定各類規則將之轉嫁給通信企業。好比,我在UTStarcom工做期間得知,那時公司爲了解決產品問題而進入運營商的機房將以每次百萬美圓的費用支付給日本的某運營商(具體數目我記不清,但當時公司爲此遭受了鉅額損失)。顯然,這種轉嫁是帶有必定的懲罰性的,其額度也談不上是否合理,箇中不合理性也反映了通信行業是買方市場。

在這種背景下,對於通信企業來講,產品缺陷的嚴重性和數量與所帶來的損失是顯式正相關的,於是企業對軟件缺陷有着更爲嚴格的控制。我在多家通信企業工做的最大感覺是,她們對於軟件開發的規範性要求很高,其中以Motorola最甚。我認爲Motorola的質量管理雖低效,但卻有效 —— 她能作到在項目初期計劃好的時間內發佈產品。

反觀互聯網行業,其產品大多由企業自身所運營(例如,直接經過CDN發佈)。當產品出現缺陷時,開發團隊可當即進行線上修復。這種模式的特色是,產品缺陷所帶來的損失更有可能降到最低,且因爲無人統計缺陷的真實損失、也不存在象通信行業那樣的懲罰性費用,而使損失成爲隱性的,進而容易讓人忽視而忘記採起甚至是必要的缺陷預防措施。

兩個行業的產品運營特色能很好地解釋爲何通信行業大多采用較「重」的流程,也能理解爲何通信行業對於軟件測試的要求在總體上更重視。

其次,咱們亦可從兩個行業的發展水平去發現區別。相比互聯網行業,通信行業更成熟,其成熟體現於運營商經過強制各廠商的通信產品遵照象3GPP、ITU 和IETF這些標準化組織所制定的規範,以保證它們間能實現互聯互通。值得強調的是,標準化組織所制定的規範左右着產品的業務邏輯是通信行業很突出的一個特色。因爲通信行業有着幾十年的發展歷程,於是其規範的規模很是龐大,這就形成掌握相關規範須要花費很大的努力,這也解釋了爲何通信行業必定須要有系統架構師和開發架構師的存在。

反觀互聯網行業,其並不存在象通信行業中的3GPP這樣對業務流程進行規範化的組織(W3C是很重要的組織,但她仍沒有規範象電子商務的業務邏輯這些內容),這在某種程度上減少了軟件開發的前期投入成本,也從另外一個側面反映了目前互聯網行業的開放性(經過相互開放API的方式解決了不一樣公司產品間的互聯互通問題)。另外,也因爲互聯網行業不存在象通信行業那樣龐大的規範體系,於是對軟件架構師的做用在認識上也會相對弱。

再次,咱們能夠從各自產品開發方式的差別找到兩個行業的不一樣。互聯網行業是開放精神的體現,存在大量的開源(基礎)軟件,也使得不少終端產品有機會基於之上去構建。然而,通信企業的軟件系統幾乎自成一體,不少軟件(基站軟件最爲典型)徹底是根據標準化組織的規範自主從無到有開發的,於是對企業層面的軟件開發水平(架構師水平、項目管理水平)從總體上提出了更高的要求。對比互聯網行業,企業(或開源組織)的開發水平具備明顯的兩極分化。處於開源軟件陣營的每每具備很高的開發水平,由於這些項目能吸引業內的優秀人才,且這些人才當中不乏對軟件的複雜性本質有着深入認識之士;處於另外一方的企業陣營,其軟件開發的特色更多地體現於集成(開源軟件)、定製與調優,開發水平則遜色很多(但技術水平可能很高)。就所接觸的Chrome瀏覽器開源項目來看,我認爲該項目團隊的開發水平高於我所就任過的、包括UTStarcom、Motorola、NSN在內的通信企業。對於這樣的結果,若是咱們知道大型開源項目大多運做得比企業項目好就一點都不感到奇怪了。

這裏提到通信企業的軟件開發水平在總體上要求更高,很容易讓人簡單地覺得是通信行業的軟件規模更大所至,但根本緣由並不是如此簡單與直觀。身處通信行業的同仁可能會認爲3GPP那麼複雜,要實現它其難度能夠想象;而互聯網行業的同窗也能夠舉出象Chrome這樣的項目,其壓縮後的項目代碼超過2G,其中包含WebKit、V8引擎等,複雜度更不用說。說實在的,要認真、嚴肅地比對兩個行業的規模並不是易事,甚至很難拿出讓人信服的結論,或許咱們能夠從另外的角度去考慮。通信行業最大的複雜度在於基站子系統,能夠說一個通信系統的開發中,大部分的人力被投放到了基站、網關這些質量要求很高的嵌入式設備的開發上。互聯網行業中雖有象Chrome這樣恐龍級的項目,但投放到這類項目的人員與整個互聯網行業相比並不是大頭,大部分人實際上是對其進行定製、優化或集成,或實現互聯網產品的業務邏輯。

瀏覽器

最後,從產品的特色一樣能夠發現兩個行業的差別。互聯網行業產品最大的焦點在於用戶體驗和數據吞吐率:前者的工做內容表現爲UI的設計與軟件的配合實現,這類軟件很難實施軟件行業廣爲認同的單元測試等質量保證手段;後者的工做內容則表現爲軟件系統的集成和調優,因爲受制於所採用開源軟件的現有實現,一樣難以實施相應的質量保證措施。通信行業的產品在高可用性、互操做性和安全性上的要求更爲突出,因爲關鍵設備是一個獨立的嵌入式系統且軟件實現更加自成一體,於是就有可能採用象單元測試這樣的質量保證手段。相信讀者從兩個行業產品的特色上能解釋很多行業間使人困惑的現象。安全

相關文章
相關標籤/搜索