专栏首页LINUX阅码场Linux内核管理风格

Linux内核管理风格

译者:奎亮内核月谈

Original: Documentation/process/management-style.rst Translator: Alex Shi alex.shi@linux.alibaba.com

内核社区管理是一个很独特很有挑战性的事情, 各系统维护者拥有很大的权利,却又无法命令和管理社区参与者; 一边不停的拒绝人们各种功能提交,一边却希望开发者留在自己的领域继续贡献力量。这篇文章向您揭示,成功的社区维护者如何展示领导力(捣糨糊)。 祝大家 假期快乐!

Linux内核管理风格

这是一个简短的文档,描述了Linux内核的首选(或编造的,取决于您问谁)管理风格。 它的目的是在某种程度上参照 process/coding-style.rst 主要是为了避免反复回答 [1] 相同(或类似)的问题。

管理风格是非常个人化的,比简单的编码风格规则更难以量化,因此本文档可能与实 际情况有关,也可能与实际情况无关。起初它是一个玩笑,但这并不意味着它可能不 是真的。你得自己决定。

顺便说一句,在谈到“核心管理者”时,主要是技术负责人,而不是在公司内部进行传 统管理的人。如果你签署了采购订单或者对你的团队的预算有任何了解,你几乎肯定 不是一个核心管理者。这些建议可能适用于您,也可能不适用于您。

首先,我建议你购买“高效人的七个习惯”,而不是阅读它。烧了它,这是一个伟大的 象征性姿态。

[1] 本文件并不是通过回答问题,而是通过让提问者痛苦地明白,我们不知道 答案是什么。 不管怎样,这里是:

1)决策 每个人都认为管理者做决定,而且决策很重要。决定越大越痛苦,管理者就必须越高级。 这很明显,但事实并非如此。

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

(推论:如果你管理的人不比你更了解细节,你也会被搞砸,尽管原因完全不同。 也就是说,你的工作是错的,他们应该管理你的才智)

所以游戏的名字是 避免 做出决定,至少是那些大而痛苦的决定。做一些小的 和非结果性的决定是很好的,并且使您看起来好像知道自己在做什么,所以内核管理者 需要做的是将那些大的和痛苦的决定变成那些没有人真正关心的小事情。

这有助于认识到一个大的决定和一个小的决定之间的关键区别是你是否可以在事后修正 你的决定。任何决定都可以通过始终确保如果你错了(而且你一定会错),你以后总是 可以通过回溯来弥补损失。突然间,你就要做两个无关紧要的决定,一个是错误的,另 一个是正确的。

人们甚至会认为这是真正的领导能力(咳,胡说,咳)。

因此,避免重大决策的关键在于避免做那些无法挽回的事情。不要被引导到一个你无法 逃离的角落。走投无路的老鼠可能很危险——走投无路的管理者真可怜。

事实证明,由于没有人会愚蠢到让内核管理者承担巨大的财政责任,所以通常很容易 回溯。既然你不可能浪费掉你无法偿还的巨额资金,你唯一可以回溯的就是技术决策, 而回溯很容易:只要告诉大家你是个不称职的傻瓜,说对不起,然后撤销你去年让别 人所做的毫无价值的工作。突然间,你一年前做的决定不在是一个重大的决定,因为 它很容易被推翻。

事实证明,有些人对接受这种方法有困难,原因有两个:

承认你是个白痴比看起来更难。我们都喜欢保持形象,在公共场合说你错了有时 确实很难。 如果有人告诉你,你去年所做的工作终究是不值得的,那么对那些可怜的低级工 程师来说也是很困难的,虽然实际的 工作 很容易删除,但你可能已经不可 挽回地失去了工程师的信任。记住:“不可撤销”是我们一开始就试图避免的, 而你的决定终究是一个重大的决定。 令人欣慰的是,这两个原因都可以通过预先承认你没有任何线索,提前告诉人们你的 决定完全是初步的,而且可能是错误的事情来有效地缓解。你应该始终保留改变主意 的权利,并让人们 意识 到这一点。当你 还没有 做过真正愚蠢的事情的时 候,承认自己是愚蠢的要容易得多。

然后,当它真的被证明是愚蠢的时候,人们就转动他们的眼珠说“哎呀,下次不要了”。

这种对不称职的先发制人的承认,也可能使真正做这项工作的人也会三思是否值得做。 毕竟,如果他们不确定这是否是一个好主意,你肯定不应该通过向他们保证他们所做 的工作将会进入(内核)鼓励他们。在他们开始一项巨大的努力之前,至少让他们三 思而后行。

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

