2023,不想再谈技术??

开发者的落日??

前言

篇文章,早就想写,但又怕自己资历太浅,见识不够,会的太少,写出来或多或少有点泛泛而谈,或者说蹭热度,毕竟最近遇上互联网寒冬,各个大厂裁员,这也是事实。

熬过了💩一样的 2022,原以为今年会好那么一丢丢,但实际发现也就那么回事,整个行业危机似乎在某种程度上来说可以进一步加剧了。那么互联网的红利期是真的过去了吗?

这是一切的开始,这也是人类的落日。

谈谈程序员

从我的角度来说,我一直很喜欢程序员这个行业,从本质上来说,开发的本质是创造,而创造的过程中是连接着未来的。但不知从何时起出现了“码农”这个称呼,因为 CRUD 的操作,这一点从我接触这个行业开始就早已存在,我是极其特别讨厌这个称呼。因为它将整个行业形容成做的东西就是重复劳动,没有意义可言。

那么这类人可以称之为程序员嚒?至少在我是不认可的,或者说不能当“职业的程序员”。GPT 的出现,可以说是划时代的产品,它将颠覆以往的编程方式,只会这种 CRUD 的操作人,也会进一步被淘汰,因为从本质上来说就没必要存在。但这却是这个行业的普遍现状,又有几个能做中间件开发呢??

所以普通的开发者要深刻理解一件事情,如今你暂时拿在手里的看似高薪不是个人能力的体现,是行业带动的结果,那么行业带动的结果。你要感谢两家公司微软和 Google。

如果整个互联网行业只有 2 家公司可以存活的话,除了微软和Google,任何其他企业都没有资格,只能去死。

微软大幅降低了编程的门槛,围绕操作系统诞生一整套的生态,把编程变成了一种普通人可以当成工作的玩意儿。从这角度来看,那怕你不懂编程,能读懂英文,也能七七八八理解一段简单的代码。

Google 站在巨人的肩膀上,从提出分布式这个概念开始,几乎重塑了整个计算机行业。此后,Google 不满足于此,不仅疯狂制定顶层标准,而且在科技界的贡献持续造福全人类。

可以这么说,互联网行业这些年的高光完全是行业热潮带动普通开发人员受益,而不是个人本身。我们都是风口上的猪而已。

技术本身门槛的大幅降低导致【技术通货膨胀】,更多的人参与就代表每个人分到更少的蛋糕。回归公司的本质,一个专注于技术但是对业务 0 贡献的开发者为什么能拿高薪趴在电脑前?存量市场的竞争白热化,躺着赚钱的时代终结。不懂业务,疯狂跳槽,盲目转行,仅仅追逐技术能力的提升脱离商业本身的开发者最终会被弃之如敝履。

综上所述,简单来说就是普通的技术越来越不值钱

人人皆可编程:Low Code

Low Code Development Platform 是指无需编码(0 代码)或通过少量代码就可以快速生成应用程序的开发平台。

低代码在干什么?我们直接引用行业大佬的一句话:

低代码是基于可视化和模型驱动理念,结合云原生与多端体验技术,它能够在多数业务场景下实现大幅度的提效降本,为专业开发者提供了一种全新的高生产力开发范式。另一方面,低代码能够让不懂代码的人,通过“拖拉拽”开发组件,就能完成应用搭建。从意义上讲,低代码可以弥补日益扩大的专业技术人才缺口,同时促成业务与技术深度协作的终极敏捷形态。

看到了么?低代码是让不懂的人可以进行完成相关开发任务。这个领域的发展会迅速淘汰掉企业中的某些混子,然后向外蔓延开来。

下面以大数据方面来举例(Java 后端开发的脚手架太多了 都是些烂梗 没意思),现如今无论公司规模大小,很多企业都想要整个大数据平台,可能会面临的问题就是,没有专业大数据开发者。如何在节省人力成本的情况下解决这个难题呢??

因为大数据的组件框架众多,搭建一套高可用能够落地的集群系统就存在着不小的难度,那么有没有可以一键部署安装的平台呢??又该如何管理这些大数据组件呢?如果有的话,是否就可以让后端工程师通过写 SQL 完成大数据的工作呢??还有一点就是各个工作流之间的上下游关系以及整个集群的任务调度是否可以通过“拖拉拽”的方式完成呢??答案是肯定的。

