开发者头条互联网技术栈云时代架构

《你的灯亮着吗》——隧道尽头的灯

2017-07-01  本文已影响201人  高广超

最近,在日内瓦湖上的山脉中,建成了一条很长的汽车隧道。在投入使用之前,总工程师想起来,她忘了警告汽车司机在进入隧道之前把车灯打开。尽管隧道的照明设施很好,仍然需要预防停电的情况下发生灾难(在深山中这种意外是很可能发生的)。

于是人们做了了一个标牌,上面写着:

警告:前有隧道请打开车头灯

他们把标牌挂在隧道入口处,然后隧道如期通车了。既然问题已经解决了,大家都觉
得很轻松。

从隧道东出口再往前 400 米就是世界上风景最优美的度假胜地,从这里俯瞰,整个日内瓦湖都尽收眼底。每天都有成百上千的游客在此处欣赏美景,放松他们疲惫的身体,也许享受一个美味的小“野餐”。同时,每天当这几百名神清气爽的游客返回他们的汽车的时候,都会有十来个或者更多的人们意外地发现汽车电池没电了――因为他们忘了关掉车灯!
警察们被迫用上他们所有的资源,好让车启动起来,或者把它们拖走。游客们怨声载道,并且赌咒发誓要劝说他们所有的朋友都不要到瑞士来旅行。

像往常一样,我们会要求您暂停一下,回答这个问题:
这是谁的问题?

这种类型的问题中――因为它有一个明确的“设计者”或者叫“工程师”――有一个很强的倾向就是认为这是她的问题。在这件事中,不仅司机们认为这是工程师的问题,而且工程师可能也这么认为。建筑师、工程师和其他设计者的职业道德中有这样一条:他们必须做好所有的事情。

在这个例子中,工程师考虑了她能够强加在司机及其乘客身上的很多种解决办法:

凭借她的直觉,工程师认为一定可以通过某种方法来书写一个更加明确的标牌。她尝试了许多备选方案,最终得到了一个体现瑞士式简约的杰作:

如果这是白天,并且如果您的车灯开着,那么熄灭车灯;
如果天色已晚,并且如果您的车灯没开,那么打开车灯;
如果这是白天,并且如果您的车灯没开,那么就别打开;
如果天色已晚,并且如果您的车灯开着,那么就别关它。

等人们读完这个标牌,汽车早已经飞过围栏,并且咕噜咕噜地沉到湖底了――这根本就不是一个可以接受的解决方法,难道说,还应该说说葬礼该怎么样?

必定有更好的方法!

事实上总工程师并没有把问题复杂化,她用了一种方法,“把问题当作他们的问题”――工程师只是起了一点辅助作用。她假设司机们非常愿意解决这个问题,但是也许需要一点儿提醒。她还假设司机们――如果他们通过了驾驶执照的考试――不可能是那种彻头彻尾的傻瓜。他们所需要的只是在隧道尽头加一块标牌,写上:

您的灯亮着么?

如果他们连理解这种提醒的能力都没有,他们遇到的麻烦就不只是电池没电这么简单了。
这个标牌使问题消失了,而且因为这条信息足够短,所以在标牌上可以很多种语言把它表示出来。工程师会永远记住她在这次工作中学到的一课:

如果人们的灯真的亮着,

一个小小的提醒可能比你那些复杂的解决方法都更有效。

那么,您的灯亮着么?

image.png

个人介绍:

** 高广超** :多年一线互联网研发与架构设计经验,擅长设计与落地高可用、高性能互联网架构。目前就职于美团网,负责核心业务研发工作。

本文首发在 高广超的简书博客 转载请注明!

image.png
上一篇下一篇

猜你喜欢

热点阅读