注:文章转载自知乎前端
透过现象看本质。程序员
Java是企业应用市场的王者,若是一家非互联网公司用Java,那么十有八九是作企业应用的。面试
因此,这个问题本质上是:为何作企业应用的公司须要那么多Java程序员。后端
开发企业应用的公司有其自身的特色。下面9点不必定在全部企业应用的公司身上都存在,但确定是大同小异。前端框架
总之,全部的这些因素都在不断恶性循环。循环的结果就是:作企业应用的公司可能会发展变大,可是不会变强。变大是由于程序员、后期维护人员摊大饼式扩展。不会变强是由于技术常年不会有任何变化,人员层次常年不会有任何提高。没有人从提高技术水平和开发效率的方向去考虑问题,都在想如何拿更多的项目、如何跟客户玩游戏。架构
多说两句:框架
我毕业20年,一半时间在开发企业应用的公司,经历过几百上千人的国企,经历过十几我的的小私营公司,如今还在给多家企业作技术咨询顾问。我从未见上面的恶性循环趋缓,而是还在不断恶化下去。分布式
每个有点理想的作企业应用的公司或老板都有一个梦:就是产品化,说白了就是能把产品刻成光盘买(固然这是传统的作法,如今放网上下载也行)。由于只有这样才能突围出怪圈,走上由大变强之路。这须要一家公司有很是深厚的行业经验,可以总结和概括出需求。须要有很是强的架构和设计能力,让产品能够灵活按需定制。须要有很是强大的编码和测试水平,让产品可以稳定顺畅。源码分析
为了可以实现产品化,但又要面对现有技术水平太差的现状,不少公司就采用项目养产品的策略。就是成立一个产品部门或团队,从其余项目组抽调技术还能够的,或者新招聘几个所谓的高手,集中力量研发产品。产品研发是一个周期长高成本风险大的工做,并且在真正出来满意产品前是不挣钱的,只能靠项目赚的钱来输血。这种策略每每都是失败的,由于没有一个公司有实力、有耐心去长时间养着一个不挣钱的团队。因此,几乎没有公司能实现这个梦想,都在继续摊大饼。性能
这几年一线城市生活、租房等成本飙升,并且必然会传导到程序员的薪资上。因此,最近几年会有大批作企业应用的公司完蛋。由于研发人力成本是公司经营成本中最大的一部分,这部分红本会加速上升。原来活的好的公司会面临巨大压力,原来活很差的公司会面临死亡。
下面我们谈谈技术。
对企业的负责人,我常常描述一个场景:
有一个工地,几百号人在用铁锹铲子挖坑。我找上门去,问工头:大家知道有一种设备叫挖掘机吗?有的不知道,有的知道。有的之前在别的工地见过或开过,只是来这边之后没机会用了。若是我开一辆挖掘机来,用一天时间干的活就至关于大家这一个工人一个月的工做量,你相信吗?而更重要的是这个挖掘机是免费开源的,仅仅须要学习一下如何操做。
这几百号人的工地就是企业应用项目团队。而我说的挖掘机就是Spring Boot + 前端(Angular/React/Vue)。
正像我上面场景里描述的那样,有不少技术负责人和普通Java程序员都知道Spring Boot和前端框架。可是对于他们来讲有点遥远了,望尘莫及。有的Java程序员本身在偷偷学,跃跃欲试,可是这种技术氛围的公司不可能给你机会。有的技术负责人也认识到了新技术可以为公司技术带来的提高,可是本身也不会,更没有能力对下属培训和指导。若是新招聘会的人,本身连面试问什么问题都不清楚,又怕找来个水货。总之这些所谓的“新技术”对企业应用市场形成了必定的冲击,但企业自身却有各类困难没法把新技术转换成真正的生产力。
针对上述的这些状况,我特地整理了一下,里面的技术不是靠几句话就能讲清楚,因此干脆找朋友录制了一些视频,不少问题其实答案很简单,可是背后的思考和逻辑不简单,要作到知其然还要知其因此然。若是想学习Java工程化、高性能及分布式、深刻浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友能够加个人Java后端技术群:537775426,群里有阿里大牛直播讲解技术,以及Java大型互联网技术的视频和文档资料免费分享给你们。