显而易见,后端开发写 SQL 算是基本功,只需了解各个大数据组件的用途,再看些行业大牛的分享就足以完成一个低代码版的大数据集群。是否可以进一步来说,其他领域也很难独善其身。

丧钟为谁而鸣?

FaaS 和 PaaS

关于云计算时代的一些名词不做过多解释,可以自行去查资料。

从 2021 年开始,其实从 2020 年下半年就初露端倪。FaaS 重新被推上风口浪尖,普通开发者应该感到危机。

FaaS 是 Functions as a Service 的简称,它往往和无服务架构(Serverless Architecture)一同被提起。PaaS 是 Platform as a Service 的简称,是一种云模型,你提供源码,平台将打包、发布、部署、运行、监控和扩缩微服务。

为了好理解就拿 FaaS 举例。

大家注意,FaaS 自上而下,和上文的低代码自下而上对普通开发者形成了双重挤压,对普通开发者的生存空间造成了严重影响。

FaaS 在干什么?FaaS 抛弃了原来大型复杂应用的架构,将整个架构中的单元进行拆分,将各种软、硬件资源等抽象为一种服务提供给开发者使用,让他们不再担心基础设施、资源需求、中间件等等,专注于具体逻辑实现。

看到了么?FaaS 已经将整个开发者最需要脑子和开发量的工作吃掉了。基础设施和中间件乃至服务器资源的管理,不需要开发者介入。这会导致什么后果?

大批量【填鸭式】进入这个行业的开发者你们应该感到危机。因为 FaaS 正把你们变成实实在在的【工具人】。

所谓工具人,就是低成本、易替换。

谈谈对于大数据的影响

再次声明,只是个人的思考。我也希望未来几年回过来看自己使劲打自己脸。

数据领域进入平台期,门槛降低,湖仓一体,批流结合。这一点可以看看 Apache 和数据领域的顶级项目和孵化器中的项目。

未来低代码盛行,类 SQL、拖拉拽大行其道,会导致开发者们离原理越来越远,不懂底层设计,不懂顶层架构,结合上文拿大数据低代码举的例子,这一点应该不难理解,像阿里的 DataWorks 对于用户来说只要会写 SQL 就可以。数据领域天然 Low Code。

愚者还在窃喜,智者却在悲伤。

因为而致力于低代码和云计算领域的行业推动者正是微软、Google、阿里云这些行业引领者。

它们成就了开发者盛世,也会亲手毁掉开发者。

所谓,成也萧何败也萧何。

不破不立

懂原理

目前数据领域还处于上升期,每过一段时间就会蹦出几个新概念。这些新概念势必会带动一些基础架构部门的发展,因为基础架构部门不向前跑,就会变成运维专家,变成答疑专家,就会自己干掉自己。

所以,作为引领公司甚至行业的基础开发者,基于业务大胆启用新的技术方案前,只有对原理足够熟悉,才能做到顺利转型。盲目上马,不做出充分调研,技术能力不足会被其他领跑者拖死。可以想一下 MQ 之类的框架,微服务在用,大数据中也是必不可少,那么区别在哪呢??又有多少用户仅仅是只掌握几条常用命令呢??

顶层架构设计

这一点我是比较佩服顶级的运维,很多开发者嘲笑运维不会写代码,也有可能只是个梗,一个好的运维是可以看见整个集群全貌的,这一部分仅仅只做开发是很难做到的。那么一个好的架构设计,尤其是基于业务系统的合理技术选型和正确的架构设计,这对开发者提出了相当高的要求,技术栈足够深入,场景足够丰富的情况下才能游刃有余。对于那些技术 Leader,这更是巨大的挑战。否则,一将无能,累死千军。要么你足够优秀可以当做火把给全队把路照亮,要么就要有足够的魅力发现和吸引那些是火把的人。

懂业务

业务才是开发者的立足根本,对业务足够熟悉,才能最终站稳脚跟。随着开发门槛的不断降低,业务人员,尤其是一些专业的熟悉业务的且可以做分析的业务人员,它们对于开发会逐渐降低依赖,在低代码和套件化足够成熟的未来,只懂开发的开发者会被边缘化。

参与开源

参与开源,拥抱未来,这一点不想再解释了。。


所以,2023 年是一切的开始,也是开发者的落日??