Warum es nützlich ist, Websites weniger häufig neu zu bauen

Artikel vom 19. September 2023. ISSN 1614-3124, #76. Schwerpunkt: (RSS-Feed für alle Themen).

Eine typische Unterhaltung mit einem motivierten Frontend-Entwickler (und selbstverständlich einer Frontend-Entwicklerin), der eine eigene Website betreibt, mag schnell zur folgenden Beobachtung führen: Der Entwickler baut regelmäßig seine Website neu. Er probiert Bootstrap, Bulma, Tailwind. Er probiert Vue, React, Remix. Er probiert Jekyll, Gatsby, Eleventy. Er probiert Azure, GCP, AWS.

Die Vor- und Nachteile des Neubauens

Das ist super: Ein Entwickler, der seine und die Websites seiner Arbeit- und Auftraggeber neu baut, lernt viele verschiedene Frameworks, Systeme und Plattformen kennen. Er kann seine Erfahrung so optimieren, dass er mit möglichst vielen von ihnen vertraut ist.

Dies ist aber auch ein Problem: Ein solcher Entwickler kann diese Frameworks, Systeme und Plattformen nur in einem beschränkten Maße kennenlernen. Er mag nie ihre Grenzen erreichen, oder lernen, wie man diese Grenzen durchstößt. Und dadurch, dass er dies nie tut, mag er seine Projekte nie über das hinaus treiben können, was ihm diese Werkzeuge an der Oberfläche anbieten.

Indem sie ständig die Lektionen anderer übernehmen, lassen Entwickler, die regelmäßig Websites neu bauen, Möglichkeiten liegen, ihre eigenen Lektionen zu lernen und implementieren.

Dieser Unterschied ist tiefgreifend.

Das Problem wird von der Art befeuert, wie unsere Arbeitgeber und ihre Marketing-Abteilungen Websites betreiben: »Fire and Forget«, die meiste Zeit. Marketing ❤ Neubauten *.

Werde ein besserer Entwickler, indem du iterierst

Was solltest du tun?

Grundsätzlich willst du Websites neu bauen: Die Vorteile daran, eine gesunde Zahl von Lösungen und Werkzeugen kennenzulernen, sind groß, und die Fähigkeit, eine Website auf eine neue Basis zu stellen, ist nützlich.

Du willst aber auch iterieren, was bedeutet, ĂĽber einen langen Zeitraum kontinuierlich Verbesserungen vorzunehmen. (Webdesign ist ein Prozess.)

Iterieren – und lernen, zu iterieren – kommt mit Vorteilen, die einen zu einem besseren Entwickler machen:

  1. Du kannst Websites gemäß deiner Prioritäten und Vorlieben verbessern.

  2. Du lernst, Funktionen selbst zu implementieren, was dir ermöglicht, die darunter liegenden Technologien und Tooling besser zu verstehen.

  3. Du lernst, eine Website auf eine Art frisch und relevant zu halten, die unaufdringlich und nachhaltig ist, im Gegensatz zu disruptiv und kostspielig.

  4. Du fühlst die Schmerzen technischer Schulden mehr, und lernst, diese besser zu handhaben. Insgesamt lernst du mehr darüber, so zu entwickeln, dass das Ergebnis wartbar ist †.

  5. Du erwirbst ein besseres Verständnis vom Website-Entwicklungszyklus.

  6. Du teilst deine Arbeit gleichmäßiger und gesünder auf.

Von einem Spektrum und einer Wahl

Es gibt natürlich ein Spektrum dazwischen, Projekte stetig neu zu entwickeln, und immer nur zu iterieren. Aus meiner Erfahrung ‡ willst du hier eine durchdachte Entscheidung treffen:

Bleib dir der zwei Optionen von Brachialwartung durch Redos (kompletten Neubauten) und der leichteren und subtileren Wartung durch Iterationen bewusst.

