哀悼细节的消逝
Hacker News 摘要原标题:Grieving the Loss of Details
作者通过这篇类似个人日记的博文,反思了自己在当前软件行业变革中的处境与迷茫。
对底层与细节的执着
在“氛围编程”(vibecoding)概念出现、行业转向将架构设计作为程序员核心价值之前,作者一直自豪地自称为“编写代码的人”(coder),而非“工程师”(engineer)。在作者看来,这一身份代表着对底层细节的关注、性能极致优化、对语言细微特性的掌握,以及能讲透计算机运行原理的能力,而不是去摆弄 Java 那样层层嵌套的抽象概念。
作者 10 岁时因电影《创:战纪》对计算机产生兴趣。作者学习编程不是为了写出实用的软件,只是想弄明白机器底层到底如何运作。经过多年在 Linux 下的探索,作者逐渐掌握了系统底层机制。后来作者接触过网络、密码学和 Rust 等领域,但最终心之所向始终是硬件机器本身。
作者的自豪感和乐趣来源于:
• 编写玩具操作系统
• 精确计算时钟周期
• 纯手工编写机器码
• 构思巧妙的底层技巧
作者把机器看作自身躯体的延伸。八年来,这种对细节的执念甚至到了极致的程度:因为对 ARM64 的理解不如 x86 深刻,作者换 CPU 都会感到难受;写 Python 会纠结内存分配;还会因不懂如何查看自己电脑上 Java 代码的即时编译(JIT)反汇编而深感不安。
探求本质的认知方式
作者认为自己不是某个垂直领域的专家,而是一个纯粹的底层代码编写者和极致细节控。
这种认知习惯延伸到了作者生活的方方面面:
• 无法自顶向下学习:面对缺失细节的信息会不知所措。别人解释一个概念时,作者必须从零开始自己推导,直到完全领悟。
• 数学与理论推导:学生时期会花数小时调整公理以契合直觉,再以此推导定理;与伴侣的相处时光也经常用来共同证明定理。
• 日常生活也是如此:如果不理解背后的化学原理,作者就无法在烹饪时做新的尝试。
作者直言,完全不理解就无法上手工作的特性,在日常生活中其实是一种阻碍。但软件开发曾经是唯一的避风港。过去,即使别人不完全理解,也会尊重作者在底层项目上的工作。大家普遍认可:编译器的微小优化能产生叠加效应,需要有人写汇编来让 JSON 解析器极速运行,软件不该像 Electron 打包的应用那样臃肿糟糕。作者也曾凭借对问题的底层洞察力赢得了技术声誉。
大语言模型带来的冲击与绝望
强大的大语言模型(LLM)问世后,软件行业达成了普遍共识:AI 会让“死抠细节”这种耗费心力的工作过时,开发者应该专注于系统抽象和宏观架构。
然而,这种转变对作者造成了毁灭性的打击:
• 专业价值被稀释:如果任何人都能让 AI 找出性能热点循环并自动矢量化,或者让 AI 来逐步解释复杂的指针来源规则,那么深耕底层的专家的价值就会荡然无存。
• 心理与认知冲突:作者无法忍受超出大脑记忆负荷的庞大架构。当尝试在个人项目中使用 AI 时,作者发现 AI 懂得比任何可以交流的真人还要多。作者感到自己被剥夺了与人交流的资格,甚至被直接推给了 AI,这让作者感到受到侮辱。作者因此发誓,绝不在自己真正在意的事情上使用大语言模型。
对未来的悲观预期
在短短一年内,作者从对未来有清晰规划,变成了甚至考虑去申请残疾救济。
以 AI 为驱动的开发模式,剔除了软件行业中能让作者感到适应和享受的所有部分。就业市场已将 AI 视作必然趋势。除去张开双臂拥抱 AI 的大型科技公司,几乎没有公司有资源去顾及作者擅长的工作。即便作者想把这些当作纯粹的业余爱好,复古计算和性能优化等圈子也开始涌入大量追求热度而非享受过程的 AI 追随者,这让最后的乐趣也荡然无存。面对行业的变化,作者感到自己曾经拥有的唯一出路彻底消失了。
原文:https://purplesyringa.moe/blog/grieving-the-loss-of-details/