Contents
  1. 1. 0x0
  2. 2. 0x1
  3. 3. 0x2
  4. 4. 0x3

本来以为不会再写关于客户端劝退的文章,最近发现了一项新的技术在更大维度上打击了或者压缩了客户端岗位的供给。于是就写写这篇终篇谈谈这项技术,不管以后还有没有别的发现都不会再写了。
另外呢,劝退与不劝退都是各方观点,相互探讨而已。不必上纲上线。

0x0

mPaaS 是蚂蚁金服自身沉淀的一套生态,深刻的跟阿里云做了绑定。mPaaS 框架的出现很像 web 前端中的 react/vue,这些框架的出现彻底改革了开发模式。而此前的 hybrid、rn、flutter 地位更像 jQuery。

  1. mPaaS 中自带了一整套蚂蚁成熟的框架:3 大研发框架:Native 开发框架、Kylin H5 开发框架、小程序开发框架。这意味着开发者可以在三大框架之上用 UIView/h5/小程序的方式画 UI。
  2. 同时提供了 20 多个功能性组件,例如网关服务、埋点分析、热修复、用户反馈、消息推送、离线包等,这些是什么?这是页面无关的功能模块,在传统的开发中这些模块可能采取引入开源或者自研的方式,即使使用开源大点的厂还会有修改版本。
  3. 100 多个 UI 控件,包括 AntUI 和 AntMobile。这里甚至复用组件都准备好了

mPaaS 提供的这些能力,可以给普通公司带来什么效果?两三个研发(包括后端)就能做一个超级 App 出来,什么叫超级 App?性能好、崩溃率低、监控到位、埋点分析成熟甚至具备动态修复能力,包含一整套成熟的小程序包管理、下载、渲染能力。h5 页面性能高效,甚至支持离线化。拥有了这些高性能股价、基建开发者可以把精力集中在业务上。这等价于什么,开发者只用管画页面就行了

mPaaS 提供的不止这些,还有音视频通话、安全加固等进阶功能。我能想象在排期中的还有音视频播放、端智能等高科技。

这些能力将严重打击高级开发者,在过去我们谈论劝退总有高级开发者辩驳甚至恶意人身攻击的嘲笑被淘汰的是只会写 UI 的人。嘲笑可以接受,毕竟在社会生存是丛林法则弱肉强食技不如人心服口服。但 mPaaS 的出现将改变这一局面,高级开发者中会有相当比例的人被降维打击。一个高级开发他或许在稳定性上、网络优化某一个方面有造诣,但是双拳难敌四手。mPaaS 是一个正六边形全能战士,他会的你总有不会的、你会的他都会,甚至他不用交社保、不用担心下班输出不够。

这个情况让我一下就想到另外一个已经濒临灭绝的岗位——DBA。DBA 难不难?有没有技术含量?比写 UI 如何?

这里可能要解释一下,说到工作被技术替代,可能更多的人想到的是那些生产线上的工人,怎么都不会想到程序员。但是因为企业一旦上了云,不管是亚马逊云、阿里云还是腾讯云,只要上了,DBA的很多工作就都被替代掉了,因为很多数据库管理工具之类的基础设施不用再开发和维护了,DBA的职能将被极大的压缩。要命的事,数据库的管理工具,之前基本是每个公司都会开发一遍,也算是有些技术含量的东西,偏偏这块被云替代了,而且实话实话,大厂云的那些工具绝对是小企业比不了的。如果我们的业务上了云,DBA能保住2个人头就不错,而我团队的几个人里面,我是工资最高的那个,难保老板不会有什么想法。

0x1

这节找一个 mPaaS 具体的一个技术点来看看,就看他的网络组件——移动网关。

移动网关是连接移动客户端跟服务端的桥梁,移动客户端通过网关来访问后台服务接口。移动网关能够:

  • 自动生成客户端的 RPC 调用代码,用户不需要关心网络通信、协议以及使用的数据格式。
  • 将服务端返回的数据自动反解生成 Objective-C 对象,无需额外编码。
  • 提供数据压缩、缓存、批量调用等增强服务。
  • 统一进行异常处理,如弹出对话框、Toast 提示框等。
  • 支持 RPC 拦截器,实现定制化的请求与处理。
  • 实行统一的安全加密机制和防篡改的请求签名验证机制。
  • 限流管控,保护后台服务器。

在这里能看到跟阿里云服务器做了比较深的绑定,同时提供了一些网络优化、安全、限流上的功能。不知道有没有提供类似于 DNS 优化、长连、http2/3 这样的能力,但是这些肯定可以有是具备能力做的。

