周报 2022W41:两性交易、虚假世界与效能改进

用身体换钱财地位可耻吗?

听🐷跟我说了件事,虽不至于惊奇,但还是有些许特别的感觉,因为它即使牵强,也还算是「身边事」——

故事

她朋友公司有位中层领导,是个 90 后,据说个子不矮,身材苗条,平日里很会装扮自己。听这描述,脑补出来的形象至少不难看,也许还有点吸引力,是吧?

至于学历,记得🐷跟我说过,想不起来了。应该最高本科,并且不是什么突出的学校。不过,学校是啥不重要,就算是个三流野鸡大学的文凭,在那家公司的老板眼里也是个香饽饽,神不神奇?

那公司,要说规模也不算小,毕竟耗资几个亿的自有写字楼正盖着呢,并且所处行业也算高新技术领域,就冲这公司的描述,给人感觉应该「还不错」、「很牛逼」的吧?

然而,这样一家观感还可以的公司的老板却是个依靠人情世故经营而不懂管理的土老板。公司的关键岗位净是家族成员,做生意嘛,估计也主要靠潜规则拿单。

因为他自己没什么文化,看到有学历的人就会觉得欢喜,学历越高越闪亮他就越看好那个人,薪资待遇、职位什么的也都好说,工作专业能力什么的就基本无视——这就是为什么那个中层领导会在老板眼里是个香饽饽。

上面都是为了理解🐷跟我说的事而进行的背景陈述,那么,正题是——那个中层领导升为副总了!

至于她到底是怎么升上去的不清楚,但是听说与老板之间有故事,并且还跟老板的司机扯不清;公司谈业务时也会去陪酒,陪到什么程度就不得而知了。

评价

即便无法佐证这件事,但听到上述内容之后,直觉上会认为她就是利用性别「优势」上去的——这种上位方式以及她的作风在主流观念下是令人不齿的。

在我看来,不必急着抡起道德大锤,并且我觉得它本身就不存在——道德是用来自律的,而非去要求和限制他人;只要没有且不会造成影响危害他人的公共问题,在参与者皆为自愿的前提下,不管是吸毒或性交易,还是虐待或杀人,都是他们的自由。

就算那个中层领导真的几乎是靠性别「优势」升为副总的,那也是她在经过充分考虑之后,认为自己除了通过这种方式没有其他任何能力能够帮助自己得到更多的钱和更高的职位。她有「勇气」,豁得出去,换个人估计最多也就想想。

另外,这事儿能成光有「勇气」也没用,还得有「运气」——遇到了这样的老板,成了她的「伯乐」,进而「提拔」了她。交易是双方的,既然能成,就无所谓谁占便宜谁吃亏——都是自愿的。

引申

不过,有一点是让我不太爽的,倒不是跟她这具体的人和事有关,而是那些整天吵吵男人物化女人的所谓「女拳」们——女人的物化或者说异化和男人有什么因果关系?

历史就不去看了,就拿当今常见的一些现象来说——性交易、相亲、用包包或红包哄女人开心等,哪个是由「男人」造成的?造成这些的原因是「人性」,是「社会」,不是「男人」!

退一万步讲,假设「男人」是罪魁祸首,那「女人」为什么要接受被物化被异化?不满的话,奋起反抗呀!

就单纯地约炮,只讲快感,不谈钱和感情!坚持自由恋爱或单身主义,父母和七大姑八大姨催婚就跟他们断绝关系!不要钱和包等物质,只要灵魂上的来电和长久相伴。

那些「女拳」能做到吗?能做到吗??能做到吗???我估计做不到。她们想既当又立,就跟键盘侠一样让我反胃!

无论是「女权」还是「男权」,都是邪恶的,「人权」才是唯一的正义!

活在虚假的世界中

曾经有过的想法最近又重新出现在脑中,并且愈发深刻、强烈——我们所存在的这个世界并非真实的。

按照常规的观点,我们肉身所处的世界是客观的、真实的、不以人的意志为转移的。「不以人的意志为转移」我算它对,但「客观」和「真实」也许得打错号。

想象的世界

无论是不是科学,都是由一部分经验再加上一部分想象组成,只是它们各自的占比不同;人通过各种观察方式及手段获得经验信息,再经由大脑加工后形成知识。

人对世界的认知由大脑如何去处理加工经验信息决定,既然如此,每个人对世界的认知都是主观的、片面的,是真实事物在脑中所反映出的现象。即使是自然科学家,他们的认知也都是主观的。

