第356期 | IT界名言盘点:为什么要吃自己的狗粮?

说到名言,相信你肯定能说出一大堆。像“Talk is cheap,show me the code”,这句话出自 Linux 操作系统的缔造者林纳斯,被很多开发者奉为真理;还有被乔布斯捧红的那句“Stay hungry, stay foolish”,也成了很多人的座右铭;Facebook 的办公室标语“Done is better than perfect”,更是激励了无数人不断前进;以及 Perl 语言的发明人拉里·沃尔(Larry Wall)的那句“优秀程序员应该有三大美德:懒惰、急躁和傲慢”,也是相当的经典。

 

时光飞逝,名言永流传。这些名言之所以能成为经典,就是因为它们凝聚了很多大牛的智慧,是他们宝贵经验的总结,同时,也凝聚了很多公司的价值观和做事方法,像灯塔一样指引后来者前行。今天,我就和你分享 3 个 IT 界的经典名言,聊聊这些名言背后的故事。

 

1.You build it, you run it.(“谁构建,谁运维”)

 

这句名言出自亚马逊 CTO 沃纳·威格尔(Werner Vogels),意思是“谁构建,谁运维”。2006 年,沃纳·威格尔在接受 ACM 访谈,谈及亚马逊研发人员同时负责研发和运营维护工作背后的理念时,说了一句“You build it, you run it”。

 

其实这句话是相对传统应用开发模式提出来的,后来在微服务架构里头特别受欢迎。传统的应用开发模式基于一个个项目,开发团队根据客户的需求进行设计编码,并将开发好的软件系统交付给客户,然后运维团队再对系统进行后续的运营维护。

 

这样做的后果是,开发团队做的只是一个个项目,交付完之后就收工了。但在沃纳·威格尔看来,亚马逊的开发人员也应该参与到后续的运维工作中,做到对全过程的掌控和负责。

 

他在当年的访谈中还对此展开解释了下,并总结出了开发人员对产品进行运营维护的两大好处:一是打破了开发和运营维护之间的墙,整体效率都能得到提升;二是开发直面客户,通过与系统和客户的频繁接触,直接获得来自客户的反馈,这样也有助于开发人员提高服务质量。

 

最近这几年,微服务才算是真正地火起来,但亚马逊早在 2006 年之前,就已经让开发人员承担运营维护的工作了。所以说,大厂的眼光还是非常超前的。

 

2.Premature optimization is the root of all evil.(“过早优化是万恶之源”)

 

这句名言估计你应该更熟悉了,它来自现代计算机科学的鼻祖高德纳(Donald Knuth),意思是“过早优化是万恶之源”。乍听上去有些夸张,其实这只是翻译导致,它真正的含义是:过早优化不可取。

 

不过,这句名言也是有上下文的。1974 年,高德纳在 ACM Journal 上发表文章时提到,有 97% 的优化都是不值得或者是不应该做的,言外之意就是,典型程序中只有 3% 的代码需要进行优化。

 

我们的极客时间专栏作者、微软资深工程师倪朋飞老师也曾在《Linux 性能优化实战》专栏中专门提到过“过早优化”的弊端。一方面,优化会带来复杂性的提升,降低可维护性。另一方面,需求不是一成不变的,针对当前情况进行的优化,很可能并不适应快速变化的新需求。这样,在新需求出现时,这些复杂的优化,反而可能阻碍新功能的开发。

 

其实高德纳的这句名言并不是反对优化,而是认为没有必要把时间浪费在那些不重要的优化上,从而忽略了真正重要的东西。再进一步来说就是,与其过多期望未来,不如立足当下,先做好眼前的事情,再去锦上添花。

 

3.Eating your own dog food.(“吃你自己的狗粮”)

 

这句名言原本是一句英语俚语,意思是“吃你自己的狗粮”。

 

据说,在上世纪 80 年代的一则 Alpo 牌狗粮电视广告中,演员洛恩·格林(Lorne Greene)表示,自己不仅仅是在表演时会给狗喂 Alpo 牌狗粮,平时在家里也会给自己的狗喂这个牌子的狗粮。

 

关于这句俚语,还有一个比较出名的典故是:为了推广自家的产品,Kal Kan 宠物食物公司的总经理据说曾在股东大会上吃了一罐自己公司的狗粮。

 

虽然无从考究真假,但看得出,这句俚语在早期跟真的狗粮脱不了干系。至于后来为什么广泛被 IT 行业采用,还得从 IT 界最早使用这句俚语的公司——微软公司说起。

 

1988 年,当时微软公司的高级主管保罗·马瑞兹(Paul Maritz)曾写过一封题为“Eating our own Dogfood”(吃我们自家的狗粮)的邮件,建议公司局域网管理工具项目的测试主管,提高使用自家产品的比重。打那儿以后,这一俚语便在 IT 行业流传开了。

 

其实“狗粮”一词在这里只是个比喻,指的就是软件公司自家的产品,而这句名言则可以理解为:软件公司要多多使用自己开发的产品。

 

至于为啥要“吃自己的狗粮”,你可以试想一下,假如你做了一款产品,但自己却不用,只是从别人的反馈那里得到关于这款产品的好坏,岂不是相当被动?如果你的用户反馈做得不好,收不到足够的、真实的反馈,情况还会更糟。

 

当然,“狗粮”也不是只给产品经理、开发人员等普通员工吃的,很多互联网公司的老大也在吃。

 

比如,360 董事长周鸿祎自称是“360 公司首席用户体验官”;之前李彦宏宣传百度自动驾驶汽车时,为了展示汽车的良好体验,亲自行驶在北京五环的公路上,还和百度 AI 开发者大会现场的观众做起了现场直播;我自己也是极客时间的重度用户,几乎每天都要进去学会专栏、在部落里聊聊天。

 

只有重度使用你的产品,才能更及时地发现不足的地方。

 

好,今天的话题就先聊到这里。最后做个小调查:你心中最经典的 IT 界名言是哪句呢?你又是如何理解和践行的?欢迎在留言区一起讨论。

 

卖桃者说,明天见。

 

posted @ 2022-12-02 21:12  沧海一滴  阅读(230)  评论(0编辑  收藏  举报