注:文章轉載自知乎前端
透過現象看本質。程序員
Java是企業應用市場的王者,若是一家非互聯網公司用Java,那麼十有八九是作企業應用的。面試
因此,這個問題本質上是:爲何作企業應用的公司須要那麼多Java程序員。後端
開發企業應用的公司有其自身的特色。下面9點不必定在全部企業應用的公司身上都存在,但確定是大同小異。前端框架
總之,全部的這些因素都在不斷惡性循環。循環的結果就是:作企業應用的公司可能會發展變大,可是不會變強。變大是由於程序員、後期維護人員攤大餅式擴展。不會變強是由於技術常年不會有任何變化,人員層次常年不會有任何提高。沒有人從提高技術水平和開發效率的方向去考慮問題,都在想如何拿更多的項目、如何跟客戶玩遊戲。架構
多說兩句:框架
我畢業20年,一半時間在開發企業應用的公司,經歷過幾百上千人的國企,經歷過十幾我的的小私營公司,如今還在給多家企業作技術諮詢顧問。我從未見上面的惡性循環趨緩,而是還在不斷惡化下去。分佈式
每個有點理想的作企業應用的公司或老闆都有一個夢:就是產品化,說白了就是能把產品刻成光盤買(固然這是傳統的作法,如今放網上下載也行)。由於只有這樣才能突圍出怪圈,走上由大變強之路。這須要一家公司有很是深厚的行業經驗,可以總結和概括出需求。須要有很是強的架構和設計能力,讓產品能夠靈活按需定製。須要有很是強大的編碼和測試水平,讓產品可以穩定順暢。源碼分析
爲了可以實現產品化,但又要面對現有技術水平太差的現狀,不少公司就採用項目養產品的策略。就是成立一個產品部門或團隊,從其餘項目組抽調技術還能夠的,或者新招聘幾個所謂的高手,集中力量研發產品。產品研發是一個週期長高成本風險大的工做,並且在真正出來滿意產品前是不掙錢的,只能靠項目賺的錢來輸血。這種策略每每都是失敗的,由於沒有一個公司有實力、有耐心去長時間養着一個不掙錢的團隊。因此,幾乎沒有公司能實現這個夢想,都在繼續攤大餅。性能
這幾年一線城市生活、租房等成本飆升,並且必然會傳導到程序員的薪資上。因此,最近幾年會有大批作企業應用的公司完蛋。由於研發人力成本是公司經營成本中最大的一部分,這部分紅本會加速上升。原來活的好的公司會面臨巨大壓力,原來活很差的公司會面臨死亡。
下面我們談談技術。
對企業的負責人,我常常描述一個場景:
有一個工地,幾百號人在用鐵鍬鏟子挖坑。我找上門去,問工頭:大家知道有一種設備叫挖掘機嗎?有的不知道,有的知道。有的之前在別的工地見過或開過,只是來這邊之後沒機會用了。若是我開一輛挖掘機來,用一天時間乾的活就至關於大家這一個工人一個月的工做量,你相信嗎?而更重要的是這個挖掘機是免費開源的,僅僅須要學習一下如何操做。
這幾百號人的工地就是企業應用項目團隊。而我說的挖掘機就是Spring Boot + 前端(Angular/React/Vue)。
正像我上面場景裏描述的那樣,有不少技術負責人和普通Java程序員都知道Spring Boot和前端框架。可是對於他們來講有點遙遠了,望塵莫及。有的Java程序員本身在偷偷學,躍躍欲試,可是這種技術氛圍的公司不可能給你機會。有的技術負責人也認識到了新技術可以爲公司技術帶來的提高,可是本身也不會,更沒有能力對下屬培訓和指導。若是新招聘會的人,本身連面試問什麼問題都不清楚,又怕找來個水貨。總之這些所謂的「新技術」對企業應用市場形成了必定的衝擊,但企業自身卻有各類困難沒法把新技術轉換成真正的生產力。
針對上述的這些狀況,我特地整理了一下,裏面的技術不是靠幾句話就能講清楚,因此乾脆找朋友錄製了一些視頻,不少問題其實答案很簡單,可是背後的思考和邏輯不簡單,要作到知其然還要知其因此然。若是想學習Java工程化、高性能及分佈式、深刻淺出。性能調優、Spring,MyBatis,Netty源碼分析的朋友能夠加個人Java後端技術羣:537775426,羣裏有阿里大牛直播講解技術,以及Java大型互聯網技術的視頻和文檔資料免費分享給你們。