不能说多数人所认知的世界高度一致,就下定论「这就是真实的、客观的世界」,顶多是他们之间达成了对「世界是什么样的」这一问题的「共识」,依然是主观的、片面的。

因为人们是透过现象去了解世界,都是经过了大脑的处理,所以人们所知道的关于世界的一切知识都是主观的,不可能是客观的,或者说所谓的「客观」是不可触达的。

也就是说,人们所说的「本质」,并非真正的本质,而是在他们的认知体系中不可继续分解或归纳的,即他们的认知极限。

上面说得可能有些绝对,其实我觉得去到达真正的客观世界的唯一方式是——

先破除自己顽固的认知,瓦解包括科学相关的一切知识体系,摒弃「我」这个主体,成为「空」或「水」的状态;再等待来自真正的客观世界的「点拨」的契机。

眼、耳、鼻、舌、身、意是人在人们共同想象出的这个虚假的世界中进行生存和交流用的,只通过它们是无法触及真正的客观世界的。

创造的世界

这几十年的技术发展,人们在孜孜不倦地探索机器人、AI、XR,还衍生出「元宇宙」这个狗屎玩意儿!可以说,人类具有造物主情节,想创造出更下等(不是「低级」的意思)的为人类服务的「生物」和「世界」。

《刀剑神域》相关作品讲述的主要内容就是人们在虚拟世界中生存的事情,前几部分是在大型多人在线虚拟现实角色扮演游戏(MMOVRRPG)中,《爱丽丝篇》关联的几部分则更是引入了与真人别无二致的 AI 驱动的「虚拟人」!

在《爱丽丝篇》的那个 AI 世界中,除了最高祭司之外的其他「虚拟人」都不知道外部世界的存在,他们都认为自己所处的 AI 世界就是「真正的客观世界」。

那个世界中的吟唱,在外部世界的人看来实际上就是一个程序语句的调用执行,但对那个世界的「虚拟人」来说确是很神圣的。

所以说,我们凭什么认为我们所存在的这个世界就是「真正的客观世界」,而非被创造出来的一个世界?我们难道不是像《爱丽丝篇》中的「虚拟人」一样的存在吗?

谁能证明我们所认为的「真正的客观世界」不是由多个缸中之脑联机而成的网络?

「提效」之我见

在《ToB产品化前端团队技术之路》中看到「沉淀 Pro 业务组件」和「统一技术栈」相关字眼,虽说不至于嗤之以鼻,但对反复咀嚼没啥新意的东西这类事总会不自觉地烦躁起来。

今年 3 月,我在公司前端全员群中提了个问题——

「沉淀业务组件」和「统一技术栈」是不是伪命题?

这两件事可以说算是每个前端团队的「追求」,然而它们需不需要做,以及有没有意义呢?

沉淀业务组件

常规的做法是在基础组件之上单纯地再封装一个组件,

  • 为了应对多种不同的但看起来类似的场景而添加很多属性与视图结构分支,很容易失控,变得臃肿💥
    • 在项目间、部门间风格与交互(几乎)一致时,也就是说,将可变性控制在一个很小的范围内才有一定复用价值,否则定制时需要做大量修改,跟自己重新写一个没太大差别
    • 因此,关注点应该是半成品(CSS component + headless component + half structural component)的复用,而不是成品
      • 纯 JS 逻辑
      • 兼容各视图技术栈的通用接口定义(interface-based programming)
    • 组织内沉淀的业务组件就是半成品 + 一套组织特定的配置(视觉风格、交互行为、模板)

统一技术栈

为什么要强行统一表现层技术栈?个人认为这是个伪命题——以往各团队都追求技术栈统一,是因为没绝对模块化并用合适的胶水粘合起来,技术栈统一不应作为上策去强制开发者都遵从。

  • GUI 开发,尤其是中后台应用开发,应该采取轻 UI 的策略
    • 计算与请求等非展示、交互类逻辑不在表现层中,表现层只负责展示计算结果和通过交互触发计算与请求等逻辑的执行
      • UI 组件倾向于 stateless
  • 因为轻 UI,UI 组件是相对原子的,很小的,没那么重要的,重要的是负责整合调度各个 UI 单元的与 Vue、React 等技术栈无关的纯 JS 的框架
    • 元数据/配置驱动
      • 视图编排
      • 逻辑编排
    • 抛弃状态管理,不要全局状态,用几个可 pub-sub 的核心抽象的上下文取代
      • 负责用户信息、权限等的 session 抽象
      • 负责资源聚合的 module 抽象
      • 负责数据处理的 model/value 抽象