顺便说一句,另一种避免做出决定的方法是看起来很可怜的抱怨 “我们不能两者兼 得吗?” 相信我,它是有效的。如果不清楚哪种方法更好,他们最终会弄清楚的。 最终的答案可能是两个团队都会因为这种情况而感到沮丧,以至于他们放弃了。

这听起来像是一个失败,但这通常是一个迹象,表明两个项目都有问题,而参与其中 的人不能做决定的原因是他们都是错误的。你最终会闻到玫瑰的味道,你避免了另一 个你本可以搞砸的决定。

2)人 大多数人都是白痴,做一名管理者意味着你必须处理好这件事,也许更重要的是, 他们 必须处理好你。

事实证明,虽然很容易纠正技术错误,但不容易纠正人格障碍。你只能和他们的和 你的(人格障碍)共处。

但是,为了做好作为内核管理者的准备,最好记住不要烧掉任何桥梁,不要轰炸任何 无辜的村民,也不要疏远太多的内核开发人员。事实证明,疏远人是相当容易的,而 亲近一个疏远的人是很难的。因此,“疏远”立即属于“不可逆”的范畴,并根据 1)决策 成为绝不可以做的事情。

这里只有几个简单的规则:

不要叫人笨蛋(至少不要在公共场合) 学习如何在忘记规则(1)时道歉 问题在于 #1 很容易去做,因为你可以用数百万种不同的方式说“你是一个笨蛋” [2] 有时甚至没有意识到,而且几乎总是带着一种白热化的信念,认为你是对的。

你越确信自己是对的(让我们面对现实吧,你可以把几乎所有人都称为坏人,而且你 经常是对的),事后道歉就越难。

要解决此问题,您实际上只有两个选项:

非常擅长道歉 把“爱”均匀地散开,没有人会真正感觉到自己被不公平地瞄准了。让它有足够的 创造性,他们甚至可能会觉得好笑。 选择永远保持礼貌是不存在的。没有人会相信一个如此明显地隐藏了他们真实性格的人。

[2] 保罗·西蒙演唱了“离开爱人的50种方法”,因为坦率地说,“告诉开发者 他们是D*CKHEAD” 的100万种方法都无法确认。但我确信他已经这么想了。 3)人2 - 好人 虽然大多数人都是白痴,但不幸的是,据此推论你也是白痴,尽管我们都自我感觉良 好,我们比普通人更好(让我们面对现实吧,没有人相信他们是普通人或低于普通人), 我们也应该承认我们不是最锋利的刀,而且会有其他人比你更不像白痴。

有些人对聪明人反应不好。其他人利用它们。

作为内核维护人员,确保您在第二组中。接受他们,因为他们会让你的工作更容易。 特别是,他们能够为你做决定,这就是游戏的全部内容。

所以当你发现一个比你聪明的人时,就顺其自然吧。你的管理职责在很大程度上变成 了“听起来像是个好主意——去尝试吧”,或者“听起来不错,但是XXX呢?”“。第二个版 本尤其是一个很好的方法,要么学习一些关于“XXX”的新东西,要么通过指出一些聪明 人没有想到的东西来显得更具管理性。无论哪种情况,你都会赢。

要注意的一件事是认识到一个领域的伟大不一定会转化为其他领域。所以你可能会向 特定的方向刺激人们,但让我们面对现实吧,他们可能擅长他们所做的事情,而且对 其他事情都很差劲。好消息是,人们往往会自然而然地重拾他们擅长的东西,所以当 你向某个方向刺激他们时,你并不是在做不可逆转的事情,只是不要用力推。

4)责备 事情会出问题的,人们希望去责备人。贴标签,你就是受责备的人。

事实上,接受责备并不难,尤其是当人们意识到这不 全是 你的过错时。这让我 们找到了承担责任的最佳方式:为别人承担这件事。你会感觉很好,他们会感觉很好, 没有受到指责. 那谁,失去了他们的全部36GB色情收藏的人,因为你的无能将勉强承 认,你至少没有试图逃避责任。

然后让真正搞砸了的开发人员(如果你能找到他们)私下知道他们搞砸了。不仅是为 了将来可以避免,而且为了让他们知道他们欠你一个人情。而且,也许更重要的是, 他们也可能是能够解决问题的人。因为,让我们面对现实吧,肯定不是你。

承担责任也是你首先成为管理者的原因。这是让人们信任你,让你获得潜在的荣耀的 一部分,因为你就是那个会说“我搞砸了”的人。如果你已经遵循了以前的规则,你现 在已经很擅长说了。

5)应避免的事情 有一件事人们甚至比被称为“笨蛋”更讨厌,那就是在一个神圣的声音中被称为“笨蛋”。 第一个你可以道歉,第二个你不会真正得到机会。即使你做得很好,他们也可能不再 倾听。