网络优化和网络安全不依赖 mPaaS 是需要两个团队来搞,一个优化一个安全。但是上了 mPaaS,什么都不需要了。

至于像 APM 监控这样的入侵性更小的工具,即使没有 mPaaS 也有很多开源或者收费的 SDK 可以使用。这块做精做优,在分析系统上还有挺多课题可以做。但是这些都可以通过 mPaaS 提供。

0x2

这节做下案例分析,在网上我检索到 12306 经过了 mPaaS 改造,一些地方城商行的 app 经过了 mPaaS 改造。城商行这个点我看到之后心里拔凉拔凉的,因为在金融领域各个城商行之间数据不共通使得每个银行都需要自己做一个 App,这可以给客户端开发者提供比较多的就业岗位。

摘录一个广发银行的例子,广发银行是一个全国性商业银行。

在蚂蚁金服移动开发平台mPaaS的技术支持下,广发银行打造出新一代信用卡“发现精彩”和手机银行两大App,成功解决了App长期存在的用户体验差、数字化运营能力弱等问题。借助蚂蚁移动开发平台mPaaS,广发银行大幅提升了APP开发和运营性能,其中 “发现精彩”的启动时间降低近70%,同时具备了强大的实时稳定监控能力,保证线上金融服务稳定流畅

常熟银行是一家地方城商行

在mPaaS的技术加持,常熟农商银行得以深入布局数字化运营,改善用户体验。基于模块化开发框架,常熟农商银行将mPaaS的性能优化组件、移动网关、行为分析、数据同步等移动金融服务和运营能力植入新一代手机银行App前端系统中,大幅提升了App启动速度,有效降低闪退率和崩溃率,用户服务质量显著提升。有了mPaaS的助力,常熟农商银行还增强了移动银行的运营运维和安全风控能力,成功降低了客户对传统渠道的依赖,延展了数字化金融服务半径的深度和广度

可以看到在非常传统的领域(潜台词是技术非常落后)通过 mPaaS 的能力可以大幅提高数字化运营能力,提升启动速度,降低崩溃率。像这几块提升如果招募高级开发来做,是需要架构设计、启动优化、性能优化等课题的,做一年多做出成绩差不多算合适。mPaaS 这样的六边形无敌战士可以把这样的高级开发者打趴下。

再举一个快成物流科技的例子 https://segmentfault.com/a/1190000040054973

快成科技是网络货运领域的领军科技企业,领域排名市场前三,平台有 3w+ 大宗商品货主,将货单发布到平台,由 60w+ 的卡车司机接单承运,每年产生 120亿 的运费交易额

通过数据可以看到这家企业规模不小,可以说是大部分高级开发实现自己转管理、转架构更上一步发展诉求的合适公司。从文章中看到大概只使用了 mPaaS 提供的小程序能力,其他能力是否使用不得而知。但是一旦上了 mPaaS 再扩开其他能力就没有难度了。

0x3

为什么我对 mPaaS 给行业造成的负面影响这么悲观,因为在行业增长很慢的时候一切提升生产力的东西都会给从业者带来冲击。

不少高级开发头几年在大厂熬资历等的就是将来有天能寻到一个明星创业公司加入进去,发挥自己过去在大厂的经验把业务做起来,自己身家跟随公司估值飙升。但是这条路将来很有可能被 mPaaS 吃掉,剩下存活的反而是被无情嘲笑只会写 UI 的页面仔——因为只有写 UI 的工作给你做了。

如果继续留在超级大厂做优化之类的工作,这部分公司不会用别人的 mPaaS 会自己开发一套。但是对于天赋和努力程度不太够的中级开发而言,非常大概率是做不到 top 级别的,或者等他辛苦摸到了高级开发的门槛往外走的时候发现外面全是 mPaaS 这样的六边形未来战士。

另外如果反正大厂还是要做性能优化,那我一直呆在大厂不就行了吗?不行,先不说有没有机会退回二线城市老婆孩子热炕头的问题。如果最后只能在几个大厂中辗转结果是很黯然的,大厂之间会逐渐形成默契。工资待遇增长会变慢甚至减少,这里必须提下公司给你涨工资的本质是因为什么?是怕你跑了,而不是你创造更多价值了或者你变得牛逼了,你会读更多汇编了。如果你没地方跑了,为什么要给你快速涨工资呢?传统行业很多都是这样,你只能在几个头部公司跳,流动性非常差。十来年前通信行业热闹程度不比软件开发差,现在流动性差的问题不能说完全没有。

Contents
  1. 1. 0x0
  2. 2. 0x1
  3. 3. 0x2
  4. 4. 0x3