有什么意义

「沉淀业务组件」和「统一技术栈」这两件事,都可归为「效能改进」或者说「提效」这个话题下。针对「提效」本身,其意义和价值不用多说,但从哪方面下手,如何去做,做到什么程度,这些都是存疑且值得商榷的。

当我们在谈论「提效」时,我们在谈论什么?

提效维度及其涉及学科、领域:

  • 作业(各种应用软件及其使用技巧)——计算机科学、软件工程
    • 开发人员直觉式提效的维度
    • 不太需要认知介入和做决策的低级重复性劳动
      • 封装一定范围内通用的组件库
      • 界面功能实现从写组件到写配置
      • 利用 IDE 插件和 CLI 基于约定进一步减少模板代码
    • 领域专有能力的重复建设(衍生出中台/平台部门)
      • 组件库、图表库、低代码框架、CLI 等基础设施
      • 数据智能、财税、电商、金融等业务领域
  • 流程——项目管理、企业所处领域
    • 各环节岗位协作
    • 项目/产品迭代
    • 软件研发工作流
  • 人——社会学、心理学、管理学
    • 与工具带来的效率提升相比更应注重筛选出具备潜质并激发个体自驱得到的效率提升
    • 强调统一的同时也是在促使模板化
      • 创造力发挥受限、受阻,进而逐渐丧失创造力和热情,趋向单向度,失去活性
      • 增加人的异化程度,妥妥工具人
    • 重复性工作被先进工具取代了,并且公司的业务增长没跟上作业效率的增长,过剩的劳动力等着被裁吗?
    • 作业流程的各环节逐渐指标化,各种监控数据,各种评价体系,它们如同抽在马身上的皮鞭,争取榨干最后一丝气力

除了「提效」还有啥

突然有个疑问——除了提效,对于前端工程师或软件工程师来说,还有什么是作为工作中/重心的主题?

貌似另一个总被提起的就是「性能」。那么,「性能」到底是指什么?除了它之外,还有没有别的?

千万别说「业务」,很多时候,这和前端工程师真没啥关系!不是会说几句行业黑话,知道点业务流程就是懂业务了;在我看来,在业务层面提不出什么建设性意见就不是懂业务!

可维护性?可读性?也许吧!不过想想看,可以与「性能」一并归到「质量」这个更大的话题下——与「提效」并列。

其范围大概为:

  • 性能
  • 鲁棒性
  • 可维护性
  • 可读性
  • 可扩展性
  • 安全性

产研一体化

上上周,也就是国庆前,我在周报中提到开发「规则引擎标准化」这个需求的「数据项管理」模块时给我整 emo 了,吸取教训后给自己定了个要求——

很常规的 CRUD 可以无脑地去写 Handie 配置,但要对不是已经存在的交互形式持有警觉,一定要先去思考,想明白了各种流程再动手写代码!能去写设计文档更好。

在写代码时不要边写边调试,先试图进入心流状态地一门心思把逻辑、视图结构等都按照思路写好,之后再在浏览器中预览调试并调整细节。

假期回来上班后,在做新需求和进行较为复杂的重构之前,我都会尽量仔细地梳理现有材料,在脑中建模后形成文档。

文档主要包含两大部分——梳理并分析已有材料的「需求分析」,不明白不理解的东西要问清楚,缺失的部分反馈给合作方,并记录下解决问题的粗略想法;形成详细解决方案的「前端设计」,大概有类型定义、界面区块拆解、业务模块(domain)/文件拆分、交互流、数据流等。

项目文档
项目文档

我写方案的风格像写文章一样,需要起承转合,这样一来也把在实施时的操作步骤大体说明了。

经过几次实践,真心觉得把思路梳理清楚,写完文档,直接就可以根据文档把程序生成出来了——产品经理输出「正确」的需求文档 → 开发人员进一步加工输出「正确」的技术文档 → 底层框架生成「正确」的业务程序——需求的源头「正确」了,最终的业务功能就是「正确」的。

这样一来,不仅不同类型的知识之间形成了链条,使得那一「方面」的知识更加完整,留存更集中效果更好;也减少了写代码的成本!

我在之前所设想的产研一体化平台就是知识驱动的:

知识驱动的低代码平台
知识驱动的低代码平台

代码重要吗?底层代码固然重要,但业务代码真「小可爱」不重要!

在动手写代码前将思路梳理清晰了,若没有上述那套代码自动生成技术的话,接下来自己便是化身为不需要思想的「业务需求翻译机」。