Lerne – und das ist nützlich, zu durchdringen –, welches Projekt welchen Ansatz benötigt. (Wir mögen das nicht immer perfekt hinkriegen – manchmal sollte eine Website neu gebaut werden; manchmal wollen wir die Füße stillhalten und iterieren; und dann wieder wollen wir den Redo verschieben, um zuerst ein Verständnis davon zu gewinnen, was wir eigentlich genau pflegen und warten müssen.)

Triff eine bewusste Entscheidung, sobald es ums Neubauen geht: Was solltest du für die Website deines Arbeitgebers oder Kunden und dessen Entwicklung wählen; was solltest du für deine eigene Website und deine berufliche Entwicklung wählen?

Aber – bleib von den Extremen fern. Wenn du immer und ausschließlich iterierst, hast du nichts von den Vorzügen, die dir das Erkunden neuer Frameworks, Systeme und Plattformen bietet. Und wenn du ständig alles über den Haufen wirfst, schneidest du dich selbst von den unschätzbaren Erfahrungen ab, die einen erfahrenen und austarierten Entwickler ausmachen.

Was genau der Grund ist, warum es nützlich ist, Websites weniger häufig neu zu bauen.

Jeden Samstag wird ein Tournier abgehalten, nach dem die »Überlebenden« fröhlich feiern.

Abbildung: Ich bin mir selbst nicht sicher, was das mit Neubauen und Iterieren zu tun hat. (Copyright King Features Syndicate, Inc., vertrieben durch Bulls.)

* Als ich Jimdos Marketing-Tooling-Team leitete, mit dem wir für jimdo.com verantwortlich waren, haben wir ein »Museum« mit den verschiedenen Designs zusammengestellt, die Jimdo über die Jahre verwendet hat – da Jimdo über viele Jahre, unter jedem CMO, sein Design runderneuert, und oftmals dabei auch Systeme gewechselt hatte. Es ist ein verbreitetes Phänomen.

† Wartung und Wartbarkeit werden in der Berichterstattung über unser Feld sträflich vernachlässigt. Wir finden zu allem tonnenweise beste Vorgehensweisen – außer zu Wartbarkeit und Wartung. (Ich habe zwei Führer zu Wartbarkeit geschrieben, kann sie aber nicht unvoreingenommen kommentieren, und wir brauchen generell mehr als das.) Ich glaube, dass der Grund für diesen Mangel in der Vorliebe unseres Feldes liegt, eher alles neu zu machen, als zu iterieren.

‡ Ich will gar nicht erst anfangen. Ich persönlich glaube daran und praktiziere, mir mein Entwicklerleben schwer zu machen, um mehr zu lernen; und ich glaube daran und praktiziere, durch Projekte zu iterieren. Nimm allein diese Website, die noch immer auf einem Neubau von 2005 beruht. Die Lektionen, die du lernst, wenn du Projekte beständig weiterentwickelst, sind unschätzbar; und sie sind deutlich anders von denen, die man lernt, wenn man stets neu baut.

War dies nützlich oder interessant? Teile diesen Beitrag, oder unterstütze meine Arbeit, indem du eins meiner Bücher kaufst (sie sind günstig, und viele werden aktualisiert). Danke!

Ăśber mich

Jens Oliver Meiert, am 30. September 2021.

Ich bin Jens (lang: Jens Oliver Meiert), und ich bin ein Frontend-Engineering-Leiter und technischer Autor/Verleger. Ich habe als technischer Leiter für Firmen wie Google und als Engineering Manager für Firmen wie Miro gearbeitet, bin Mitwirkender an verschiedenen Webstandards und schreibe und prüfe Fachbücher für O’Reilly und Frontend Dogma.

Ich experimentiere gerne, nicht nur in der Webentwicklung (und im Engineering Management), sondern auch in anderen Bereichen wie der Philosophie. Hier auf meiert.com teile ich einige meiner Ansichten und Erfahrungen. (Sei kritisch, interpretiere wohlwollend und gib Feedback.)