为什么我开始减少逛技术社区,而是去读非技术的书?

我得承认,我有过很长一段时间的 技术社区上瘾

每天上班第一件事,就是打开掘金、Hacker News、InfoQ,把热门文章刷一遍。通勤的地铁上,也要用手机看看今天又出了哪个新框架的测评、哪个Vite插件又有了更新。

我生怕错过了什么,感觉一天不刷,就会被飞速发展的技术时代抛弃。这种信息焦虑,我想很多工程师都有。

但大概从去年开始,我刻意地减少了这个仪式。我把每天早上刷文章的一小时,换成了读一些看起来和编程八竿子打不着的书。比如,心理学、经济学、历史、甚至小说。

一开始只是想换换脑子,但慢慢地,我发现,这些非技术书,反而帮我解决了很多工作中遇到的、最棘手的技术问题。

这篇文章,就是想聊聊我这个转变背后的思考。


技术的天花板

工作了五六年后,我遇到了一个很明显的瓶颈。

我发现,再多学一个JS的新语法、再多会用一个Vite插件,似乎都不能让我的能力产生质的飞跃。我的技术深度和广度,足以解决日常工作中99%的技术难题。

但我发现,工作中真正难的,往往不是技术本身。而是:

  • 为什么我们团队的沟通效率这么低,一个简单的需求能来回拉扯好几天?
  • 为什么这个看似简单的项目,开发过程中总是不断地范围蔓延?
  • 我该如何向非技术背景的老板,证明这次重构的必要性和长期价值?
  • 面对一个全新的业务,我该如何设计一个能在未来3年内,适应各种不确定性变化的技术架构?

我意识到,这些问题的答案,在MDN文档里、在Stack Overflow上,是找不到的。它们是关于人、关于系统、关于决策的复杂问题。而我当时的技术知识库,对解决这些问题,几乎毫无帮助。


我的书架,以及它们教我的事

于是,我开始漫无目的地,从技术之外的领域寻找答案。下面,我想分享几个对我影响最大的领域和书籍。

心理学,理解人
  • 推荐阅读:《思考,快与慢》、《影响力》、《非暴力沟通》

作为工程师,我们习惯于和确定性的机器打交道。但我们的工作,却无时无刻不在和不确定的人打交道------用户、产品经理、同事、老板。

心理学,尤其是认知心理学,教会我理解了人性的非理性。

  • 理解用户:读了《思考,快与慢》后,我开始理解为什么用户会做出那些不合逻辑的操作,为什么有时候更优的设计反而没人用。这让我在做UI/UX设计和评审时,不再只是一个技术实现者,而更能代入用户的直觉系统去思考。
  • 理解同事:读了《非暴力沟通》后,我改变了我在Code Review里的沟通方式。我不再说"你这里写得不对",而是说"我看到这个实现,我担心在XX场景下可能会有风险,你觉得呢?"。我发现,当我开始关注对方的感受和需要,而不是直接评判时,技术沟通变得顺畅了许多。
系统思考 看透架构的本质
  • 推荐阅读:《第五项修炼》、《系统之美》

系统思考,教会我最重要的一个概念:世界不是由一条条独立的因果链组成的,而是由一个个相互关联的反馈回路组成的。

这个思想,彻底改变了我对软件架构的看法。

  • 理解技术债:我不再把技术债看作一个孤立的坏代码问题,而是把它看作一个会自我增强的反馈回路。坏代码 -> 开发效率降低 -> Bug增多 -> 救火时间增多 -> 更没时间写好代码 -> 坏代码更多。这个循环一旦形成,不从外部打破,系统就会慢慢崩溃。
  • 做出更好的技术决策:我不再追求完美的、一步到位的架构,而是去寻找那些能适应变化的、演进式的架构。我开始用机会成本去评估技术选型,用延迟和滞后效应去理解一个技术决定可能在半年后带来的影响。
历史/传记 获得古人的经验和战略
  • 推荐阅读:《人类简史》、《罗马帝国衰亡史》、各种历史人物传记

历史,是研究成与败的宏大案例集。它能让你跳出眼前的一个个项目,去思考技术浪潮的更迭。

  • 获得历史感 :为什么jQuery会衰落?为什么React的Hooks范式会成功?为什么当年的AngularJS会失败?这背后,和历史上的技术革命、王朝兴衰,遵循着相似的规律------它们是否解决了当时最核心的矛盾?它们是否降低了开发成本?
  • 做出更聪明的长期判断:这种历史感,让我在做一些长远的技术规划时,能更好地判断什么是真正的趋势,什么是短暂的泡沫,从而避免团队把宝贵的资源,投入到一个注定会很快消亡的技术上。

这次的分享,可能有点务虚😁,但它是我近几年最真实的感受。

程序员的工作,是把一个清晰的需求,翻译成高质量的代码。

而工程师的工作,是把一个模糊的、充满不确定性的现实世界问题,转化为一个可靠、可维护的系统。

想从程序员蜕变为工程师,需要的远不止是代码能力。

我依然每天写代码,也依然关注技术动态。但我不再焦虑于错过了哪个新库。我把更多的信心,放在了那些从非技术书籍里学来的、更底层的思维模型上。

因为我知道,这些东西,可能比我今天写的任何一行代码,都要保值得多。

你们说是不是?🙌

相关推荐
南北是北北4 小时前
RecyclerView 的关键角色与各自职责/协同关系
面试
m0_728033134 小时前
JavaWeb——(web.xml)中的(url-pattern)
xml·前端
猪哥帅过吴彦祖4 小时前
第 8 篇:更广阔的世界 - 加载 3D 模型
前端·javascript·webgl
七月十二4 小时前
[Js]使用highlight.js高亮vue代码
前端
Asort4 小时前
JavaScript设计模式(十二)——代理模式 (Proxy)
前端·javascript·设计模式
简小瑞4 小时前
VSCode源码解密:Event<T> - 类型安全的事件系统
前端·设计模式·visual studio code
寧笙(Lycode)4 小时前
OpenTelemetry 入门
前端
沐怡旸4 小时前
【底层机制】Handler/Looper 实现线程切换的技术细节
android·面试
星链引擎4 小时前
智能聊天机器人实践应用版(适合企业 / 项目落地者)
前端