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

# W21-Ingenieurwesen und Handwerkskunst

In „The Pragmatic Programmer“ bin ich auf einen interessanten Gedanken gestoßen. Manche meinen, in großen Teams oder komplexen Projekten bleibe kein Raum für Individualität: „Software ist eine Ingenieurdisziplin. Wenn jedes Teammitglied nach eigenem Gutdünken handelt, bricht sie zusammen.“ Die Autoren widersprechen entschieden und erklären dies über den Unterschied zwischen Ingenieurwesen und Handwerkskunst.

> Innerhalb der Gesamtstruktur eines Projekts gibt es immer Raum für Individualität und handwerkliches Können. Gerade beim heutigen Stand der Softwareentwicklung gilt das. Ein Bauingenieur von heute würde die Methoden mittelalterlicher Kathedralenbauer kaum akzeptieren. In hundert Jahren wird auch unsere Technik veraltet wirken. Unser handwerkliches Können wird dennoch Anerkennung finden.

Ingenieurwesen und Handwerkskunst lassen sich hier auch als Technologie und Technik des Könnens verstehen, oder als Herstellungsprozess und Erfahrungswissen. Ersteres hängt von der Plattform und dem technischen Entwicklungsstand seiner Zeit ab. Letzteres beruht auf Erkenntnis und Praxis jedes Einzelnen, auf Methoden und Erfahrungen, die aus gründlichem Nachdenken über die Praxis entstehen. Theoretisch ist es nicht an den Stand der Technologie gebunden. Dass östliche und westliche Philosophie schon vor über zweitausend Jahren Gestalt angenommen hatten, zeigt das. Ägypter stellten damals etwa lebensgroße Bronzestatuen im Wachsausschmelzverfahren her. Heute könnte eine CNC-Maschine eine Form fertigen und damit Massenproduktion ermöglichen. Unabhängig von der Plattform bleibt eine etwas aufwendige, aber kluge Technik wie das Wachsausschmelzverfahren für spätere Generationen bewundernswert und anregend.

In unserer heutigen Entwicklungsumgebung erscheinen ständig neue Stacks und Werkzeuge. Wer täglich öffentliche WeChat-Kanäle und Foren verfolgt, kann leicht unruhig werden. Ständig neu sind aber nur die Lösungen. Kern und Wesen haben sich möglicherweise nie verändert. Oft hört man, bei einer so schlechten Infrastruktur könne man nicht von Engineering sprechen. Gerade unter solchen Bedingungen kann hohes handwerkliches Können die Klugheit der Problemlösung jedoch besonders deutlich zeigen.
