目录
- 先问一个简单的问题
- 什么是”在这一行里持续走下去”的真正意思
- 乐趣和竞争力的关系
- 什么把程序员的乐趣吃掉了
- 工匠精神:重新连接你和代码的关系
- 长期主义:不是坚持,是找到持续的理由
- 程序员的”第二春”:重新点燃
- 几个实用的重新连接练习
- 最后:你真正在做的是什么
1. 先问一个简单的问题
这篇文章想从一个简单的问题开始。
你还记得上一次写代码让你感到真正快乐是什么时候吗?
不是”完成了任务”的那种解脱感,而是”这个过程本身就是享受”的那种快乐。
不是”我做出了一个漂亮的设计”的那种成就感,而是”我想了一整夜终于把一个东西想清楚了”的那种流动感。
这个问题为什么重要:
如果你还有这种体验:
→ 恭喜你,你和代码的关系是健康的
→ 你中年之后的工作状态,可能不会太差
如果你想了想,发现已经很久没有这种感觉了:
→ 问一下自己:是什么把它吃掉了?
→ 是工作压力?是职业倦怠?是中年危机?
→ 还是——你已经很久没有真正投入地做一件事了?
这个问题不是哲学问题。
它是关于你还能不能在这一行走下去的问题。
2. 什么是”在这一行里持续走下去”的真正意思
2.1 走下去 vs. 撑下去
“持续走下去”和”撑下去”是两件完全不同的事。
撑下去的特点:
→ 每天早上起床,想到工作就感到沉重
→ 把工作当成一种必要之恶
→ 靠周末续命,靠假期撑着
→ 对工作本身没有热情,只有责任感和恐惧
→ 这种状态,最终会崩溃
持续走下去的特点:
→ 工作有困难,但困难是可以处理的
→ 过程中有消耗,也有补充
→ 有不喜欢的部分,但整体有某种满足感
→ 工作不只是谋生手段,也是意义来源之一
→ 这种状态,可以持续很多年
区分这两件事的关键:
→ 不是你有没有遇到困难
→ 而是你有没有找到某种与工作的和解
→ 这个和解,让你不需要靠意志力撑着
2.2 持续走下去需要什么
持续走下去需要的三个条件:
条件一:某种程度的享受
→ 你不需要热爱每一天的工作
→ 但你需要对工作本身有某种正向的情感
→ 享受不是奢侈品,是持续能力的前提
条件二:某种程度的成长
→ 当你觉得你已经学不到新东西了
→ 工作就开始变成纯粹的消耗
→ 成长不需要很大,但需要有
→ 哪怕是"今天终于理解了一个过去不懂的东西"
条件三:某种程度的意义
→ 这个意义可以很小
→ "我的代码让用户的生活便利了一点点"
→ "我帮助了一个同事解决了问题"
→ 意义不需要很大,但需要有
→ 没有意义的工作,迟早会把你消耗干净
3. 乐趣和竞争力的关系
3.1 一个被忽视的事实
大多数程序员不理解的一件事情是:乐趣和竞争力,不是对立的。乐趣,是竞争力的燃料。
乐趣和竞争力的关系:
没有乐趣的竞争力:
→ 靠意志力、靠纪律、靠坚持
→ 这可以维持一段时间,但不能维持很长
→ 在需要深度学习的领域,这种竞争力会先触顶
有乐趣的竞争力:
→ 你愿意投入额外的时间,因为过程本身就是享受
→ 你愿意探索,因为好奇不是负担
→ 你愿意在一个问题上花很长时间,因为这是你想要的
→ 这种竞争力是可持续的,且往往超过纯靠意志力的人
一个观察:
→ 你见过很多比你聪明的人,但他们没有你能持久
→ 你见过很多比你勤奋的人,但他们没有你学得深
→ 这背后的原因,往往不是天赋,而是你是否真的喜欢这件事
研究怎么说(心理学领域):
Csikszentmihalyi的心流研究:
→ 人在心流状态下(完全沉浸在挑战中的状态)
→ 表现可以达到平时的2-3倍
→ 心流的前提:挑战和技能匹配 + 过程本身有奖励
→ 一个长期不享受编程的工程师,通常很难进入深度心流
→ 一个真正享受编程的工程师,在心流状态下工作质量完全不同
3.2 乐趣让你成为更好的工程师
乐趣让你更好的几个具体方式:
方式一:探索倾向
→ 一个对编程有兴趣的人,会自发地探索新东西
→ 不是因为应该学,而是因为想学
→ 这种自发的探索,带来的是广度和深度的积累
方式二:抗挫折能力
→ bug很难解决,是放弃还是继续?
→ 一个真正享受编程的人,会更愿意坚持下去
→ 因为解决问题本身就是奖励
方式三:深度学习
→ 深度学习需要长时间专注
→ 长时间专注需要动机
→ 真正的兴趣,是比意志力更可靠的动机
方式四:创造力
→ 创造力来自于放松和游戏的结合
→ 一个感受到压力的工程师,思维是受限的
→ 一个感到快乐的工程师,更可能有创造性的想法
4. 什么把程序员的乐趣吃掉了
4.1 时间杀手
时间杀手一:绩效导向的工作环境
→ 绩效导向让你把编程当成完成任务的手段
→ 而不是探索和创造的过程
→ 当你只关心"完成"的时候,你失去了"做好"的乐趣
时间杀手二:没有挑战,或者挑战错误
→ 没有挑战:工作太简单,久而久之无聊
→ 挑战错误:任务太难,失败感积累
→ 两者都会让乐趣消失
时间杀手三:加班文化
→ 当编程变成长时间消耗
→ 它就不再是一种享受
→ 它变成了一种劳动
时间杀手四:完美主义
→ 完美主义让人只看到问题,看不到进步
→ 完美主义让人不满足于"足够好"
→ 完美主义让过程变得痛苦
时间杀手五:缺乏反馈
→ 你不知道你做的事有什么影响
→ 用户没有反馈,同事没有感谢
→ 没有正向反馈的活动,很难让人感到快乐
4.2 心理因素
心理因素一:技能和挑战的错配
→ 当一个任务对你太简单 → 无聊
→ 当一个任务对你太难 → 焦虑
→ 只有在技能和挑战匹配的边缘 → 心流 → 乐趣
→ 问题是:工作不会自动为你匹配
心理因素二:内卷竞争
→ 当工作的目标变成了"比别人好"
→ 而不是"把事情做好"
→ 乐趣就消失了
→ 因为竞争是没有尽头的
心理因素三:意义缺失
→ 你不知道你做的事是为了什么
→ 代码上线了,然后呢?
→ 用户用了吗?喜欢吗?改变了什么?
→ 不知道这些,你很难从工作中找到深层的满足感
心理因素四:社会比较
→ 隔壁组的谁晋升了
→ 我的同学已经创业成功了
→ 他/她这么年轻就已经财务自由了
→ 持续的社会比较,会让你总觉得不够
5. 工匠精神:重新连接你和代码的关系
5.1 什么是工匠精神
工匠精神不是一句口号。它是一种工作方式和态度。
工匠精神的定义:
工匠精神 = 对所做之事的过程本身有深深的尊重
工匠关心的:
→ 不是"完成任务"
→ 而是"做得好"
→ 不是"能跑就行"
→ 而是"这是我能做的最好的版本吗?"
工匠精神的特征:
→ 骄傲感:不愿意把自己不满意的东西交出去
→ 耐心:不着急,慢慢把一件事做好
→ 专注:一次专注于一件事
→ 尊重:对自己手艺的尊重
→ 持续改进:总觉得还可以更好,但不是焦虑地追求完美
5.2 工匠精神在编程中的应用
工匠精神在编程中的具体表现:
表现一:代码质量
→ 不是"能用就行"
→ 而是"这是我能写出的最清晰的代码吗?"
→ 哪怕别人看不到,你也知道它是怎么写的
表现二:命名
→ 给变量、函数、类命名,是程序员最重要的手艺之一
→ 一个好的名字,可以省去很多注释
→ 一个工匠会花时间想一个好名字,而不是随便写
表现三:错误处理
→ 错误处理的代码,往往是最被忽视的部分
→ 一个工匠不会忽略错误处理
→ 他们知道,这部分代码,往往是最重要的地方
表现四:测试
→ 测试不是为了给代码覆盖率指标
→ 测试是为了确保代码的行为是对的
→ 一个工匠会为测试感到骄傲,而不是为它感到负担
表现五:文档
→ 文档是写给未来的自己的
→ 一个工匠不会在文档上偷懒
→ 因为他知道:未来的自己会感谢现在写文档的自己
5.3 工匠精神如何带来乐趣
工匠精神如何重新带来乐趣:
原因一:过程重新变得有意义
→ 当你以工匠精神工作时
→ 你的工作不只是一份任务
→ 它是你手艺的一个作品
→ 这个转变,让平凡的工作变得有尊严
原因二:骄傲感
→ 你可以为一个漂亮的解决方案感到骄傲
→ 不是骄傲给谁看
→ 是骄傲给自己:你做了一件你自己认可的事
原因三:自我对话
→ 工匠精神让你和自己有一种健康的对话
→ "这是我能做到的吗?"
→ "是的,这是我做到的。"
→ 这种对话,让你不会觉得自己在浪费生命
原因四:减少遗憾
→ 没有工匠精神,你可能会做很多让自己后悔的事
→ "当初为什么不好好写那个名字?"
→ "为什么当初不重构那部分代码?"
→ 工匠精神,让你活得更少的遗憾
6. 长期主义:不是坚持,是找到持续的理由
6.1 长期主义不是靠意志力
大多数人对”长期主义”的理解是:坚持。
长期主义的误解:
→ "坚持就是胜利"
→ "只要我够努力,我就能坚持"
→ 但意志力是有限的
→ 靠意志力的长期主义,最终会崩溃
长期主义的真相:
→ 长期主义不是坚持
→ 长期主义是找到一种可以持续的方式
→ 如果你靠意志力撑着,你早晚会停下来
→ 如果你找到了过程中的乐趣,你会自然地一直走下去
6.2 长期主义的四个层次
长期主义的四个层次:
层次一:以意志力坚持
→ 这可能是最常见的方式
→ 也是最脆弱的方式
→ 意志力在困难的时候会消耗殆尽
层次二:以责任坚持
→ "这是我的责任"
→ "我答应了我要做好"
→ 这种方式比意志力更稳定
→ 但责任也可能变成负担
层次三:以意义坚持
→ 你相信你做的事是有意义的
→ 这种意义感,让你愿意承受困难
→ 但意义感有时候也会动摇
层次四:以游戏坚持
→ 你开始把你的工作当成一种游戏
→ 不是不认真,而是换了一种心态
→ 挑战就是关卡,解决问题是赢
→ 这种心态的转换,让你不需要消耗意志力
→ 这种心态,让你能够长期持续
7. 程序员的”第二春”:重新点燃
7.1 什么可能导致你的火焰熄灭了
火焰熄灭的常见原因:
原因一:你用工作来定义自己
→ 当你的自我价值完全绑定在工作上
→ 工作顺利的时候,你感觉良好
→ 工作不顺利的时候,你感觉糟糕
→ 你的快乐被工作完全控制了
原因二:你停止了学习
→ 学习是让程序员保持热情的重要来源
→ 当你觉得你什么都学会了,没有新东西了
→ 火焰就开始熄灭
原因三:你被工作消耗得太干净
→ 你没有给自己留任何恢复的空间
→ 工作→回家→睡觉→工作
→ 你的生活里没有给"感受"留下空间
原因四:你失去了对用户的感知
→ 你开始只关心代码,不关心代码服务的用户
→ 没有了用户的维度,代码变成了一种孤立的游戏
原因五:你的价值观被工作环境腐蚀了
→ 你开始认同一种不健康的职业文化
→ 例如:无休止加班、无意义的竞争
→ 你的价值观被迫扭曲
7.2 重新点燃的信号
重新点燃的早期信号:
信号一:你开始自己做一些东西
→ 不是为了工作,不是为了钱
→ 是因为你"想做"
→ 哪怕是一个小脚本,一个个人网站,一个自动化工具
→ 这是火焰还在的最好信号
信号二:你在和别人讨论技术问题时,感到兴奋
→ 不是职业性的讨论,而是真正的兴趣
→ 你想了解一个新框架,不是为了面试,而是因为好奇
信号三:你开始对一些老问题有新的理解
→ 你以为你已经理解的东西
→ 突然有了一个新的视角
→ 这种"原来是这样"的感觉,是学习的快乐
信号四:你开始愿意分享
→ 你愿意把你学到的东西写下来
→ 不是为了流量,不是为了工作
→ 是因为你想和这个世界分享一些东西
8. 几个实用的重新连接练习
8.1 练习一:做一个你不需要做的项目
重新点燃练习一:做一个你不需要做的项目
什么是"不需要做的项目":
→ 不是工作分配给你的
→ 不是为了钱
→ 不是为了简历
→ 只是因为你想做
为什么有效:
→ 它让你重新感受到编程是一种创造,而不是劳动
→ 它让你在没有任何压力的情况下探索
→ 它让好奇心重新成为你的驱动力
可能的起点:
→ 解决一个你一直想解决的个人问题
→ 学习一个你感兴趣但从来没有用过的新技术
→ 用编程实现一个你喜欢的创意想法
→ 参与一个开源项目
关键原则:
→ 不要给这个项目设太高的目标
→ 不要追求完美
→ 目标是:重新感受那种"我可以做"的自由感
8.2 练习二:写一行让你骄傲的代码
重新点燃练习二:找一天,写一行让你骄傲的代码
怎么做:
→ 找一个你工作中的一个模块
→ 不是最重要的,不是最复杂的
→ 而是那种你平时会用最快速度解决的那种
→ 然后这一次,花时间去把它写好
好在哪里:
→ 好的代码命名
→ 清晰的注释(如果需要)
→ 优雅的处理方式
→ 充分的错误处理
→ 干净的测试
目的:
→ 不是要改变世界
→ 是要让你重新感受到:你是一个在乎自己手艺的人
→ 这种感受,会渗透到你工作的其他方面
8.3 练习三:去找一个用户
重新点燃练习三:找一个真正的用户
怎么做:
→ 找到你代码的用户——哪怕只是内部的同事
→ 问他们:你是怎么用这个东西的?
→ 你们觉得它有什么问题?
→ 你希望它能做什么?
为什么有效:
→ 它让你重新看到你工作的意义
→ 代码不只是代码
→ 代码是为人服务的
→ 和用户的一次对话,可能比读10篇管理文章更有启发
8.4 练习四:教一个东西
重新点燃练习四:教一个你想教的东西
怎么做:
→ 选择一个你真正理解的主题
→ 不是你很熟悉的东西,而是你真正有洞察的东西
→ 把你的洞察写成一篇博客,或者在一个内部分享会上讲
→ 在解释的过程中,你可能会重新理解一些东西
为什么有效:
→ 在教别人的时候,你会学到新东西
→ 你的洞察被他人认可
→ 你重新感受到了你知识的有用性
9. 最后:你真正在做的是什么
9.1 这个问题
在文章最后,想问你一个我自己也在持续问自己的问题。
这个问题是:
你真正在做的是什么?
这不是问:你的职位是什么?
这不是问:你在做什么项目?
这不是问:你用什么技术栈?
这是问:
→ 每天早上,是什么让你起床?
→ 你每天在创造什么?
→ 你想在你做的这件事里,留下什么?
→ 如果明天你停止写代码,你会有什么感觉?
这个问题,值得你认真想一想。
不一定马上有答案。
但它值得你想。
9.2 一种可能性
我想在最后,分享一种可能性。
这种可能性是:
也许你不需要"坚持"程序员这份职业。
也许你需要的是——重新发现,你一直在做的到底是什么。
如果你一直在解决问题,
如果你一直在学习,
如果你一直在寻找更好的方式,
如果你一直在和复杂打交道,
如果你一直在创造以前不存在的东西,
那你就一直是一个创造者。
而创造者,可以是任何形式的。
不一定非要是程序员。
但程序员,是一个很好的起点。
9.3 回到最开始的问题
回到最开始的问题:
你还记得上一次写代码让你感到真正快乐是什么时候吗?
也许你的答案很清楚。
也许你花了一些时间才想起来。
也许你发现已经很久了。
不管是哪种,我想告诉你一件事:
乐趣没有消失。
它只是被埋起来了。
它需要被重新发现。
重新发现乐趣,是你对抗中年危机最深层的方式。
因为当你找到乐趣的时候,
危机就不再是危机了。
它变成了——
你旅程的一部分。
💭 思考题:最近一周,有没有哪个时刻,你做了一件让你自己感到骄傲的事情?不管多小,那一刻是什么?
这是「程序员中年危机」系列的第十九篇。