工程师思维是什么?能吃吗?
这是一篇伪读后感,《转向:用工程师思维解决商业难题》我没看过,只是看了豆瓣的书评。作者古鲁•马达范是一名生物医学工程师、高级政策顾问。他在美国国家科学院从事研究工作,曾被世界经济论坛评为杰出的青年科学家。
看目录像是工程师故事会,也没找到可看的电子书。不过这本书对工程师思维的定义,是值得讨论的。作者认为工程师思维有三大法宝:
结构:在没有结构的情况下“预见”结构,把待解决的问题理顺;
约束:在约束之下进行设计,考虑到各种现实的限制和风险;
取舍:权衡利弊,对解决方案和备选方案作出取舍。
这有一定道理,而且在我们面临现实世界中的任何复杂问题时,都需要有这样思维方式。其实,这不就是软件架构设计的工作内容吗?
我理解软件架构设计,就是在针对特定问题,根据所面临的约束,运用专业能力,对备选方案进行判断和取舍,最终形成结构设计,管理好软件结构跨越时间的复杂度。所谓工程师思维,其实就是一种面对复杂问题的思维方式。我敢说任何工程设计问题,都离不了这样的思维方式,包括创意行业,包括建筑设计、交互设计、结构设计、游戏设计……
这里的亮点是约束,很多时候我们在寻求解决方案的过程中遭遇挫折,是因为对现实世界的约束理解得不够深刻。不同于理论家,工程师面临的世界是充满约束的,最大的约束是资源和时间。我们没有图灵机里无限长的纸带,也没有无限快的手机来运行我们的游戏,更没有无限长的时间可以用来解决问题。工程师就是这样一群人,他们是理想主义者,却勇于面对现实,用巧思,带给你当下能有的好东西。正如知乎上的一篇文章所说:
如果一个程序员不具备工程师思维,那真的就是码农了。如果产品经理利用工程师思维做事,那他也是工程师。
不过,《转向》这本书把结构和约束、取舍并列似乎有些不妥。重视约束、懂得取舍是过程中应有的态度,结构是最终得到的方案,用来解决问题和管理好复杂度。另外,真正让问题得到解决的,还是在专业能力的基础上,发挥创意,得到很多点子。不然没方案,或者就一个方案,你都没什么可取舍的。这个工程师思维就是一个基础的思维框架。
这一框架的意义在于,在现实世界中面对实际问题时,让我们能够按照这个逻辑去思考,意识到工程问题没有绝对正确的答案。而是要在解决问题的过程中,不断去动态平衡各种约束,发挥创造力,持续优化。
要有专业能力的支撑,加上开放式的思维方式,否则这个思维框架,只能是说起来容易做起来难。
参考文献:
《转向:用工程师思维解决商业难题》豆瓣书评
一线架构师实践指南,温昱
工程师、程序员和产品经理,王泰
版权声明: 本文为 InfoQ 作者【Justin】的原创文章。
原文链接:【http://xie.infoq.cn/article/245016b62bcacf17bfd4868e2】。文章转载请联系作者。
评论