作為一名在軟體行業工作了快二十年的人,從最早的單機應用、C/S應用、B/S應用,到現在的移動App、分散式、大資料、人工智慧,我都有幸經歷。今天簡單聊幾句個人對於軟體行業未來的看法,以及處在行業中的個體未來的前景。一直以來,我都是從事應用軟體領域的軟體開發,所以今天的主題也僅限於此領域。
近十年來,移動網際網路爆炸式的增長,對整個軟體行業帶來了翻天覆地的改變。一是個人應用軟體從傳統的桌面應用幾乎全面轉向了移動端,企業軟體也幾乎同時支援桌面與移動端。這種轉變不僅僅是形式上的,更是一種將軟體與個人緊密整合的過程,人與機器漸漸融為一體,透過技術,更加釋放出了魔盒中的人性。二是網際網路公司藉助自身的市場地位與強大的資金實力,打造了越來越龐大的雲平臺帝國。雲平臺的出現,是對傳統軟體從根子上進行的革命。IaaS、PaaS、SaaS不同層面的雲平臺架構正在被大部分企業所接受。甚至是一些對於資料向來敏感的政府、金融等客戶,也開始在雲平臺上進行大膽的嘗試。三是在網際網路大廠不斷增長的過程中,自身也在尋求技術的突破。從阿里喊出去IOE的口號開始,網際網路公司就開始了各種自研基礎軟體平臺。各種儲存、資料庫、中介軟體等令人眼花繚亂。傳統的基礎軟體產品正在被各種公司自研的產品所替代。
這三點變化,會給軟體行業及從業者帶來什麼樣的變化呢?
一、軟體系統的複雜性越來越高導致行業分工越來越細化
曾幾何時,IT英雄單槍匹馬寫出軟體,從而走向人生巔峰的故事還經常發生。但如今,這種情況再發生的可能性已基本為零。一個toC的產品的開發,光平臺就有Android、iOS、微信小程式、PC端等眾多不同技術棧的要求,這還只是使用者直觀接觸到的所謂前端,還有龐大的後臺技術體系。想要完成這樣的一個產品開發,至少需要產品、美工、前端、後端、測試、運維等若干角色。分工的細化愈演愈烈,造成大量的開發人員基本上只瞭解自己所負責的小模組,很難有機會把握產品整體的技術架構。如果想往架構的方面上發展,會面臨越來越大的挑戰。諷刺的是,架構師現在也細分為App架構師、後臺架構師、大資料架構師等等。這種單一侷限的崗位會讓大量從業人員的轉型以及未來的發展面臨更大的困難和挑戰。
二、雲平臺的普及會讓更多的開發者成為真正的碼農
雲平臺的大趨勢是不可避免的,越來越多的軟體將嚴重依賴雲平臺提供的各類基礎服務。PaaS層將幾乎所有的涉及底層和維護的工作都承擔了,這意味著更多的開發者不再需要對基礎元件的執行原理有所瞭解,只是簡單的呼叫實現功能即可。更進一步是FaaS的出現,基於功能或函式的服務,只需要知道怎麼呼叫介面就可以實現出一個軟體系統。在這種趨勢下,大量的工作只需要掌握簡單技術的初級人員就可以勝任,成為真正意義上的碼農。合適中高階的人才的位置畢竟有限,要麼擠進有限的位置當中去,要麼進入大廠參與到雲平臺的建設中去,可選擇的餘地其實會越來越少。從這一點上,倒是建議大家開始研究下現有的雲平臺相關產品,國內的阿里雲,國外的AWS,Azure等,熟悉他們提供的相關產品服務,考慮如何進行有效的組合,從架構、成本、需求等多層面思考,體現出自身的價值。
三、行為分化會加劇市場向人力外包的趨勢發展
人力外包一向被開發人員所詬病,甚至有些公司招聘明確說明不承認外包公司的工作經歷。但人力外包的趨勢不可避免。軟體行業的分化目前看來是越來越嚴重,網際網路大廠們的馬太效應越來越顯著,無論是生態、產業鏈、人才都集中在這些頭部企業中。其它的軟體公司,要麼做產品,要麼做專案(包括人力專案)。而這些做產品的公司,不光面臨大佬們的行業、資源、人才的擠壓,也面臨市場競爭等多方面的挑戰,能夠自己造血生存下去的實在為數不多。更多的公司則是以接專案的形式賴以生存。前面說到雲平臺雖然是大趨勢,也提到一些政府、金融機構也在嘗試將一些面向公眾的系統雲化,但更多的情況下,ToB的大客戶,尤其是有實力的客戶更多會選擇搭建私有云去建設自身內部管理、業務、效率等需要的軟體系統。這對以做專案的企業來說,基本上會從原先在企業內開發完系統再去客戶方部署的模式,轉換為人力直接駐場開發。尤其是近幾年越來越多的B端客戶開始搭建自已的資料中臺、業務中臺,隨著客戶自身技術實力的逐步提升,無論是軟體專案、還是軟體產品均會面臨如何與客戶平臺整合的問題。而這些工作,均需要人員長期在客戶現場進行解決,這其實就會演變為人力的外包。 作為人力外包人員的價值如何體現呢?唯有從行業的角度多積累,努力使自己成為該行業的領域專家,這樣才可以將技術與業務知識相結合,使得在人力服務中也能讓自己脫穎而出了。
上面簡單談了一下自己對行業發展的判斷,以及對個人的影響。其實對於任何行業,金字塔型的人才結構始終存在,只不過在軟體行業這種競爭感覺會越來越大。為了避免自己被夯實在金字塔的底座上,只有靠自身不斷的學習,不斷的突破各種限制來讓自己的路越走越寬。行業在變,社會也在變,改變這個詞是我們所有軟體行業內的人都必須認真面對的。如果你選擇進入了這個行業,註定了要持續地學習、保持開放的思想,以面對各種變化帶來我們的挑戰。