2024年3月,工作十年,第一次被优化。

意料之外,情理之中。

——————————

一、开始

2021年,部门业务扩张很快,招了好几个前端新人。因为我们主要做的是大屏数据可视化展示,所以对前端页面的效果,有较高的要求。但新人往往不太能高度还原设计稿,交互效果也不太理想,于是我们部门也跟上了在当时兴起的低代码平台浪潮。

通过技术选型,我们确定使用Electron + Vue + OSS实现低代码平台。

原理如下:

①:组件定义。

一个vue文件和若干图片资源即为一个组件。这个vue文件具有指定的外部入参props和内部参数data。

其中内部参数data只能在低代码平台编辑,是组件的装饰属性,决定组件的尺寸、颜色、位置等。而外部入参props既可以在低代码平台编辑,也能在外部传入,是组件的数据属性,决定组件的数据呈现和状态。

这样的组件,我们计划生产二三十个,包含文本组件、图表组件、导航组件、下拉菜单组件等。各类组件分别产出不同的基础模型,方便业务使用。比如图表类需要有柱状图、折线图、饼环图、雷达图等。

这种组件,我们称之为标准组件。

②:组件派生。

在低代码平台中可以选择任意标准组件保存为业务使用的业务组件。同样的,业务组件也能够继续派生出新的业务组件。通过分组、分类、分业务项目的模式进行管理。

为了能够产出不同的业务组件,低代码平台需要支持组件编辑。

③:组件编辑。

通过AST工具解析组件,读取每个组件的指定参数,渲染出不同的编辑界面。编辑界面的字体、字号、颜色等都是通过全局设定主题的方式管理。比如颜色,全局定义了多种主题颜色,有粉色主题、蓝色主题、灰色主题等,每个主题包含若干种颜色,组件只要切换主题,就能变换不同的颜色。字体同样如此。

AST解析出来的参数,通过编辑,最后保存的时候再通过AST保存到文件中,最后导出的,就是一个可以直接再项目中使用的业务组件。

——————

以上就是低代码平台第一阶段的目标。

第二阶段的目标是,拖拽组件拼接页面。

第三阶段的目标是,拼接的页面接入数据。

在当时,我们都觉得这个工作很有趣,值得一做,大家都充满活力。

按照计划,前端团队成立了三人小组,负责低代码平台的开发:

W同学负责平台基础功能部分,包括模块和接口定义、事件调用、文件读写等。

C同学(即本人)负责组件部分,包括组件开发、组件配置、平台本身的前端界面等。

P同学负责文件管理部分,主要是通过AST进行组件的生产、合并等。

过程很顺利,不到两个月,在一边做业务的同时,我们拿出了第一个版本。

低代码平台正式上线运行。

二、意外

按最初的预想,有了低代码平台,业务量可以突破瓶颈,业绩上去了,升职加薪不是梦。

但2022年上半年,市场陡然变冷,业务缩减,部门大裁员。

本来或许只需要裁掉小部分人,但因为有低代码平台,陆陆续续的,2021年招进来的前端几乎都裁掉了。这是始料未及的。

在这期间,我们三人组完成了第二阶段的开发。但并不值得庆贺,因为每个人都对未来不那么抱有信心了。

下半年的八月中旬,休假回来上班的第一天,就接到通知,我们可视化部门整个裁掉。除了我们三个,其他前端都走了。而我们被分到了不同的业务线,第三阶段的开发搁置。

业务线的前端团队,有自己的技术栈,有多年的技术沉淀,我似乎回到了刚开始工作那时候,每天都在复制粘贴中度过,做着毫无价值而且毫无意义的事。

这真是一个令人悲伤的故事。

三、再续

进入2023年,新的业务线也开始调整,产品功能和前端代码往标准化的方向靠拢。

但很可惜,我依然是一个搬砖的码农。

随着业务代码的调整,前后端进行了一轮优化。值此时机,低代码平台的第三阶段开发重新提上议程。

我和W同学,又开始了新的工作。

而P同学,已经受不了这种搬砖的工作,离职了。

2023年年中,第三阶段的开发完成。

标志着公司内部持续了一年多的低代码平台开发计划正式落下帷幕。

其实在最初的产品经理设想中,低代码平台是可以接入GIS数据,接入3D模型的。但很可惜,就连最初的那位产品经理,也已经走了。

这么多年以来,这是我亲手做的,最具价值、最有意义的工作。

四、结局

自从低代码平台的工作结束,我就投入到毫无波澜的业务线需求中。

每天处理几个老bug,写几个新bug。

安逸的久了,人就会麻木。

其实这种工作,根本就不需要一个有十年工作经验的前端来完成,更不需要聘用一个年薪二三十万的前端来负责。

这一点,我清楚,公司也清楚。

偶尔看下简历,但并没有合适的。

直到上周。

负责技术部的老总找到我。

降薪百分之三十。

我直接提出了辞职。

一周内走。

如果我不同意降薪,那是不是可以争取点什么呢?

或许真的能争取到什么。

但就是感觉很累。

其实从2023年开始,就感觉很累。

只想离开这个地方。

于是我走了。

有时候又想,如果一开始不做这个低代码平台,或许,我还是有些事做的。

毕竟,可视化部门虽然裁掉了,业务或多或少一直都有,只不过是交给低代码平台来实现。

这么说起来,我似乎是被自己优化掉的。

对吧?


陈其文
430 声望19 粉丝

前端