我们都认为自己比别人强,这意味着当别人装腔作势时,这会让我们很恼火。你也许 在道德和智力上比你周围的每个人都优越,但不要试图太明显,除非你真的打算激怒 某人 [3]

同样,不要对事情太客气或太微妙。礼貌很容易落得落花流水,把问题隐藏起来, 正如他们所说,“在互联网上,没人能听到你的含蓄。”用一个钝器把这一点锤进去, 因为你不能真的依靠别人来获得你的观点。

一些幽默可以帮助缓和直率和道德化。过度到荒谬的地步,可以灌输一个观点,而不 会让接受者感到痛苦,他们只是认为你是愚蠢的。因此,它可以帮助我们摆脱对批评 的个人心理障碍。

[3] 提示:与你的工作没有直接关系的网络新闻组是消除你对他人不满的好 方法。偶尔写些侮辱性的帖子,打个喷嚏,让你的情绪得到净化。别把牢骚带回家 6)为什么是我? 既然你的主要责任似乎是为别人的错误承担责任,并且让别人痛苦地明白你是不称职 的,那么显而易见的问题之一就变成了为什么首先要这样做。

首先,虽然你可能会或可能不会听到十几岁女孩(或男孩,让我们不要在这里评判或 性别歧视)敲你的更衣室门,你会得到一个巨大的个人成就感为“负责”。别介意你真 的在领导别人,你要跟上别人,尽可能快地追赶他们。每个人都会认为你是负责人。

如果你可以做到这个, 这是个伟大的工作!

附注, 关于我们:

阿里巴巴操作系统研发团队负责阿里经济体的服务器操作系统,虚拟化技术以及Linux内核的研发与产品化。团队针对阿里巴巴各业务的需求,新技术的发展,新硬件的引入,在内核与操作系统等基础领域进行研究创新。目前已经形成 Ali OS, Ali Cloud Linux, Daishu云原生操作系统等多个产品。

本文分享自微信公众号 - Linux阅码场(LinuxDev),作者:译者:奎亮

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 赵晨雨: 从微观角度来看linux内核设计

    最近总结出来学习内核有两个大的角度,一种就是从宏观角度来看,总的来说就是顺着抽象,管理,操作来看,这种角度更多的是内核中应用层面的内容,用来理解内核中是怎么运转...

    Linux阅码场
  • 赵晨雨:从文件系统的数据结构看Linux内核设计

    赵晨雨:西安邮电大学2018级陈莉君教授研究生,天真无邪小白一枚,已经爱上linux内核而不能自拔,正在成长为内核狂热爱好者?

    Linux阅码场
  • 混乱的Linux内核实时线程优先级

    Linux会把进程分为普通进程和实时进程,普通进程采用CFS之类调度算法,而实时进程则是采用SCHED_FIFO或SCHED_RR。

    Linux阅码场
  • 回顾 | Facebook开源产业级深度学习框架 Caffe2

    AI 模型的训练和部署通常与大量数据中心或超级计算机相关联,原因很简单。从大规模的图像、视频、文本和语音等各种信息中持续处理、创建和改进模型的能力不是小型计算擅...

    IT派
  • 【重磅】Facebook 开源产业级深度学习框架 Caffe2,带来跨平台机器学习工具

    【新智元导读】Facebook 开发者大会今天召开。同时,Facebook 宣布开源 production-ready 的深度学习框架 Caffe2,轻量级、模...

    新智元
  • idea 激活 jrebel

    崔笑颜
  • 0655-6.2.0-CDH6.2安装Navigator无法访问异常分析

    在CDH6.2.0集群中安装好Navigator后,无法访问,浏览器显示如下报错:

    Fayson
  • 微服务架构实践:服务注册与发现中负载方案选型

    微服务架构不是银弹,在微服务架构中,我们将面临很多新的问题,这时候势必会引入一个服务注册发现问题。本文作者向大家介绍了随着负载均衡位置的不同,三种主要的服务注册...

    yuanyi928
  • vue-cli2.0 与 3 引入方式

    vue-cli 现在出到3 了 不同的版本使用方式还是稍有不同的,根据引入方式可以选择不同版本 2的引入方式 vue install -g vue-cli

    py3study
  • centos7内核升级最新BBR内核

    CENTOS7作为常用的服务器系统,其正式版的内核都是相当保守的。以下介绍以下升级最新版本的内核方法,目的是为了实现内核的BBR功能,改善CENTOS7的网络功...

    Zach

扫码关注云+社区

领取腾讯云代金券