技术人的沉思录
技术人最容易犯的思维误区——确定性幻觉、还原论、锤子定律、过早优化、技术救世主……写给自己,也提醒同行:别活成"除了敲代码啥都不行,却蜜汁自信"的人。
技术人最容易犯的思维误区——确定性幻觉、还原论、锤子定律、过早优化、技术救世主……写给自己,也提醒同行:别活成"除了敲代码啥都不行,却蜜汁自信"的人。
做了快十年,经手的项目从几十行脚本到几十万行系统都有。有一个问题一直绕不开:复杂度到底从哪来的? 不是「为什么会有复杂度」——那个答案太简单:问题本身有复杂度,解决它就得付出复杂度。真正的问题是:为什么很多系统的复杂度,比它要解决的问题大得多?多出来的那一部分是谁加的、什么时候加的、怎么避免?
从 50 只 demo 到全市场生产,一个数据拉取功能长出了八套机制。回看演进链:规模 → 数据量 → 真实数据 → 失败 → 速度 → 成本 → 并发 → 接口限流 → 内存,每一层的解决都打开下一层。调用量靠估算暴露、内存靠崩溃、失败靠事故、并发靠推演、成本靠习惯、接口限流靠拒绝——demo 是单次的、小规模的、理想环境的,它把"功能正确"之外的所有维度都屏蔽了。
架构不是设计出来的,是在每个阶段做了正确的决策才长出来的。四阶段框架:能跑→跑得准→跑得稳→跑得快,每个阶段的核心矛盾不同,三条原则的权重随场景变化。
我经常被人说记性好。读过的书能复述个大概,见过的人隔了半年还能叫出名字,各种命令行和快捷键张嘴就来。 但我自己知道,我记性一点都不好。手机号码除了自己的,一个都背不出来。昨天中午吃了什么,要想三秒才想起来。上周答应过别人什么事,如果不写下来,忘得干干净净。 后来我琢磨明白了:我记住的那些东西,不是靠
发刊词:工作与生活里的问题,和工程里的是同一类——工程早已把通用解法提炼成缓存、模板、工作流这些成熟概念,专栏负责把它们翻译回现实。