程序员如何克服焦虑
本文是基于在2017年1月15号高可用架构年会上的闪电分享整理而成。
为什么讲这个话题呢?
起因是一次和一个好朋友聊天,说他最近非常焦虑,焦虑到连续失眠,甚至有点抑郁,好像对什么事情都没有兴趣了。然后另外一个朋友在微信上告诉我,也说最近比较焦虑,我就问他焦虑哪方面,家庭,工作还是?他说『感觉去年一年没什么长进』。他又告诉我,他另外一个朋友大早上给他发消息,也说最近很焦虑,老失眠。我也联系了这位朋友,问他为什么焦虑,他说:『工作中的成长吧,之前作为一个工程师过多的关注技术,对于业务考虑比较少。这样来到一个业务驱动的创业公司,职业发展不会很顺畅』,焦虑在于自己专注的技术提升并不能让自己在公司和团队中承担更重要的角色。所以我最后就决定聊聊这个话题。那为什么是我来聊呢?我一不是心理咨询师,也不是成功人士,貌似偏鸡汤的话题一般需要成功人士来聊(笑)。我觉得一方面是我个人也有类似经历,有一段时间非常焦虑,心里想做的事情,想学的东西很多,但都坚持不下来,忙忙碌碌但就是没成就感,失眠,易怒,突然会觉得索然寡味,对什么都提不起兴趣了。但最近一年多我个人调节控制的比较好,算是有点心得吧。另外一方面是我的焦虑可能和大家的焦虑在同一个层面,至少有点借鉴意义,如果王健林来分享焦虑的事情,可能大家就会觉得他比较矫情,或者说和大家的焦虑不在同一个层面上。
既然聊焦虑,我们先要认识一下焦虑。
焦虑意指由于情绪或心理上产生內在冲突,进而引发非理性的忧虑或恐惧感受。 — 维基百科
上面的解释来自维基百科,首先它是内在冲突,在心理层面,这就给了我们调节的余地。其次,它是非理性的,也就是说忧虑或者恐惧的事情并不是现实的威胁,比如如果你要破产了,明天的生活立刻就没有着落,这时候的忧虑就不是非理性的了,不在我们今天聊的范围之内,如果是这种威胁听鸡汤是没用的吧,得赶紧行动了(笑)。
焦虑的成因呢,我比较认可弗洛伊德的『本我,自我,超我』理论。本我就是原始的,动物的『我』,追求欲望的满足和享受。自我是社会机制约束下的『我』,任何人都会承担一些社会角色,比如公司员工,父亲,丈夫或妻子,高可用架构成员,等等,每个角色都会有一定的职责要求和行为规则。超我可以理解成理想中的『我』,理性的『我』。就今天的分享来说,我其实一直不太善于言谈,公开演讲时会比较紧张,所以我的『本我』其实一直想从台上下去找个角落躲起来。而我的『自我』呢,又约束着我,毕竟我是高可用架构成员,还答应了 Timyang 要做分享,含着泪也得把这个分享做完。而我的『超我』呢,其实非常向往成为一个在台上能侃侃而谈的演讲大师。这几个角色冲突的时候就会产生焦虑。而这种焦虑,如果适当,则可以是努力的动力,但如果过度,就会产生挫败感等许多负面情绪。
认识了焦虑的本质原因,我们再聊聊为什么程序员容易焦虑,虽然没有做过其他行业的调查,但感觉我们程序员群体更容易出现这种状况,我也一直在思考这个问题。
为什么程序员容易焦虑
(现场做了一个调查,问有多少人现在或者曾经受焦虑所困,有差不多一半人举手,我觉得还有人不太好意思)
变化
我们都是写程序的,程序又叫软件,为什么是『软』呢?就是因为它容易变,可以快速的改变以应对用户需求的变化,编程其实本质上是一门如何应对变化的学问。我们的各种技术变革,从静态语言到动态语言,各种设计模式,各种抽象,各种配置方法,其实根本目的都是为了让软件更容易的变化。而我们所处在这种变化中,就会担心自己是否能跟得上变化,会不会被新技术淘汰,从而有了成长的压力,产生焦虑。
割裂
我们的程序处理的是虚拟世界和信息世界,而现实是物理世界。在软件的世界里我们有上帝一般的能力,可以精确控制每一个细节,但一旦到现实世界,就会产生落差感,一旦现实不如所愿,就会有一种挫败感。
毕其功于一役
这是一种解决问题的心态,就是想在一场战斗中永久解决问题。感觉这种心态和我们从小的教育有关系,我们从上小学开始,就被教育如果考上重点中学,以后的人生就是坦途了。结果后面还要有重点大学,还要有好工作单位,工作了发现还得实现财务自由,等等。把对生活期望都压在了未来的一个点,仿佛那个点之后自己的生活才能开始,但如果那个点迟迟未能达到,就会有焦虑和挫败感。
上面这几个原因我觉得是焦虑的主要原因,但如何应对呢?我总结了几个方法。
如何应对?
以『问题』为中心
程序的根本意义是为了解决某个问题。如前面鸟哥说的,他们为了实现真房源而进行的一些技术性改造,这些改造在技术层面可能并不算高大上,但对现实问题确很有用。如果你心理笃定一个需要解决的问题,做决策的时候就有了坐标。新技术要不要学,要学到什么程度,是要了解一下作为自己的知识储备呢,还是要深入研究?要不要转管理?要不要在业务中多花点精力?甚至要不要去创业?判断标准都可以是这个选择是否有助于解决这个问题。应对变化带来的焦虑最好的方式是寻找一些不变的东西或者变化比较慢的东西作为坐标和锚点。这个问题说小了是一个个人目标,说大了可能就是可以称之为事业的东西。有人可能要说,你这鸡汤炖的不太熟啊,选择的判断标准不应该是『钱』么?哪个有『钱途』选哪个啊。当然钱很重要,但『钱』代表的是稀缺性,是市场用来调节的资源分配的手段。在一个快速变化的行业里,当前有『钱途』的领域也是快速变化的,很难作为选择的坐标和锚点,除非你能预测未来。
设立一个小目标
王健林的小目标是一个亿,但这对我们来说就不是个小目标了。设置的目标太远,会导致努力的结果和目标的比例近似于0,于是感觉没有什么成长,产生挫败感,容易焦虑。小目标可以是按天的,比如早上设定个目标,今天要干什么,也可以是更长一些的,比如今年自己主要解决的问题是哪个领域的。目标和结果的产生巨大鸿沟的最重要的一个原因其实就是对自己的认识还不够精确,而设置小目标,并去完成它就是一个认识和评估自己的过程。在这个过程中,可以认识到自己的惰性,缺点,优点,评估出自己的能力,然后让自己的目标更符合实际,不断积累成就感。比如一天能写多少行代码,比如看一本书需要多长时间,比如晚上和周末的时间有多少可控,心理都要有个底,不要幻想自己某天突然『开挂』,日写代码几万行,天天学习不睡觉。关于时间的把控的话题可以另起一个话题了,所以这里不再细说。拿我今天的分享举例,我设置的小目标就是比去年高可用年会上的《开源与创业》那个分享的临场表现更好些,至少不要紧张,现在看来小目标基本达到,但如果我的目标是演讲大师,那收获的可能就是挫败感了。总结一下就是:日拱一卒,不求速成。
放弃 “All in” 心态
我感觉程序员喜欢一种 “All in” 的状态,就是茶不思饭不想,专心写代码的状态,像是热恋一样,感觉对方就是自己的整个世界,寻找一种燃烧的感觉。前一段时间还有一篇很火的文章,说没有 “All in” 的心态就不要去创业公司。但反思一下,”All in” 其实是一种赌徒心理。玩过德州扑克的人都知道,要 “All in” 的时候其实是对这把牌抱有巨大的期望的,所以才敢 “All in”, 要么赢,要么挂,期望越大可能失望越大。比如今天晚上就有高可用架构的德州扑克比赛,如果你上去就 “All in” ?能玩几把?但人生是一个长线的过程,你永远不可能指望一两把牌的结果解决所有问题。这种心态其实就是前面说的『毕其功于一役』的心态。
编程是一种生活,但不是全部,向斜杠青年学习
前一段时间了解到一个新词,斜杠青年。然后反观了一下自己,定义自己的时候,写个『程序员』,斜杠,然后就没有了。所以最近一年才把自己丢掉的博客捡起来了,偶尔写点东西。斜杠青年是错过了,赶不上了,但希望到中年的时候,能做个斜杠中年。
最后总结一下,焦虑本身其实是一种积极的状态,表明个体还有所追求,实际上它也是不能克服的,但需要被缓解,被引导升华。
无聊状态下,看一些鸡汤,给自己打一些鸡血,于是我们进入到积极的状态,但鸡血过度,目标太高,就会产生焦虑,焦虑过度则又回归消极,乃至无聊。所以得调节自己跳出这个死循环。
最后祝大家新的一年里多一些从容,少一些焦虑。
上图是自己用模板做的一个冷笑话,但貌似当时没人看懂,有点失败。:)
后记
分享完之后和几个朋友聊天,其中一个朋友分享了一个自己的案例。有一段时间他也非常焦虑,焦虑到没法正常上班。最后休假了几天,打了几天游戏,终于解脱出来。还有一个朋友焦虑到真得了抑郁症,对个人和家庭影响都很大,期间寻求了各种治疗方案,各种心酸艰难。他本来也想随后分享一些自己的经历,但由于最后时间限制,没能给大家自由分享的机会,于是作罢。我写这个的目的其实也是希望程序员群体能关注自己的心理健康,健身这个事情貌似已经得到大家的共识了,但心理健康受到的关注还不多。也有朋友说,你说的道理我都懂,但自己还是焦虑,没办法。但我始终坚信一点就是,人的大脑其实本质上也是一台计算机,语言和文字其实是这台计算机的思维逻辑定义工具,虽然它和现在的计算机运作机制不同,不可能精确控制,但通过反复的输入引导,思考提炼,是可以改变的。希望这篇文章能作为一个引子。
相关链接