幸福

工程师


如何成为一个合格的工程师?(问题来自微博私信)

有一位工程师、一位牧师和一位医生在高尔夫球场打球。他们发现前方有几个人占着场地,打得又慢又不专业,就问球场的服务员。服务员说:这几个人是消防员,曾经在球场的一次火灾中,因为帮忙救火而失明了。

牧师动容地说:「我今晚一定会替他们祷告,祈祷他们重见光明。」

医生惋惜地说:「我联系一下眼科的同事,看看能不能为他们做点儿什么。」

工程师不解地说:「那他们为什么不能晚上打球啊?」

——

工程师的世界和科学家艺术家不同,不但不是非黑即白,而且没有完美可言。一个工程师的工作,是如何在一些约束条件下完成一个系统的设计和实现。这样的系统和真实的世界一样,永远是不完美的。就像需要在一年内设计一辆造价不超过十万元的汽车,一位合格的工程师,需要在各种取舍之间权衡利弊得失(trade-offs and compromises),最终得到一种最好的解决方案。

在我们这个高尔夫球场的故事里,牧师和医生都在表示同情,只有工程师在想如何解决这个问题。

而约束条件中最常见的,往往是资金和时间成本。一家航空公司的电话订票系统,如果只有一个电话服务中心,很有可能在最繁忙时无法应付需求。但是如果在全国建立多个服务中心,虽然可以提高系统的可扩展性(scalability),但由于各个中心之间的数据需要实时同步,提高了系统设计的复杂度,增加了系统实现的资金和时间成本。我们常说的「KISS (Keep It Simple Stupid)」,就是希望通过简化设计而减少资金和时间的投入。

其实,日常生活和工作里的很多事情,与其一味追求尽善尽美的「工匠」精神,不如提倡一点儿工程师式的「实用主义」,在有限的时间里做完。做饭与其追求做得多好吃,不如做得快;写论文与其追求「沉鱼落雁之容」,不如「在规定时间里」把问题和解法写清楚。一个合格的工程师需要大量工程实践和训练,而这种「多快好省」的生活和工作,同样需要一种「工程师」式的理念和智慧。

一个玻璃杯里有半杯水。悲观主义者想:「玻璃杯已经空了一半。」乐观主义者想:「玻璃杯还有一半水。」

而工程师会想:「玻璃杯的设计有失误,容积可以减半。」

我喜欢这种「工程师」式的哲学。

2017年9月,多伦多