永远不要在工作中发火
文章摘要
Sean Goedecke 说他一般不爱给关于「在科技公司工作」的处方式建议——成功的路子有很多,每家公司运作方式都不同,只要你在交付项目、管理链条对你满意,你怎么做到的其实无所谓。但有一条他认为是扎实的建议:你永远不该在工作中愤怒。
为什么愤怒有毒。 一个愤怒的同事会立刻从「帮你管理问题的专业人士」变成「一个需要被管理的新问题」。当有人在会议或 Slack 里可见地发火,整个氛围就死了——其他工程师往往会彻底噤声,不想让局面更糟。他说,如果你经常「上头」,最好的结果是你所在的团队恰好紧密、成员足够自信、不会被你吓到;但只要来了一个不那么自信的新人,或者你需要跨团队沟通,这就会变成大问题。这是对待同事的糟糕方式——哪怕是无指向的、随口的愤怒也会让周围的人感到威胁和疏离——而且它让你成为一个更低效的工程师。
他给了一个很有画面感的机制描述:健康的职场会绕开愤怒,就像网络绕开损坏的节点一样。情绪上不可靠的工程师会被排除在那些「可能引发爆发」的对话之外,决策会在暗线(backchannel)里绕过他们完成。他见过这个变成自我强化的循环:愤怒的工程师不被咨询关键决策,于是更愤怒,于是被推得离决策发生的地方更远,如此往复。你经常能看到这类工程师苦涩地抱怨「是我在撑着这家公司,可从来没人听我的」;而在他的经验里,这几乎从不属实——真正高效的工程师往往是被听取意见的,至少同事会听,最终想从他们身上榨出最大价值的经理和 PM 也会听。(一个原因是:所有成功的项目都涉及与他人合作,如果没人听你的,你根本没法合作。)
但接下来他做了个不寻常的转折:愤怒对软件工程师其实很有用。 大公司里一个反直觉的事实是,有些工程师不只是没产出,而是净负值——要么无法独立完成有用的工作,要么潦草到制造的工作比完成的多,要么彻底躺平、字面意义上什么也不干。愤怒的工程师在文化意义上也许是净负的,但在实际解工单、发功能这件事上,他们通常明显高于平均水平。为什么?因为愤怒往往来自在乎自己的工作,而「非常在乎」这一点本身就足以让你成为一个称职的工程师。他说自己从没见过一个真心在乎自己工作的人最后不称职(或者不是最终变得称职)的。所以他甚至认为,一个职业生涯早期的工程师偶尔为工作生气是健康的,因为这说明他在乎——那当下仍然是个错误,但是个「好错误」。他坦白自己以前也会发火,并链接了他写过的「工作中最愤怒的一次」。但你必须越过它。
怎么越过。 他用了一个「上下都不封口的竖管」的比喻:你从底部把情绪投入泵进这根管子。投入太少,它会漏光,你变成一个混日子的人;投入太多,它会溢出,你变成那种「大家得绕着走」的愤怒工程师。第一种解法是试着刚好在乎适当的量:对工作有一定投入,同时有爱好、有家庭、有其他能给你视角的东西——「如果你有丰富健康的个人生活,你很难发现自己在冲某人吼 React 状态管理」;但他承认这个平衡长期维持起来很棘手。第二种解法更有意思:去在乎不同的东西。他的论断是,投入过多会溢成愤怒,是因为你在乎的东西和组织在乎的东西不一致;如果你的兴趣和公司完全对齐(比如你主要在乎交付股东价值),那么在溢出之前你能往管子里塞进多得多的情绪投入。
一点「专业性的愤怒」。 他自称这是「危险的建议」:表现出一点点愤怒有时是有用的——可以用来传达你在乎,可以和某些人建立默契,可以让人注意到你认为重要的事。然而真正愤怒仍然永远是个错误,因为你需要能随时切回友好模式,而当你是真的生气时这非常难做到。他认为在工作中能展现完整的情绪光谱是好事,会让你更有说服力、更像人;当一个彻底专业的机器人也可以有成功的职业生涯,但你的工作人格总会带着某种恐怖谷式的 HR 气,让你很难和同事建立连接。他的收束是:拿不准就别表现愤怒,专业永远不会错;但如果你能显示自己有足够的距离把职业情绪和真实情绪分开,也有足够的视角意识到一个技术决策的赌注在大局上其实并不高,那么偶尔露出可见的挫败感、让人知道你还是个人,有时是可以的。
关于愤怒的榜样。 知名的软件工程人格往往是愤怒的:Linus Torvalds 关于 Linux 的咆哮是最典型的例子,他自己最喜欢的一些工程演讲来自有时对着主题明显暴怒的 Bryan Cantrill,愤怒的博文更是数不清(他点名了一篇自己真心喜欢的:他的澳洲同行 Nikhil 那篇标题里带「如果你再提 AI 我就把你锤进地里」的文章)。很多初级工程师从中学到「生气是可以的」,但他说拿工程界名人当情绪范本是个大错误,理由有二:第一,你不是 Linus Torvalds 或 Bryan Cantrill。Torvalds 是世界上最重要软件系统的终身仁慈独裁者,Cantrill 是自己公司的联合创始人兼 CTO;当这些人在工作中愤怒时,没人会绕开他们,因为决定要做什么的正是他们。等你成了说了算的那个人,你才可以在职场里情绪化(他在脚注里补充「也有限度——连 Torvalds 都公开说过自己愤怒得太过火,决定调低一些」)。第二,你并不知道和这些工程师共事是什么感觉。人们做演讲、写博客,正是因为他们对某件事情绪上憋着劲;如果你对某个名人的全部接触只来自会议演讲和博文,你看到的是他们情绪强度的最大值。你把那个强度带进日常工作,几乎肯定是超调。
愤怒是一个局部最优。 他说自己被重组进过功能失调的团队、喜欢的项目被砍过、维护过极度混乱的系统,但已经想不起上一次在工作中真正生气是什么时候了。他强调这不是成功地隐藏了愤怒(除非压抑到连他自己都看不见),也不是他天性平和,只是职业生涯走到了一个真的不再为工作的事烦心的位置。他主动替愤世嫉俗者说出了那句质疑:你是不是不再在乎工作了,离开了「真正的工程师」阵营,为了大厂的钱把自己卖了?「我是说,也许吧!」——他承认自己对具体技术决策的投入确实比以前少了,但他仍然非常在乎把活干好,仍然花大量时间打磨和阅读代码,而且产出比情绪波动更大的那个时期明显更多。他的结尾是全文最好的一段:在工作中愤怒感觉很好。它感觉像是一种证明——证明你在做重要的事,证明你个人正在产生影响。如果你在生气,没人能说你在混日子。但愤怒只是一个局部最优。如果你能找到另一种工作方式,你不仅会更有效,还会处在一个远更有利的位置去影响那些真正重要的问题。
文末他加了一段更新,转述了 Lobste.rs 上的讨论:有人主张「对问题生气好过对人生气」,他表示同意,但补充 (a) 一旦你养成了愤怒的习惯,很难让它只指向问题;(b) 当你表达愤怒时,周围的人往往会受影响,不管它是不是冲着他们的。有人建议保持视角感。有人指出「对不公义感到愤怒是好的」——他说这是对的,如果你的公司在做不当行为,你应该为此愤怒。也有人同意愤怒短期内确实是个很有效的办事工具。他还提到这篇也被发到了 HN,「那边的评论没这么好,不过我确实推荐这一条——它主张如果你在工作中不感到愤怒,你就是马克思主义异化的受害者。事实上,我同意!关于我如何学会停止焦虑并爱上马克思主义异化的长文,早晚有一天会写出来。」
HN 评论精华
需要先说明的是:这条帖子在 HN 上讨论很稀少——42 分、16 条评论,而且其中一大半集中在同一条主帖之下。作者本人在文章更新里都说「那边的评论没这么好」。真正有价值的部分几乎全部围绕一个问题展开:「不生气」到底是成熟,还是异化?
- reply00r123 的长评几乎是整场讨论的全部引擎,也正是作者在更新里点名推荐的那一条。他的论点是:他不喜欢工程师这个群体,因为大多数人都这么想——「他们全盘接受了马克思意义上的、与自己劳动产品的异化,并且不理解那些对某件东西怀有个人手艺感和所有权感的人。想象你在画一幅画,有人过来在角落里涂鸦,或者往你的调色板上挤别的颜色。这会彻底毁掉你作为一个艺术家和手艺人正在尝试的东西。」他说有手艺人属性的工程师无法忍受这个,但在现代企业里这是被预期的;没有手艺人属性的工程师则不在乎,他们是「完美的、无形的、没有灵魂的灰色黏菌」——「管理层随机砍掉了你做了三年的项目?耸肩。好吧,你还想让我刷哪个马桶?」他直接把作者归入此类:「一个机器人。一个可替换的加工零件。管理层和资本主义爱这个人和像他这样的人,他们明天就能面试另一个不会抱怨的灰色黏菌把他换掉。」
- 回帖里的反驳分几个层次。最实质的一条来自 ipdashc:「在完全不在乎自己的工作和为它发火之间,有一片很宽的地带。我们很多人在乎自己的工作和自己拥有的项目,我们希望它们扎实,也会站出来捍卫它们。这些都不需要发火。」他还区分了愤怒的层级:作者说的显然不是发泄一下烦躁或者礼貌地告诉别人他做错了;「管理层随机砍掉你做了三年的项目」任何人都会恼火,这只是人之常情,但为此大发脾气、冲老板或同事尖叫,就是蠢。他最后指出那个绘画比喻是构造出来的极端场景:「当然,如果有人在我的画的角落里涂鸦我会生气,如果同事跑到我电脑上随机删文件我也会生气。这些场景不适用于 99.9% 的日常办公工作……说到底,对绝大多数软件项目而言,事情就是没那么严重。你提到『艺术家和手艺人』,可即便对他们来说也没那么严重——艺术家和手艺人要承受大量的刁难和烦人客户,而他们的反应不是崩溃发火。」
- t098i3 从产权角度切入:画画的艺术家拥有作品的 IP,而受雇的软件工程师通常不拥有——雇主或客户拥有 IP,而且通常在这个软件上的财务利害比任何个体都大。「如果你是唯一的利益相关者和 IP 所有者(个人项目或你自己的小生意),这种态度完全没问题;但对于你与其他工程师协作、为别人的所有权构建的东西,则不然。」他在脚注里补了一句诚实的话:艺术家也经常为客户 IP 工作,那时他们同样没有完整的创作控制权。这引出了本帖最有意思的一次交锋——popalchemist(做了二十年电影预告片剪辑)说:「这真的不对。即便你是在别人指定的 brief 或目标下工作,你也可以完整地拥有你的创作过程。我一直能够按我自己认为重要和必要的方式、用我自己的手段去达成我自己的目标,同时仍然满足客户的目标。你不需要交出你的自主性。你认为需要,这件事本身令人不安,它说明你的心智里有一道裂缝。」ldx1024 回敬说「恭喜,但请意识到你有多幸运,很多雇佣情境不是这样的」,popalchemist 坚持这不是运气问题,而是「一个人的心智被割裂到什么程度」的函数——「我行业里的默认情况正如你描述的那样,之所以对我不是,只是因为我拒绝交出自主性,并且和自己的内在动机保持着联系」。
- ranguna 提供了一份很坦率的自我修正:「对我来说这读起来有点不成熟,我也曾经完全是你描述的那样,但换了一个项目之后,我为自己过去的行为感到尴尬。我拿钱在建别人的项目。我享受我做的工作,所以在时间约束下我会尽力做到最好。我是一个拿薪水的工人,不是艺术家。我给这个系统增加的每一分熵,都是在延迟整个公司的资本回收,所以那份熵必须是有生产力的,而不是原教旨主义式的、不必要的完美主义。如果一件事可以做得快但不完美,同时仍能以可管理的债务被合理维护,那就这么做,这是对整个公司价值最大的方式。」他还指出完美主义的自相矛盾之处:「你的『完美』并不是客观的,总有别人有比你更好、更完美的想法。」而这与他的个人项目并不冲突——个人项目给他的满足感比工作更大,但它们不给钱,「本该如此,否则我会被迫做得更快」。
- mayhemducks 提出了一个被忽略的定义问题:「engineer 这个词不只指软件工程师。而且即便它只指软件工程师——我从没遇到过一个把自己的职业工作当成艺术的工程师。你确定你不喜欢的是『工程师』这个整体吗?那可是你刚刚以偏概全的一大群人。」他搬出了那个经典笑话:乐观主义者看到杯子是半满的,悲观主义者看到是半空的,工程师看到的是这个杯子比它需要的大了一倍——「这就是工程的本质:安全、高效、经济地解决问题。很多工程师是手艺人和艺术家。你凭什么觉得他们不能把职业职责和其他兴趣分开?」
- 主帖之外的零星评论也值得一记。JohnFen 对文章最后那段的反应最有意思:「『在工作中愤怒感觉很好』——这句话像扇了我一巴掌,因为对我来说没有任何一种情绪比愤怒更难受。我从没有过愤怒并因此『感觉良好』的时候,无论在工作中还是别处,也无论我的愤怒是否正当。」
- liampulles 给了一条实操性的替代心法:「心态很重要。如果你在乎编程这门手艺,你很容易滑进一种『软件必须完美』的心态,而那几乎永远不可能达成,于是你会持续不满。我做初级开发时就掉进过这个心态,结果只是给我自己和别人增加了挫败感。我现在采取的心态是『持续减少糟糕』(continuous crap reduction):放下我控制不了的事情,专注于减少我能控制的范围内最大的问题。这样我每天都能拿到一个『胜利』,也不会去跟那些我控制不了、其实只是有点糟的东西较劲。我努力做到有原则但不固执己见。」
- justanotherjoe 提出了一个角度上的区分:「如果是我自己做得差,别人冲我发火我一般不介意,说实话我还挺享受的,这说明有人在乎我的产出。但当人们预期自己会被亏待,在我还没机会做任何事之前就先摆出攻击性姿态时,我的合作意愿会直线下降。」
- hifi 则贡献了唯一一个具体的反例场景,也是对「永远不要」这个绝对说法最有力的现实拉扯:一位资深同事花了两个月实现一个重要功能,需求(加载顺序、重试机制、错误处理等)都写得很清楚;功能上线后很快出事,原来他漏掉了几条需求,还找了另一个开发者不细看就通过了 code review,只为赶上截止日期。「我当时非常愤怒,而且我不想咽下这份愤怒,因为这真的很不尊重人。」
- Xmd5a 用一条半开玩笑的评论意外地补上了一个论点:他先是抱怨 ChatGPT 网页版最近的富文本输入改动慢到几乎不可用、「我超级生气」,然后在编辑里补了句正经的——「愤怒的工程师可以作为愤怒的客户的一个提前量代理指标。」