Linux 内核管理风格

这是一篇简短的文档,描述了 Linux 内核首选的(或者说,取决于你问谁,是虚构的)管理风格。它的目的是在某种程度上与 process/coding-style.rst 文档相呼应,主要是为了避免一遍又一遍地回答相同(或相似)的问题 [1]

管理风格是非常个人化的,而且比简单的编码风格规则更难量化,所以这篇文档可能与现实无关。它最初只是一个玩笑,但这并不意味着它可能不是真的。你得自己判断。

顺便说一下,当谈论“内核管理者”时,指的是技术领导人员,而不是公司内部从事传统管理的人员。如果你签署采购订单,或者对你所在团队的预算有所了解,那么你几乎肯定不是内核管理者。这些建议可能适用于你,也可能不适用于你。

首先,我建议你买一本《高效能人士的七个习惯》,而不是读它。烧了它,这是一个很棒的象征性姿态。

好吧,开始了

1) 决策

每个人都认为管理者做决策,而且决策很重要。决策越大、越痛苦,管理者就必须越大才能做出决策。这很深刻也很明显,但实际上并非如此。

游戏的关键是避免做出决策。特别是,如果有人告诉你“选择 (a) 或 (b),我们真的需要你来决定”,那么你作为管理者就麻烦了。你管理的人最好比你更了解细节,所以如果他们来找你做技术决策,你就完蛋了。你显然没有能力为他们做出这个决定。

(推论:如果你管理的人不比你更了解细节,那么你也完蛋了,尽管原因完全不同。也就是说,你做错了工作,应该由他们来管理你的才华)。

因此,游戏的关键是避免决策,至少是那些重大而痛苦的决策。做出小的、无关紧要的决策是可以的,并且让你看起来好像知道自己在做什么,所以内核管理者需要做的是将重大而痛苦的决策转化为没有人真正关心的小事。

认识到重大决策和小决策之间的关键区别在于你是否可以在事后修正你的决策,这会有所帮助。任何决策都可以通过始终确保如果你错了(而且你犯错),你总是可以通过回溯来撤销损害来将其变小。突然间,你因为做出了两个无关紧要的决定——错误的决定正确的决定——而变得更加具有管理能力。

人们甚至会认为这是真正的领导力(咳咳废话咳咳)。

因此,避免重大决策的关键在于避免做那些无法撤销的事情。不要被逼到无法逃脱的角落。被逼到角落的老鼠可能很危险,而被逼到角落的管理者只是可悲。

事实证明,由于没有人会愚蠢到真的让内核管理者承担巨大的财政责任,所以通常很容易回溯。由于你不会浪费大量你可能无法偿还的钱,你唯一可以回溯的是技术决策,而且在那里回溯非常容易:只需告诉所有人你是一个无能的笨蛋,说你很抱歉,然后撤销你让人们在过去一年里做的所有无价值的工作。突然间,你一年前做出的决定不再是一个重大决定,因为它很容易被撤销。

事实证明,有些人对这种方法感到困扰,原因有两个

  • 承认自己是白痴比看起来更难。我们都喜欢保持形象,公开说自己错了有时确实非常困难。

  • 有人告诉你,你过去一年所做的工作毕竟没有价值,这对可怜的底层工程师来说也很难受,虽然实际的工作很容易通过删除来撤销,但你可能已经不可挽回地失去了该工程师的信任。记住:“不可挽回”是我们首先试图避免的,而你的决定最终成了一个重大决定。

幸运的是,这两个原因都可以通过预先承认你他妈的不知道来有效地缓解,并提前告诉人们你的决定纯粹是初步的,并且可能是错误的。你应该始终保留改变主意的权利,并让人们意识到这一点。而且当你没有做真正愚蠢的事情时,承认自己是愚蠢的要容易得多。

然后,当它真的变成愚蠢的时候,人们只会翻白眼说“哎呀,又来了”。

这种先发制人的承认无能也可能会让实际做工作的人重新考虑一下是否值得做。毕竟,如果他们不确定这是一个好主意,你肯定不应该通过向他们承诺他们的工作会被采纳来鼓励他们。至少让他们在开始一项大事业之前三思而后行。

记住:他们最好比你更了解细节,而且他们通常已经认为他们对一切都有答案。作为一名管理者,你能做的最好的事情不是灌输信心,而是对他们所做的事情进行健康的批判性思考。

顺便说一下,避免决策的另一种方法是可怜地抱怨说“我们不能两者都做吗?”然后看起来很可怜。相信我,这很有效。如果还不清楚哪种方法更好,他们最终会弄清楚的。答案可能最终是,两支团队都对这种情况感到如此沮丧,以至于他们放弃了。

这听起来像是失败,但这通常表明这两个项目都存在问题,而相关人员无法做出决定的原因是他们都错了。你最终会像玫瑰花一样香气扑鼻,而且你避免了又一个你可能会搞砸的决定。

2) 人

大多数人都是白痴,成为管理者意味着你必须处理它,也许更重要的是,他们必须处理

事实证明,虽然撤销技术错误很容易,但撤销人格障碍却不容易。你只能忍受他们的——以及你自己的。

