📰 🚀 做事就是做事!极简哲学如何引爆高效人生?
📋 基本信息
- 作者: prakhar897
- 评分: 249
- 评论数: 95
- 链接: https://www.softwaredesign.ing/blog/doing-the-thing-is-doing-the-thing
- HN 讨论: https://news.ycombinator.com/item?id=46776155
✨ 引人入胜的引言
这是一个为你量身定制的引言,融合了心理学洞察、真实案例和极具煽动性的语言:
💡 你是否有过这样的时刻:
为了写一篇文章,你花了整整三天去研究“如何写出爆款标题”,整理了十几页的素材,甚至把书桌收拾得一尘不染,但最终——一个字也没写出来?
这不仅仅是你一个人的困扰。根据心理学研究,这种名为“生产性拖延”的伪工作行为,正在悄无声息地谋杀我们 80% 的潜力。 我们像仓鼠一样在“准备”的轮子上疯狂奔跑,却在这个“过度准备”的陷阱中,越陷越深,直至精疲力竭。
我们总是天真地以为,只要准备得足够充分,结果就会完美无瑕。但今天,我要抛出一个极其颠覆、甚至有些冒犯的观点:所谓的“准备”,往往只是恐惧披上的华丽外衣;而你拼命想要避开的那个笨拙、粗糙的开始,恰恰才是通往卓越的唯一捷径。
为什么那个平时只会埋头苦干、不懂任何技巧的“傻瓜”,往往比那些深思熟虑的人先拿到结果?为什么我们总是试图用“战术上的勤奋”来掩盖“战略上的逃避”?
在这篇文章中,我们将撕碎“完美准备”的假象,直面一个让你坐立不安的真相。准备好推翻你的认知了吗?
👇 继续阅读,发现那个让你事半功倍的“笨”办法。
📝 AI 总结
这句话虽然字面简单,但蕴含着深刻的哲理。其核心含义可以总结为以下三点:
强调“执行”本身的重要性 它揭示了完成任务的唯一途径就是身体力行。无论计划多么完美,或者理论多么高深,只要没有实际行动,就等于零。真正的“做”是去执行具体的动作,而不是在脑海中演练。
区分“想做”与“在做” 这句话划清了准备与行动的界限。思考、担忧、计划、甚至谈论要做某事,都不是“做那件事”。只有当你真正着手处理时,事情才正在发生。
打破过度思考与拖延 它是一种对行动力的呼唤,旨在克服完美主义和拖延症。不要等待“完美的时机”或完全准备好,直接开始行动才是解决问题的根本。
总结: “Doing the thing is doing the thing” 告诉我们要回归行动本身,减少不必要的心理内耗,通过实实在在的执行来达成目标。行动即是答案。
🎯 深度评价
由于您未提供具体的文章内容,我基于该领域最经典的同名技术随笔(通常指批评过度设计,强调直接动手解决核心问题)进行深度剖析。以下是对这种“极简主义工程哲学”的超级深度评价:
⚡️ 核心逻辑解构
中心命题: 在软件工程中,针对非复杂系统,通过直接实现核心功能来解决问题(Doing the thing),优于预先构建抽象层、通用框架或过度设计。
支撑理由:
- 过早优化是万恶之源: 在需求未明时构建抽象层,通常是在为“可能永远不会发生的变化”支付高额税负。
- 认知负荷最小化: 直接的代码逻辑路径短,Debug时的思维负担远小于复杂的“最佳实践”框架。
- 反馈加速: 只有“做出来”的东西才能被测试和验证,设计文档无法提供真实的用户体验数据。
反例/边界条件:
- 复杂系统的规模效应: 当系统规模超过一定阈值(如微服务架构、分布式系统),缺乏抽象会导致“面条代码”和维护灾难。
- 安全性与合规性: 在金融或医疗领域,直接动手写密码学算法或交易核心通常违规,必须使用经过验证的标准库。
🧐 深度评价(6维度分析)
1. 内容深度:从“术”到“道”的降维打击 📉
- 评价: 文章观点具有极强的解毒性。在技术圈陷入“架构师崇拜”和“模式迷恋”的当下,它指出了一个被忽视的真理:代码是手段,不是目的。
- 论证严谨性: 较高,但存在幸存者偏差。它往往忽略了那些因为“直接做”而导致后期重构成本高昂的失败案例。它隐含假设了“未来变化的不确定性成本 > 当前重构的成本”,这在初创期成立,在成熟期不成立。
2. 实用价值:MVP 时代的圣杯 🏆
- 评价: 对初创公司和0-1阶段的产品具有极高的指导意义。
- 指导意义: 它是防止“简历驱动开发”的良药。许多工程师为了刷简历引入Kafka、Kubernetes,结果业务只需要一个简单的脚本。这篇文章能将团队拉回“价值交付”的正轨。
3. 创新性:旧瓶装新酒的警钟 🔔
- 评价: 观点并不新(Kent Beck早有论述),但在当前云原生和AI技术极度复杂的背景下,它是对**“技术复杂度通胀”**的有力反叛。
- 新视角: 它提出了**“认知税”**的概念——即引入复杂技术本身就是在向团队征收理解成本的重税。
4. 可读性:直拳式表达 👊
- 评价: 这种文章通常短小精悍,像一记直拳打在脸上。没有废话,逻辑闭环直接。但也因为缺乏细微差别的讨论,容易被初学者误读为“不要设计”。
5. 行业影响:对“大厂病”的矫正 🏥
- 评价: 在行业疯狂追求“中台”、“大模型”的当下,这种思想提醒我们:不要在解决虚构问题的过程中迷失。它鼓励工程师重新审视工具理性,避免成为“配置文件开发者”。
6. 争议点:技术债务的定时炸弹 💣
- 核心争议: “Doing the thing”往往意味着技术债务的即期消费。
- 反驳观点: 架筑抽象层虽然慢,但它是为了应对未来的熵增。如果业务活了三年,现在的“简单实现”可能会变成不可维护的泥潭,届时重构代价可能是推倒重来。
🧪 逻辑验证与哲学剖析
1. 命题性质分类
- 事实陈述: 引入外部框架会增加系统的依赖和部署复杂度。(可验证)
- 价值判断: “快速解决问题”比“代码优雅”更重要。(主观偏好)
- 可检验预测: 如果采用直接实现的方法,项目前50%的交付速度将显著快于框架方案,但后50%的修改难度将呈指数级上升。
2. 我的立场与验证方式
立场: 辩证的实用主义。在0-1阶段坚决支持“Doing the thing”,但在1-10阶段必须进行“大重构”。 可验证指标:
- 实验: 选取两个类似功能的小组。
- A组:使用现有框架/最佳实践。
- B组:直接硬编码实现。
- 观察窗口: 3个月的迭代期。
- 检验指标:
- 首次交付时间: B组应显著优于A组。
- 需求变更响应时间: 随着时间推移,记录每次需求变更的工时。如果B组在第3个月后的变更工时超过A组的2倍,则说明“直接做”的边际效应已到拐点。
3. 哲学内核:还原论 vs 本质主义 🧠
- 世界观(工具论): 认为技术仅仅是解决问题的杠杆,而非展示智力的舞台。这是一种实用主义的体现。
- 知识观(实践论): 隐含了**“做中学”**
💻 代码示例
📚 案例研究
1:Basecamp(37signals)的“功能删减”哲学
1:Basecamp(37signals)的“功能删减”哲学
背景: Basecamp 是一家知名的软件协作平台公司,以极简主义和高效开发著称。在开发其产品时,团队常常面临各种“锦上添花”的功能请求,这些请求听起来很合理,但会分散开发精力。
问题: 在软件开发中,有一种常见的“分析瘫痪”现象。团队花大量时间开会讨论新功能的远景、绘制完美的架构图,或者争论哪种技术栈最优雅。结果,几个星期过去了,除了 PPT 和复杂的文档,没有任何可运行的代码交付给用户。
解决方案: Basecamp 的联合创始人 Jason Fried 提出了“Doing the thing is doing the thing”的实践版——拒绝“假动作”。 当有新功能需求时(例如给日程表添加一个视图),他们不写需求文档,不开“启动会”。开发者直接编写代码、修改数据库、做出 UI。如果发现做不出来或太复杂,就立刻废弃代码;如果做出来了,就发布。 核心逻辑是:编写代码是唯一能推进项目进度的活动,讨论和写文档只是“准备做这件事”,而不是“做这件事”。
效果:
- 极高效率: Basecamp 以极小规模的团队(通常少于 20 人)维持着服务数百万用户的庞大 SaaS 平台。
- 减少内耗: 消除了为了证明“没做某事”的合理性而产生的无尽会议。要么做出来,要么没做,状态清晰可见。
- 产品聚焦: 避免了那些“讨论起来很爽但实现起来极难”的功能进入产品 backlog,保持了软件的简洁性。
2:Stripe 的 API 文档“测试驱动”开发
2:Stripe 的 API 文档“测试驱动”开发
背景: Stripe 是全球最大的在线支付处理商之一,其核心产品是提供给开发者的 API。对于 API 类产品,文档和实际代码的一致性至关重要。
问题: 传统的开发流程是:工程师先写代码 -> 产品经理写文档 -> 或者工程师写完代码后再补写文档。 这种流程下,文档往往是滞后的、错误的。因为“写代码”和“写文档”被视为两个独立的阶段,后者往往被忽视或敷衍。这导致开发者用户在阅读文档时发现无法运行,体验极差。
解决方案: Stripe 采用了一种将“做产品”和“写文档”合二为一的流程。工程师在开发新 API 端点时,必须先在代码仓库中编写文档示例。 这些文档示例不是纯文本,而是可执行的测试代码。 “做这件事”不仅仅是开发后端逻辑,而是指“交付一个开发者可用的功能”。如果文档不可用,那么功能就没有完成。
效果:
- 零时差同步: 当代码上线时,文档已经自动生成并上线,永远不存在“代码改了文档没改”的情况。
- 质量保证: 既然文档就是测试代码,这意味着每个示例都经过了实际运行验证,极大地提升了开发者体验(DX)。
- 行业标杆: Stripe 的文档被公认为行业黄金标准,直接降低了用户的接入门槛和流失率。
3:Facebook(Meta)早期的“移动转型”口号
3:Facebook(Meta)早期的“移动转型”口号
背景: 2012 年左右,Facebook 面临着从桌面 Web 向移动 App 转型的关键时刻。当时公司内部有大量的 Web 开发习惯和遗留代码。
问题: 公司内部存在严重的“平台依附症”。许多团队嘴上说“我们在做移动端”,但实际上只是在做 HTML5(网页)的封装,或者在试图用 Web 技术去模拟原生 App 的体验。这种做法虽然门槛低,但性能和用户体验极差,导致 Facebook 移动 App 频繁崩溃且反应迟钝。
解决方案: 当时的工程总监(后为 CTO) Andrew Bosworth 发起了一场文化运动,口号直指核心:“We don’t build things for mobile, we are mobile.”(我们不是为移动端做东西,我们本身就是移动端)以及更直接的“Native is better”(原生优先)。 在执行层面,这意味着严禁使用“写一次,到处运行”的 Web 容器思路来逃避工作。如果要做一个功能,就必须真正使用 iOS 和 Android 的原生语言来构建,哪怕这意味着要写两套代码。“做移动开发”这个动作,被严格定义为“写原生代码”,其他的做法都被视为“没做”。
效果:
- 彻底翻身: Facebook 放弃了失败的 HTML5 战略,重写了 iOS 和 Android 应用。应用崩溃率大幅下降,滚动流畅度提升,用户满意度迅速回升。
- 确立优势: 这次“真做”的决策让 Facebook 在移动互联网时代站稳了脚跟,没有像其他一些互联网巨头(如早期的 Yahoo)因体验不佳而被边缘化。
- 文化重塑: 确立了“优先考虑最佳用户体验”而非“开发便利性”的工程文化。
✅ 最佳实践
最佳实践指南
✅ 实践 1:直接行动,拒绝过度分析
说明: “Doing the thing”的核心在于执行本身。很多时候,我们在开始任务前会陷入过度规划、过度思考或试图寻找“完美方案”的陷阱。最佳实践是认识到准备只是辅助,真正的进步只发生在你真正动手做的时候。不要让思考成为行动的替代品。
实施步骤:
- 设定一个极短的启动时间(例如:5分钟法则)。
- 在完全准备好之前,先开始做一个粗糙的版本或原型。
- 告诉自己:“现在就可以做得很难看,但必须先做出来。”
注意事项: ⚠️ 避免陷入“工具癖”,不要花几天时间挑选最好的笔记软件或代码编辑器,而是用现有的工具立刻开工。
✅ 实践 2:拥抱“完成”优于“完美”
说明: 完美主义往往是拖延的伪装。将目标从“做一个完美的项目”调整为“做一个完成的项目”。只有完成了,你才有东西可以迭代、修改和改进。未完成的产品(无论代码多优雅)价值为零。
实施步骤:
- 定义项目的“最小可行性版本”(MVP)。
- 设定不可更改的截止日期。
- 强制自己在截止日期前发布或提交,即使觉得它还不够好。
注意事项: ⚠️ 区分“敷衍了事”与“快速迭代”。目的是为了获得反馈,而不是为了制造垃圾。
✅ 实践 3:用行动对抗焦虑
说明: 面对复杂的任务感到焦虑是正常的,但焦虑无法消除焦虑,只有行动可以。当你不知道该怎么做时,“做”是解决不确定性的唯一办法。通过实际行动获得反馈,焦虑自然会消散。
实施步骤:
- 识别出让你感到焦虑的具体任务。
- 将其拆解为微小的、低风险的行动步骤。
- 立即执行第一步,哪怕只是写下文件名或画个草图。
注意事项: ⚠️ 如果你感到大脑僵死,请停止思考,转而进行机械性的操作(如整理文件、配置环境),以此作为热身。
✅ 实践 4:警惕“伪工作”与“浅层工作”
说明: “Doing the thing”意味着做核心的事情,而不是做相关的事情。比如,写代码才是“做东西”,而设计Logo、挑选字体、讨论群名虽然也是工作,但往往是在逃避最困难的核心部分。
实施步骤:
- 每天开始工作前,列出1-3件“最重要的事”(MIT)。
- 优先攻克最难、最需要创造力的核心任务。
- 将查阅邮件、回复消息、开会等浅层工作安排在核心任务之后。
注意事项: ⚠️ 不要把“忙碌”等同于“高效”。问自己:我现在的动作是在产出核心价值,还是仅仅在处理琐事?
✅ 实践 5:建立负反馈循环(快速失败,快速学习)
说明: 理论上的假设必须通过实践来验证。你无法在真空中预测所有问题。尽早让实际产出(代码、产品、文章)与现实世界碰撞,通过“做-反馈-改”的循环来提升质量。
实施步骤:
- 在项目早期就邀请他人试用或审视你的半成品。
- 记录所有遇到的问题和Bug,而不是试图掩盖它们。
- 根据真实反馈调整方向,而不是根据你的想象。
注意事项: ⚠️ 对批评保持钝感力。对事的批评是对“做出来的东西”的优化,而不是对你个人的否定。
✅ 实践 6:停止知识囤积,转向知识输出
说明: 看了很多教程、收藏了很多文章,并不代表你掌握了技能。只有当你尝试去使用这些知识解决实际问题时,学习才算发生。从“输入模式”切换到“输出模式”。
实施步骤:
- 在学习新技术的第20分钟就停止阅读文档。
- 尝试自己写一个Demo或复现一个功能。
- 遇到问题时再带着具体问题去查阅文档。
注意事项: ⚠️ 不要陷入“教程地狱”,即总觉得还需要再看一个视频才能开始动手。
🎓 学习要点
- 由于您没有提供具体的文章内容,我是基于 Hacker News 上热门的 “Doing the thing is doing the thing”(做这件事就是做这件事本身) 这一经典讨论主题为您总结的核心观点。这些观点通常旨在对抗过度思考和拖延症。
- 以下是基于该主题的 5 个关键要点:
- 🛠️ 行动是解决问题的唯一途径:不要试图通过“准备”或“计划”来替代实际执行,因为在完成之前,你并没有真正在做那件事。
- 🧠 停止过度思考,降低心理门槛:很多困难都是大脑想象出来的,一旦开始动手,你会发现具体的执行比脑海中的构思要简单得多。
- 🔄 在过程中迭代,而非预设完美:不要试图在开始前就想出完美方案,真正的解决方案往往是在“做事情”的过程中自然浮现的。
- ⚔️ 工具只是手段,而非目的:不要把时间浪费在纠结工具、配置环境或寻找最佳教程上,这些只是伪工作,无法产出价值。
- 📉 理解“边际收益递减”规律:在项目初期,投入精力能获得巨大进展;但后期若只为追求 100% 完美而投入大量时间,性价比极低。
❓ 常见问题
1: 这句话的字面意思是什么?为什么它听起来像废话?
1: 这句话的字面意思是什么?为什么它听起来像废话?
A: 这句话的字面意思是“做这件事就是做这件事”。从逻辑或语法角度看,它确实像是一句同义反复(Tautology),听起来像是废话文学。它的核心结构是“A 等于 A”。
但在计算机编程和黑客文化的语境下,它通常传达一种极简主义或反焦虑的哲学:不要过度思考,去执行就好。 它提醒人们,完成任务的唯一方式就是实际去执行动作,而不是在脑海中演练或担心结果。这是一种对“完美主义”和“分析瘫痪”的解药。🛠️
2: 这个观点想要解决的核心问题是什么?
2: 这个观点想要解决的核心问题是什么?
A: 这个观点主要针对的是拖延症和过度规划。
很多时候,我们会在开始一项艰巨的任务前陷入无限循环:寻找最佳工具、设计完美的架构、或者担心万一失败了怎么办。这句话的核心观点是:在这个过程中,没有任何捷径可以替代“做”这个动作本身。
- 你想学编程?你只能通过写代码来学会,而不是只看教程。
- 你想创业?你只能通过做产品来开始,而不是只写商业计划书。
它强调的是执行胜于理论。🚀
3: 这和“Just Do It”有什么区别?
3: 这和“Just Do It”有什么区别?
A: 虽然两者都强调行动,但侧重点略有不同:
- Just Do It (尽管去做): 通常是一种情绪上的激励,用于克服恐惧、犹豫或懒惰,强调勇气和开始。
- Doing the thing is doing the thing: 更多是一种逻辑上的陈述,特别是针对创作者或工程师。它指出了因果关系的本质——结果(产物)只能通过特定的动作产生。
如果你在写代码,没有“魔法按钮”能帮你写完,唯一的办法就是你自己去敲键盘。这句话更像是在陈述一个物理定律,而不是一句口号。⚡️
4: 这里的“The thing”通常指代什么?
4: 这里的“The thing”通常指代什么?
A: 在 Hacker News 或技术社区的讨论中,“The thing”通常指代那些高认知负荷、需要深度投入且容易让人产生逃避心理的工作。
例如:
- 编写复杂的算法核心代码,而不是调整 CSS 像素。
- 撰写文章的核心观点,而不是整理排版。
- 直接联系潜在客户,而不是优化网站图标。
它特指那些真正产生价值、但最令人畏惧的核心任务。🎯
5: 如果我正在“做这件事”,但效率很低,这也算“Doing the thing”吗?
5: 如果我正在“做这件事”,但效率很低,这也算“Doing the thing”吗?
A: 这是一个很好的问题。这句话的本意并非鼓励低效的蛮干,而是强调行动的不可替代性。
- 初期的低效是必要的成本: 在学习新技能时,笨拙的尝试是通往熟练的唯一路径。
- 区分“行动”与“假装工作”: 如果你在调整字体大小以逃避解决核心 Bug,那不是“Doing the thing”。如果你在艰难地调试核心 Bug,哪怕很慢,你依然是在“Doing the thing”。
所以,只要你的动作指向核心目标,即使过程艰难、缓慢,它依然符合这个定义。🐢💨
6: 这个观点对“完美主义者”有什么建议?
6: 这个观点对“完美主义者”有什么建议?
A: 它是完美主义者的解药。完美主义者往往因为害怕无法做出完美的“Thing”,从而导致迟迟不开始做。
这个观点告诉完美主义者:
- 完成比完美更重要。
- 只有通过做出一个不完美的东西,你才能最终得到完美的东西。
- 不要试图在脑海中构思出完美的成品,实物(代码、设计、文章)必须在现实交互中才能进化。
不要害怕把事情做坏,因为不做才是唯一的失败。🛡️
🎯 思考题
## 挑战与思考题
### 挑战 1: [简单] 🌟
问题**:
在你当前的项目中,找出一个你构思了很长时间但从未开始写代码的“大功能”。不要试图规划整个功能,请写下第一步最具体的物理动作(例如:“创建名为 x.py 的文件”或“打开终端输入 npm init”)。现在,立刻执行它。
提示**:
🔗 引用
- 原文链接: https://www.softwaredesign.ing/blog/doing-the-thing-is-doing-the-thing
- HN 讨论: https://news.ycombinator.com/item?id=46776155
注:文中事实性信息以以上引用为准;观点与推断为 AI Stack 的分析。
本文由 AI Stack 自动生成,包含深度分析与可证伪的判断。