ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

技术人的沉思录

技术人的沉思录 写代码这些年身边来来去去都是同行。我越来越觉得这一行给从业者最大的礼物是掌控感改一行代码世界就按你的意图动一下写一个系统从设计到上线每一步都可以被验证、被掌握。这种正反馈在别处很难得到所以它格外迷人。可它也是一份危险的礼物——它足以让一个除了敲代码、其他什么都不行的人活得非常自信。我们见过太多这样的同行也多少照见过这样的自己沉浸在自己的世界里在自己的代码和指标里无所不能走出这个圈子人情世故不懂真实世界的样子没见过却因为习惯了掌控感蜜汁自信从不觉得自己有什么不行。这篇文章不是要指责谁这种状态我们自己身上也多多少少有一点。它只是把这些年看见的通病记下来提醒我们别一路滑成那样的人。一、把生活当成一次线上故障排查见过不少同行习惯性地把一切问题当故障处理。感情出了问题第一反应是复现、定位、修复人生有了困惑当成一个待解决的 issue连跟人相处都像是在对接口、调参数。这套思路在代码里是对的可离开代码就开始失灵——因为人不可复现问题没有唯一原因很多事没有解决这一说只有消化。一个只在代码世界里学过解决问题的人走进真实世界第一反应往往是这里也应该有答案。发现没有他不觉得是自己方法错了而是觉得这个世界不严谨。巨婴的起点大概就是这里——用自己唯一会的技能去审判一个它根本不适用的世界。二、理解了零件就以为理解了整体技术人谈组织、谈文化、谈协作总想把它拆开。把团队拆成一张张职责说明、一条条流程、一个个指标以为拆完就懂了。可拆出来的只是零件零件之间那种说不清的东西——信任、默契、人心——恰恰是最要紧的也是拆不出来的。更麻烦的是拆解带来的自信。一个能把系统拆得清清楚楚的人很容易以为自己也能把公司、把社会、把人生拆清楚。他拆完还觉得自己懂了——这种以为懂了的自信往往比真的不懂更可怕。三、手里有锤子看什么都像钉子学个新框架就四处找地方用读篇文章就想改造一个领域。工具用久了会变成身份的一部分——所以承认这个工具不合适很难听起来像在否定自己。在这种状态下人不是在用工具解决问题是在用自己的工具定义问题。整个世界缩小成自己那点手艺能覆盖的范围范围之外的东西他看不见也不觉得需要看见。沉浸在自己的世界里就是这么来的。四、可观测的东西才能让人安心以前我以为身边那些只信指标、报表、dashboard 的同行是数字崇拜后来才慢慢想明白他们依赖的不是数字本身是可观测。可观测的东西是确定的、能掌握的看得到进度算得出好坏让人安心。不可观测的东西——方向对不对、一段关系行不行、自己快不快乐——没有仪表盘拿不准就慌。一慌就很容易做一件事把不可观测的问题翻译成可观测的假问题造一个指标假装它可控。这个习惯的代价是仪表盘上的一切都被优化了仪表盘外面的世界——真实的人、真实的变化——没人看也没人在意。等到仪表盘外的世界出了问题第一反应不是自己漏看了而是数据怎么会骗我。五、想清楚了再动手还是动手了才知道见过不少同行做项目总想先设计得完美再开始。架构文档改了又改总觉得差一点终于动手又发现哪里不对推翻重来。项目停在百分之五进度条永远不动。这看起来是严谨细想其实更多的是怕怕写出烂代码怕被评审挑毛病于是用还没准备好拖着拖到那个注定不完美的时刻晚一点来。可一直不开始就永远接触不到真实世界的检验永远活在自己设计的完美图景里。完美主义保护的不是质量是一个从不被现实戳破的自我想象。这样的人很难长大——长大意味着接受自己的东西是烂的、错的、要改的。六、方向还没定就开始优化“过早优化是万恶之源”工程圈都熟说的是性能。更早的一种是目的地还没确认就开始优化路线。需求只有一句话已经开始讨论数据库用户还没过百已经开始设计分布式连要解决什么问题都没说清楚已经在选型。为什么总在确定的事情上使劲因为优化是确定的做一点就有一点的成效让人踏实而确认方向要面对现实面对现实就可能发现自己错了。于是越忙越封闭越封闭越自信——忙本身就成了一种安全。七、已经投入这么多舍不得放弃方案做了一半明知不对还是硬着头皮往下写。“都写了两周了”“评审都过了”“现在换太难看”——理由一个比一个像真的翻译过来就一句话舍不得已经投入的那些。代码这行有个特殊之处写错了可以删可以重构可以回滚错误不会真的惩罚你。这养出一个习惯硬着头皮把错的走完用更多投入去证明之前的投入没错。不肯止损的背后是不肯承认自己错了。在代码世界里认错成本很低改一行就好在生活里认错要推翻自己的一部分。技术人习惯了前者遇到后者就本能地装没看见继续把错的路走到底——像一个不肯认错的孩子。八、把聊天当成了代码评审见过不少同行把代码评审练出的习惯带进所有对话。朋友来倾诉开口就是建议家人说一种感受忍不住纠正其中的事实网上争论第一反应是找对方逻辑的漏洞。还觉得自己在帮忙。代码评审默认存在客观对错批评对事不对人可大多数聊天根本没有这个前提。对方说我很难过回一句你这个逻辑不成立——辩论赢了人也得罪了。更麻烦的是把一切批评当 bug 报告先反驳先解释这是 feature 不是 bug而不是先听懂对方在说什么。这种对话方式背后是一种很顽固的自信我逻辑对我就没错。可人际关系的对错从来不按逻辑算。一个不懂人心的人坚信自己什么都懂——这种自信在代码世界里是优点在人的世界里是灾难。九、站队而不是判断语言之争、框架之争、编辑器之争技术圈吵了几十年还在吵。技术选型本来是看情境的事这个团队、这个阶段、这个问题怎么选合适怎么选。可它常常变成身份宣言我用什么我就是什么你反对它就是反对我。吵到面红耳赤其实争论的东西跟他没有半点利害关系。一个人把用什么工具上升到我是谁说到底还是那个圈子里的小孩——在自己的世界里为虚拟的阵营争得煞有介事走出去却发现世界根本不关心他用哪个框架。十、以为所有问题都是技术问题最不容易察觉的通病相信所有问题本质上是技术问题技术到位了都能解决。团队没信任上个透明化系统教育不公平做个在线平台人不幸福写个 App 引导冥想。一半是善意一半是傲慢。这是蜜汁自信的终极形态一个只懂技术的人相信技术能解决世界上所有的问题。他不了解教育但觉得在线平台能解决教育不了解信任但觉得透明化系统能重建信任。这种傲慢不来自坏心来自没见过世界。收尾静能生慧把这些归拢一下对确定性的偏爱对可控的依赖对反馈的渴求。这些在代码世界里是本事出了代码世界就是坑。它们合起来会把一个人慢慢养成开头说的那种人沉浸在自己的世界里除了敲代码啥都不行却蜜汁自信。要避免这个结果大概没有什么捷径。技术圈是最讲究更新的地方我们更新依赖、更新框架、更新知识唯独很少更新对自己的认识。而认识自己这件事恰恰不能靠敲代码获得——它需要静下来走出自己的世界看看真实的人承认自己不知道的远比知道的多。静能生慧。慧的第一步不是更聪明是知道自己不行。技术人最缺的大概不是更快的工具而是停下来照照镜子的功夫。这篇沉思录没有结论我也没有答案只是把这些年看见的通病记下来提醒自己也提醒同行的你我别变成那个永远在优化、永远停不下来、永远觉得自己什么都懂的人。
返回列表