> 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/ja/2021/w21-engineering-and-craftsmanship.md).

# W21-エンジニアリングと技芸

最近、『程序员的自我修炼』で面白い考えを読んだ。大きなチームや複雑なプロジェクトには個性の余地がない、と考える人がいる。「ソフトウェアは工学であり、各自が勝手に行動すれば壊れる」という見方だ。著者はこれに強く反対し、工学と技芸の違いから説明する。

> プロジェクト全体の構造の中にも、個性と技芸の余地は必ずある。現在のソフトウェア工学の状態を考えれば、なおさらだ。今日の土木技師は、中世の大聖堂を建てた人々の技術を受け入れにくいだろう。100年後には私たちの工学も同じように古く見える。それでも、私たちの技芸は尊重され続ける。

ここでいう工学と技芸は、技術と技法、あるいは工程と経験知と考えてもよい。前者はプラットフォームに依存し、その時代の技術水準に制約される。後者は一人ひとりの認識と実践に依存し、実践の中で深く考えて得た方法や経験であり、理屈の上では科学技術の水準に縛られない。2,000年以上前に東西の哲学が形作られたことも、その証拠になる。同じ頃、エジプト人はロストワックス法で等身大の青銅像を作っていた。今なら数値制御の工作機械で型を作り、大量生産できるかもしれない。しかし、どんなプラットフォームを使うにせよ、ロストワックス法のような、やや複雑でも知恵に満ちた技芸は、後世の人を驚かせ、示唆を与える。

今の開発環境では、新しい技術スタックやツールが次々に現れる。毎日、公式アカウントやフォーラムを追えば、確かに不安になる。増え続けているのは解決策であり、核や本質は変わっていないかもしれない。「基盤がこんなにひどいのに、工学も何もない」とよく聞く。しかし高度な技芸は、そうした環境でこそ、問題を解く知恵をよりよく示せるのかもしれない。
