看到很多人都在说35岁危机,程序员饱和,讲讲我个人的亲身经历吧,当个故事听听
关键词:35岁危机,低代码,MES,向上管理
作为一名搞了六七年java的crud 老boy,我的头发没了,体重破200了,距离30岁越来越近,我也是被各种公众号的推文营造的焦虑感染,开始随波逐流,我是非常懒的一个人,学习基本都是被动学习,也没啥职业规划,在这个大环境下混日子,终于决定在今年4月份从北京回到了家乡的小县城,想找一份文职类的工作躺平,然后尽量考个编啥的上岸。
直到7月底,我的思想发生了巨大的转变。 我老家这边的薪资是只要上个班就是3000起步,刷盘子刷碗保安也是3000 4000的样子,距离雄安挺近的。7月底我入职了一家软件服务公司,涉及财务软件,仓储软件WMS,车间生产软件MES的代理,大概十几人的样子,月薪不到4000(可能有项目提成,但我目前还没拿到过)吧,三险。面试也没问啥技术,就是问问我做没做过项目,让来试试,开发MES,当时我还不知道MES是什么。
简单说一下公司的主营业务吧,主要是代理一些软件以及一些售后服务和很少的二次开发,然后他们在2023年3月份开始用一个低代码平台(精益派)开发了一款MES产品,上游数据是金蝶ERP给的,然后在MES中处理展示一下,还有对接车间内硬件的一些东西也是公司做的(PLC之类的?不懂)。
这个MES产品刚开始是由另一个老大哥带着一个毕业就在这干活的兄弟(起个代号吧:小赵)干的(基本已经被定制化人才了,除了这个低代码平台和一些简单的sql,他也没接触过其他的),这个老大哥从2023年3月份开始做,到6月份搭了个demo就开始专心做产品经理的事了,然后就是那兄弟自己做,一直到冬天,他们卖出了一套。。。然后2024年春节刚过,老大哥走了,不清楚为啥,可能涉及到职场的一些事;
这时候另一个做硬件的老大哥老白(40岁,主人公),接管了。。。
这个MES上半年卖了一套,下半年也签约了一套。5月份的时候,这家公司招来了一个小伙子(代号:准天龙人),他只干3个月,然后就要去读研了,他3000,本科211,在深圳上了半年班又考研到985了,在知识上我没法评价他,但是他的技术确实挺好的,人也很积极向上,只能说高材生确实学东西是真特么的快啊,招他来是来解决一系列问题的,涉及到低代码平台的弊端: 这张图片,只做了一件事,就是列表多选框关联正反选,别问为什么不用#id.checked(true)之类的,不好意思,低代码不开放这个事件
1.这个平台报表的开发不能定制化,我指的是复杂数据处理后再展示
2.不能打印预览
3.不支持多数据源,想要读取第三方数据就得写接口
4.积木式编程,拖拉拽的开发环境,造就了性能和速度的问题
这里我奉劝各位想要入坑低代码和零代码平台做产品的各位,真的是一坨,初期业务简单,数据少的时候,真香~~~后面数据量上来,各种各样的业务需求,你根本没法解决,别犟,用用就知道!
所以准天龙人另开了个java项目用来处理对接第三方的数据,开放接口给MES,还有就是ureport2做报表和打印,当然他只是把服务搭起来了,具体没有细化,8月初他就离职去读研了,然后他的活由我接手,并且老板和老白感觉到低代码平台的弊端后,想把整个MES改成java项目,这样更可控,而且他们已经找外包做了一个APP了(3000,半年做了一个登录,一个列表,还有两个业务逻辑,uniapp+springboot开发的),这个APP也由我接手了。
我刚入职,老白对我的技术不放心,于是测试了我一下,我是周五入职,周六上班,周日单休,然后周一下午临近下班,他给我个任务,就是把目前那个低代码上的两个页面合并成一个页面,然后我周二看了一整天低代码平台的操作方法,周三上午,老白开始催了,下午就直接说让小赵直接做完得了,别拖了,刚开始我确实以为是我的接触新事物能力有问题,然后我坐在小赵旁边看他做,我才发现我理解错了,两个页面分别是A表和B表,我纠结的是低代码平台怎么联合查询然后分页,结果小赵跟我说,合并后的页面应该去查C表,WDNMD
然后周四,老白跑到我身边,开喷:“你为什么没做完,你让我在客户面前很没有面子”巴拉巴拉,我没有说话,我陷入了自我怀疑,接受了这次批评。然后另个软件实施小伙子(代号:小李)问我怎么事?我就照实描述了下,他看了我一眼,说:“你的工期不应该听他决定”,然后我感觉他支支吾吾的还有话想说,但是最终没说,我也觉得是这样,开发工期如果是10天,那么之前项目经理会给20天,项目着急的话他也会给8~12天然后还得商量后确定可以完成,从来没有过这种,入职第三天,开始开发线上功能,2天内做完?至此,我埋下了怀疑的种子,但不深。
8月初,对于第一套第二套卖出去的MES产品,数据量上来了,报表的问题,低代码平台解决不了,前文我也说了,小赵属于定制化人才,所以用ureport弄报表和打印的问题就交给我了,40张表吧,老白规划了一个月。ureport这个东西怎么说呢,如果用他bean那个方式跟java项目去连接拿数据,其实不是很复杂,但是老白要求的时候必须纯sql,用过xxl-job的可能知道,任务调用两种方式,一种是执行你在java项目中写的逻辑方法,还有一种是纯前端的GLUE模式,这个ureport更绝,纯SQL,所以这个活说难也不难,但是很麻烦。然后中途老白问我一天大概能做多少,我说3~4张吧,这时候,老白,跟我说:“那你20天内做完吧”我因为刚来,也没说什么,确实做完了,然后老白很得意,开始给我和小赵讲他的十年车间生涯,怎么怼客户怎么怼金蝶,然后说:“以后我们就这样,接二次开发,三四天要他个四五千,是不是很爽啊?”,我:“
”。这里,加深了我对他的怀疑,因为我不觉得很爽,我也不觉得真有人那么傻,而且最主要的,如果我自己三四天就能创造四五千的价值,我还来这上班干嘛呢?
9月初,因为低代码平台收费2W/年,还有它日益显现的各种问题,老白跟老板决定开启java项目来替代它,脚手架用若依,这里老白是在若依的官网试了试,发现若依跟低代码差不多,所以他想当然的以为若依就能完全替代低代码平台了,这里我解释下他的想当然是什么:开发速度一样,开发难度一样,表和数据是现有的,那么工期应该比现在的低代码MES更短。所以他跟老板说两个月完成(这个时间是没有问过我的,直接通知),然后他开始给我提需求:复刻MES,表结构不变,用若依,十月底交付。我没有说话,等到实际操作我才发现,无论是ruoyi,还是ruoyi-plus还是ruoyi-pro,对sqlserver的支持度都不高,如果根据他们的文档和规则去建表还好说,但是需求是表不能变,这里我必须展示一下小赵和老大哥的表命名方式,中文命名且没有注释,并且准天龙人在的时候,老白还嘲讽他:“你们这些敲代码的就爱用英文命名”,贴图,感受一下
我把ruoyi和需求的问题告诉了老白,他理所当然的跟我说:“那当然了,你去改他的源码和生成模板不就完了?有那么难吗?我知道,我玩过”,我:“”。最后我还是用了ruoyi-pro,用了一些很笨的方法改了一些死参,勉强能用。从9月到10月,我一直在复刻MES,这期间,老白找过我一次,扔给我一个jar包,是JNPF引迈的商用项目,基于java的低代码平台,我问了问官方,落地10W。老白让我给他启动起来,他要用里面的大屏给客户展示,然后我反编译看了看一些配置,就启动起来了。他问我:“你能从jar看到代码?”我说:“反编译能看一部分”。然后老白开始了,他说那干脆你反编译之后咱们二次开发呗,我没有理他。
十月中旬,老白突然有天找我,让我教他Git,就是pull和push,他都不会。这时候我已经彻底明白了,他根本不懂开发,然后我问了问准天龙人,得到了肯定的答复,我又去问了问小李,这时候小李也离职了,他说:“当时我在职,不能跟你明说,其实这家公司,只有你懂开发,也只有你干过,所以你不能听他们的,他们根本不懂”。
十月底,老白准时让我交付,我说交付不了,我只是做了个空架子,给客户得被骂死。这里我说一下复刻低代码MES的工作量
数据库180张表没有注释,
低代码平台220张表单(可以理解为vue的组件)
逻辑150条(可以理解为复杂的业务逻辑)
抛开与第三方对接的不谈。
小赵从2023年3月份到现在,一直在迭代开发,也只剩他一个人还在奋斗。我拿这个工作量去闲鱼上问了问外包,统一的答复是,个人不接,团队接单3~5W,3~5个月完成,不包后期维护。对了,最重要的是,可能有些人理解的低代码是有源码的,我可以告诉你,精益派就是图形化界面,没有源码。
前几天,老白再次让我交付,我直接跟他说:“你们做了一年半的项目,让我两个多月上线根本不可能”,他跟炸了毛的猫一样,找财务和老板要合同,说之前他们就是三个月就上线开卖了,然后问小赵是不是,小赵说不可能,小赵说卖第一套的时候已经接近过年了,反正老白就是各种跳脚吧,找证据证明这个活很简单,三个月的事。那我就想知道,小赵这勤勤恳恳的一年半,是在做什么
然后老白实在是证明不了了,开始转移话题:“我只想让你做个半成品”, 我说:“那客户跑单怎么办?” 老白:“没事,合同签了” 我说:“那就行,只要别最后怪我就行”然后他一见我软下来了,不和他硬钢了,又开始了,开始讲他十年车间生涯,怎么干活怎么怼客户的老一套,在我眼里,像只猴子,急于证明自己。
补充老白的几件趣事吧
1.万能接口做业务(一个接口地址,完成所有业务),他让我给他一个接口的url,他只穿表名,参数,和增删改查类型,然后让我去调用存储过程,给他做业务
他的解释是,为了防止以后低代码平台不续费不能用了,直接在数据库做业务就行了
2.存储过程搞逻辑,他说他们以前全是存储过程,还特别自豪的讲了一个例子,说有个存储过程就需要连续调用三次,于是他把那个存储过程单独写出来,在另一个存储过程里调了3次,这个例子他讲了三次,每次都特别自豪,脸上有光我问一句,java的三要素是什么?XX,继承,多态
3.JDBC切换数据源,有一个需求是要切换多数据源,低代码做不了,他也要求我提供一个万能接口,加一个参数,他提供数据库名,表名,参数,和增删改查类型然后做业务,我说我开发这么多年,没这么干的,他跟我说DBHelper,我想了很久,觉得他说的应该是JDBC
4.字符串传参然后切割参数,他跟我和小赵吹他十年车间生涯的时候,还很自豪地说:“以前我们调用第三方api,那个api只能传一个参数,你们知道我怎么做的吗,这是我独创的,传参A@B@C按@切割成A、B、C然后分别去调用api” 他知道Json,但不知道那是干嘛的
5.其实他在车间的工作估计就是PLC相关,但是现在公司与车间的硬件业务少了,他有点危机感,又想跟老板展示价值,于是他先搞到了JNPF引迈的jar包让我二次开发, 我拒绝之后,他跑到咸鱼上买了人家的源码,并且开始跟老板大吹特吹,说这是开源项目,里面有审批流OA和大屏,我们拿去卖给客户,卖完不包售后,如果需要二次开发,让客户另掏钱
6.最重要的,向上管理,每周两次,雷打不动,忽悠老板:“夸耀自己的工作成果,我们的开源项目JNPF可以卖给客户啦,一套几万就可以,我这段时间一直在弄,很费劲的啊”;甩锅给我:“这个复刻MES这么慢,我怀疑是XX能力有问题,我做事就是这样,我指到哪,你就得打到哪”
就先这些吧,以后想到啥随时补充吧,目前我个人还是在这摆烂状态,这个MES复刻也摆烂,每天做点页面,帮小赵处理点复杂的低代码问题,逛逛论坛,搞搞自己的学习,坐等老板辞退我, 不过老白这种人,给了我很大的自信,说句很难听的话,如果这种40岁的混子,软件开发啥也不懂,概念全靠百度,都能指手画脚,欺上瞒下的话,我觉得在座的各位都不能比他差了。没啥特殊情况下,年后准备去北京再试试。 老白,一个击溃了我35岁焦虑的好大哥!也是向上管理的具象化。感恩!
以上纯属真实,战绩可查,拒绝虚构夸大,从你我做起