> For the complete documentation index, see [llms.txt](https://weekly-essay.mikey.wang/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://weekly-essay.mikey.wang/zh/2021-nian/w21-gong-cheng-yu-ji-yi.md).

# W21-工程与技艺

最近看到《程序员的自我修炼》里一个挺有意思的观点。有些人认为在大型团队或复杂的项目中没有个性的空间。“软件是一门工程学科，如果团队成员个体自行其是，软件就会崩溃。”作者坚定的反对这种看法，他是从工程与技艺的差异给出解释的。

> 在一个项目的整体结构中，总有个性和技艺的空间。考虑到软件工程的当前状态，这一点尤为正确。今天的土木工程师，很难接受中世纪大教堂建造者使用的技术——百年后我们的工程看上去也一样古老，而我们的技艺仍将受到尊重。

这里提到的工程与技艺，可以等同于技术与技法，又或工艺流程与经验智慧。前者取决于平台，受限于当时的技术发展水平。后者取决于每个劳动者的认知与实践，是实践中深思熟虑过后所获得的方法与经验，理论上是不受科技水平限制的。两千多年前东西方哲学就已成形的事实可以佐证。再比如同期埃及人用失蜡法做出真人大小的青铜塑像，如今可能用数控机床压制一个模具就可以大规模生产。但不论依托什么样的平台，像失蜡法这样略显复杂但充满智慧的技艺还是会令后人拍案叫绝，给予启发。

如今的工程环境，新的技术栈和工具层出不穷，每天盯着公众号和论坛看确实会让人新生焦虑。层出不穷的只是解决方案，内核和本质可能从来没变。经常会听人说基建这么烂何谈工程，但高水平的技艺在这样的环境下反而可能更好地彰显出解决问题的智慧。
