反演训战--对外包人员来说是如此重要

mac2025-10-26  3

训战是一个核心词汇,打赢其它外包公司很简单也很难。

资产分离,静态资源,员工,项目高质量交付分离。训战,把加班时间改为训战时间。

只要做到这两点,72家供应商交付质量看,能干掉71家。

当然具体会有很多细节,但是这是非常难的,经过几年的协商,观察和尝试发现不可能。

因为企业定位,因为中低层的管理者的本质。

这是个KPI的时代,大到华为百度,小到ZR,YLB等小型外包,决定发展方向的是决策层,决定产品质量的是一线PL,PM等。

而对于底层管理者都是中国式管理,中国通,KPI为核心,真正做事的,反正到目前为止我没见到过。

每个小领导都在算计的是我怎么把这个项目拿下来,哪怕他对企业产品生态架构来说没实际价值,只是重复造轮子。

怎么快速交付,最低预算交付,然后跳空各种开发规范,测试,方案设计阶段。之后尤其能不能运维,那就不是我的事情了,这个东西上线基本都加薪,提升换岗了。

尤其现在的轮岗制,每一个领导走了,留下的绝对是烂的不能再烂的摊子,一年一度的KPI他拿到了,这些不是他思考的范围。

我们的技术基本都来自国外,无论是阿帕奇的开源技术,还是openresty,go,python,kafk等等。

他们都是常说的一句话,系统可运维性逐渐趋于0,而这个周期取决于设计。

而我们大多实战项目是快速趋于零,因为人员高流动率,缺少设计文档和表设计文档,一个系统可能关联N个外围系统,而自身又有N多工程。

从上家公司接手的项目,十几个工程,有PHP,java,python,还有N多插件,和不知道部署在那里的shell。

甚至服务器密码却失,没有具体清单,oracle,mysql没有表设计文档,不知道有哪些表,更奇葩的是管理员账号也没有,做个解锁都没权限。而这种项目比比皆是,领导轮岗了一茬又一茬,供应商换了一波又一波。

这这种系统的后期运维,迭代开发成本不再开发,而在理清当初到底怎么做的,接口来自哪些系统,他们什么时候下线了。面对一个页面,20000行的JS,一不小心不知道哪个场景用户就用不了了,做新功能迭代心都打颤。

公司角度是推不动反演的,虽然对于一个10000以上员工的公司来说,他们有海量的实战项目,设计方案,业务模型和技术实践。

但是没有一个顶层领导去整理这些技术,知识,解决方案,架构模型,如果去做就自己承担成本,而这种东西会让公司产能至少翻倍,但是见效至少2年以上,但是对于个人来说,年终考核毛利率不达标是立马滚蛋的。

所以你会发现,全公司几乎做着同样的事情,浪费着同样的时间,同样的问题每天都在反复上演,同样的解决方案每天都有人在探索。

既没有可检索的静态资源库,也没有做成公共代码库甚至是封装成demo或者框架。

这种浪费,真的是及其奢侈。

公司层面我们管不了你,那个需要有话语权和决策力的人去搞定,反过来看个人,时间是每个人唯一真实的财富,其它都是附加值。

反演的作用就是为了节省个人时间,遇到一个技术我们抽时间去形成demo。

遇到常用功能,我们封装成jar。

遇到问题我们梳理成笔记。

如果做OAF,ADF这种框架的会感到无比的爽,同样的功能,如果不熟悉的人可能做一个月,熟悉的人可能做2天,就会有这样的差距。

很多项目开发没有技术,就是资源积累,当别人不知道代办,邮件,一步消息,redis集群使用,MongoDB存取,调度平台,shell数据同步的时候,你只需要把你积累的代码块嵌入进来,别人三天沟通的时间,你可能整个模块都做完了。

这就是反演训战的价值,节省生命。

另外,例如上次我去部署hicagent,我搞了整整一夜,本地开发没问题,测试环境没有,正式上beta我遇到了如下问题,半夜三更一个人,百度找不到答案,记忆犹新:

这是个旧项目,不具有一键打包功能,然后做改造。不知道历史配置的环境变量有哪些,搭建beta服务器的时候又发现db,MongoDB、kafka等不对。 打服务器找到历史包,ftp下来继续做系统改造。公司私有仓库缺少jar包,上传又pom下来,本地玩玩的好好的,部署到服务器,tail下看到各种报错。 百度了N久没找到任何可用信息,只有把jar包版本一一替换。而这种老系统不能一键发包。 不停的尝试,ftp,rm -rf,tail,start 的吐血。初始化servlet int方法不加载,xml各种修改,最后发现框架自带log4j和系统上架公司配置的log4j冲突。调度包不是maven工程,还有两个web目录,不知道jar包从哪里来的,上限的时候懵逼了。 然后发上去各种问题,diff旧包,才明白beta使用的生产sso SDK。 回头写下了真个改造方案和遇到问题处理方案,下次再改造其它项目,我至少不需要这么个晚上。 可以一键适配,生产管理环境,生产服务外环境,研发管理环境,研发服务化环境,beta管理环境,beta服务化环境。

一个功能,把用户的批量自动化任务,卡死。 改为用户端推送kafka,调度服务消费消息,然后触发调度任务到执行引擎即可。 16小时PO完全够用,当然是我们往往死于细节,和外围工作。 例如,服务器搭建,功能上线这些都不算工作量的,所以公司认为你的劳动没价值。 甲方任务,你做了代码开发就有义务把服务器搭建好,项目改造好。

所以,有空就把这些东西练熟很重要,很节省时间。

对于非互联网或者大平台的系统设计开发都非常简单,不涉及什么技术,无非是功能和实现。 尤其是大厂又有可参考的代码。 系统设计,表设计,代码开发按照甲方的要求确实是分分钟的事情,但是对于遇到个中奇葩的问题解决就不一定了。 反演的价值对于个人来说,就在这里。

最新回复(0)