然而,为了让你自己为成为一名内核管理者做好准备,最好记住不要烧毁任何桥梁,轰炸任何无辜的村民,或疏远太多的内核开发人员。事实证明,疏远他人很容易,而解除疏远却很难。因此,“疏远”立即属于“不可逆转”的范畴,并根据 1) 决策 成为禁忌。

这里只有一些简单的规则

  1. 不要叫别人混蛋(至少不要公开叫)

  2. 当你忘记规则 (1) 时,要学会道歉

问题 #1 在于它很容易做到,因为你可以用数百万种不同的方式说“你是混蛋” [2],有时甚至没有意识到,而且几乎总是坚信你是对的。

而且,你越坚信自己是对的(让我们面对现实,你可以称任何人为混蛋,而且你通常是对的),事后道歉就越难。

要解决这个问题,你真的只有两个选择

  • 真的擅长道歉

  • 把“爱”均匀地散播出去,这样就不会有人真的觉得自己被不公平地针对了。让它足够有创意,他们甚至可能会觉得好笑。

始终保持礼貌的选项实际上并不存在。没有人会信任一个如此明显地隐藏自己真实性格的人。

3) 第二种人 - 好人

虽然事实证明大多数人都是白痴,但可悲的推论是,你也是其中之一。虽然我们都可以沉浸在自己比普通人更优秀的可靠认知中(让我们面对现实吧,没有人会相信自己是平均水平或低于平均水平),我们也应该承认我们不是最聪明的人,而且总会有人比你少一些白痴。

有些人对聪明人反应不好。另一些人则会利用他们。

作为内核维护者,请确保你属于第二组。巴结他们,因为他们是会让你的工作更轻松的人。特别是,他们能够帮你做决定,这才是游戏的关键。

所以当你发现有人比你聪明时,就顺其自然吧。你的管理职责很大程度上就变成了说“听起来是个好主意 - 放手去做吧”,或者“听起来不错,但xxx怎么样?”。尤其是第二种说法,要么你可以了解一些关于“xxx”的新知识,要么通过指出更聪明的人没有想到的事情来显得**特别**具有管理才能。无论哪种情况,你都赢了。

需要注意的一件事是,要意识到一个领域的伟大并不一定能转化为其他领域。因此,你可能会在特定方向上引导人们,但让我们面对现实,他们可能擅长他们所做的事情,但在其他方面却一塌糊涂。好消息是,人们往往会自然而然地回到他们擅长的事情上,所以当你**确实**在某个方向上引导他们时,你并不是在做不可逆转的事情,只是不要用力过猛。

4) 推卸责任

事情会出错,人们希望有人来承担责任。你,就是你。

接受责任实际上并不难,特别是如果人们意识到这不**完全**是你的错。这就引出了承担责任的最佳方式:为别人承担责任。你会因为承担责任而感到高兴,他们会因为没有被指责而感到高兴,而那些因为你的无能而丢失了整个 36GB 色情收藏的人会勉强承认你至少没有试图推卸责任。

然后让真正搞砸的开发者(如果你能找到他们)**私下里**知道他们搞砸了。这不仅是为了让他们在未来避免这种情况,也是为了让他们知道他们欠你一个人情。而且,也许更重要的是,他们也可能是可以修复它的人。因为,让我们面对现实,肯定不是你。

承担责任也是你首先成为管理者的原因。这是让人们信任你并允许你获得潜在荣耀的部分原因,因为你是那个说“我搞砸了”的人。如果你遵循了之前的规则,那么你现在应该很擅长说这句话了。

5) 避免事项

有一件事比被称为“混蛋”更让人讨厌,那就是用道貌岸然的声音被称为“混蛋”。前者你可以道歉,后者你真的不会有机会。即使你其他方面做得很好,他们可能也不会再听你的了。

我们都认为自己比其他人更优秀,这意味着当其他人摆架子时,会**真的**让我们很不爽。你可能在道德和智力上优于你周围的每个人,但不要试图让它太明显,除非你真的**打算**惹恼某人[3]

同样,不要对事情过于礼貌或含蓄。礼貌很容易过头并掩盖问题,正如他们所说,“在互联网上,没人能听到你的含蓄”。用一个大而钝的东西把重点敲进去,因为你不能真的指望别人能理解你的意思。

一些幽默可以帮助缓和这种直接和说教。过于夸张到荒谬的地步可以把一个观点说清楚,而不会让接受者感到痛苦,他们只会觉得你很傻。因此,它可以帮助我们克服我们所有人都有的关于批评的个人心理障碍。

6) 为什么是我?

既然你的主要责任似乎是为别人的错误承担责任,并让其他人痛苦地意识到你很无能,那么显而易见的问题就是为什么要这样做?

首先,虽然你可能不会有尖叫的少女(或男孩,让我们不要在这里带有偏见或性别歧视)敲你的更衣室门,但你**会**因为“负责”而获得巨大的个人成就感。别在意你实际上只是试图跟上其他人并尽可能快地追赶他们。每个人仍然会认为你才是负责人。

如果你能胜任,那这是一份很棒的工作。