
Show Notes
Hand aufs Herz: Wie viele Domains hast du gekauft, die heute nur noch als jährliche Renew Mail existieren? Genau mit diesem Reality Check steigen wir ein und biegen dann scharf ab: nicht Webdomains, sondern Domain Driven Design. In dieser Episode machen wir DDD greifbar, ohne dass du direkt ein 560-Seiten-Buch heiraten musst. Wir klären, welches Problem Domain Driven Design eigentlich löst, warum Teams in großen Systemen so oft in Spaghetti Code, technische Schulden und Kommunikationschaos rutschen und weshalb eine Ubiquitous Language, also eine gemeinsame, allgegenwärtige Sprache, oft der erste echte Hebel ist. Danach geht es ans strategische Design: Bounded Contexts, Context Mapping, Schnittstellen zwischen Teams und warum das verdächtig nah an Conway's Law, APIs und realen Teamstrukturen ist. Und ja, wir schauen auch auf die taktische Seite: Value Objects, Entities, Aggregates, Repositories, Domain Events, plus der Klassiker aus der Anti-Pattern-Ecke: das anämische Domänenmodell. Wir sprechen außerdem darüber, wie du pragmatisch startest, auch in bestehenden Codebasen, wer das im Team treiben kann, und warum Konsistenz im Naming gerade mit LLMs und AI Coding Tools plötzlich noch mehr zählt als früher. Wenn du wissen willst, ob DDD wirklich Enterprise Buzzword Bingo ist oder einfach der Name für verdammt gute Softwarearchitektur, dann bleib dran.
Unsere aktuellen Werbepartner findest du auf https://engineeringkiosk.dev/partners
Das schnelle Feedback zur Episode: 👍 (top) 👎 (geht so)
Anregungen, Gedanken, Themen und Wünsche Dein Feedback zählt! Erreiche uns über einen der folgenden Kanäle … EngKiosk Community: https://engineeringkiosk.dev/join-discord LinkedIn: https://www.linkedin.com/company/engineering-kiosk/ Email: [email protected] Mastodon: https://podcasts.social/@engkiosk Bluesky: https://bsky.app/profile/engineeringkiosk.bsky.social Instagram: https://www.instagram.com/engineeringkiosk/
Unterstütze den Engineering Kiosk Wenn du uns etwas Gutes tun möchtest … Kaffee schmeckt uns immer Buy us a coffee: https://engineeringkiosk.dev/kaffee
Links Martin Fowler über Domain Driven Design: https://martinfowler.com/bliki/DomainDrivenDesign.html Martin Fowler über Anemic Domain Model: https://martinfowler.com/bliki/AnemicDomainModel.html Repository zum Buch “Domain-Driven Design With Golang”: https://github.com/PacktPublishing/Domain-Driven-Design-with-GoLang Buch von Eric Evans (Final draft): https://fabiofumarola.github.io/nosql/readingMaterial/Evans03.pdf Engineering Kiosk Episode #222 SOLID in Go, JS & Co: passt das noch zur modernen Software?: https://engineeringkiosk.dev/podcast/episode/222-solid-in-go-js-co-passt-das-noch-zur-modernen-software/ Engineering Kiosk Episode #12 Make oder Buy: https://engineeringkiosk.dev/podcast/episode/222-solid-in-go-js-co-passt-das-noch-zur-modernen-software/
Sprungmarken (00:00:00) Domains kaufen vs. Domain Driven Design (00:06:01) Info/Werbung (00:07:01) Domains kaufen vs. Domain Driven Design (00:10:45) Warum überhaupt Domain Driven Design: Komplexität, Spaghetti Code und Business-IT-Graben (00:14:16) Strategisches Design: Domain verstehen und Ubiquitous Language aufbauen (00:24:33) Bounded Contexts und Context Mapping: Grenzen, Sprache, Schnittstellen (00:32:46) DDD und Teamstrukturen: Conway's Law, APIs und Verantwortlichkeiten (00:35:57) Taktisches Design: Value Objects, Entities, Aggregates, Repositories (00:43:32) Wie erkennst du DDD im Code: Kubernetes als Beispiel und Code Lesbarkeit (00:46:19) Pragmatisch starten: Glossar, Boy Scout Rule und DDD mit bestehenden Codebasen (00:52:27) Für wen lohnt sich DDD wirklich: Startup vs. Enterprise, Monolith vs. Microservices (01:00:53) Kritik und Grenzen: Over Engineering und fehlende Domain Experts (01:01:58) DDD in Plattform- und Infrastruktur-Teams: gemeinsame Sprache für Cloud Automation (01:04:09) Ressourcen, Links und Community-Feedback
Hosts Wolfgang Gassler (https://gassler.dev) Andy Grunwald (https://andy
More from Engineering Kiosk
282 Episoden. Viereinhalb Jahre. Jede Woche eine neue Folge. Wir ziehen Bilanz, sprechen offen über den Zeitaufwand hinter dem Engineering Kiosk Podcast und erklären, warum Season 1 für uns erstmal endet. Wenn du Teil dieser Reise warst oder gerade erst dazukommst, ist diese Folge so etwas wie ein Zwischenstand mit offenem Ende. Kein dramatischer Shutdown, eher ein bewusst gesetzter Pause-Button mit Blick nach vorn. Oder anders gesagt: Der Podcast macht Pause, die Idee dahinter ganz sicher nicht.
Container sind überall. In der Cloud, auf deinem Laptop, im Home Lab und ziemlich sicher auch in Systemen, die du täglich benutzt. Aber wie viel Isolation steckt wirklich in einem Container? Wann reicht ein klassischer Docker-Container, wann brauchst du eine VM und warum tauchen plötzlich Begriffe wie Micro-VMs, Firecracker, RunC oder GVisor überall auf? Genau an dieser Stelle wird es spannend, denn hinter dem scheinbar einfachen docker run wartet ein erstaunlich tiefes Rabbit Hole. In dieser Episode sprechen wir mit Sébastien Pahl, Co-Founder der Firma hinter Docker und heute bei Cloudflare wieder tief im Container-Umfeld unterwegs. Gemeinsam zerlegen wir das Container-Ökosystem von unten nach oben. Wir klären, was Namespaces und C-Groups im Linux-Kernel eigentlich machen, wie sich Container, virtuelle Maschinen und Micro-VMs unterscheiden, welche Rolle LXC, OverlayFS, Systemd und RunC spielen und warum Docker der Container-Welt zum Durchbruch verholfen hat. Außerdem schauen wir auf Multi-Tenancy, Security, Kernel-Isolation, Hypervisor-Grenzen und die Frage, warum Bootzeit und Memory-Footprint für moderne Container-Plattformen so entscheidend sind. Besonders spannend wird es beim Blick in die Praxis. Wir sprechen darüber, wie ein maßgeschneidertes Init-System in Rust entsteht, wie AI beim Systems Engineering und beim Schreiben von Tests hilft und warum sich damit Produktionssysteme in wenigen hundert Millisekunden booten lassen. Wenn du Container, Docker, Micro-VMs und Linux-Isolation endlich wirklich verstehen willst, ist diese Folge dein Deep Dive. Bonus: Selbstfahrende Autos, Mars-Fantasien und Advent of Code schaffen es auch noch in die Episode.
Wie entwickelt man Software, wenn ein Breakpoint das Systemverhalten verfälscht, Speicher knapp ist und ein Update nicht einfach per Knopfdruck ausgerollt werden kann? Genau in diese Welt tauchen wir in dieser Episode ein. Wir sprechen über Real Time Operating Systems, Embedded Systems, Mikrocontroller und die Frage, was Echtzeit in der Praxis wirklich bedeutet. Mit Roland Lezuo schauen wir hinter die Kulissen moderner Embedded Entwicklung. Es geht um RTOS, Linux mit Echtzeitfähigkeit, Interrupts, harte und weiche Deadlines, PCB Design, Firmware in C, Treiber, Debugging mit Oszilloskop, Tracing auf Hardware-Ebene und die Realität von Testing und Continuous Integration im Embedded Umfeld. Außerdem klären wir, warum ein smartes Fernglas ein ziemlich gutes Beispiel für anspruchsvolle Echtzeitsoftware ist und weshalb Hardwareprojekte oft ganz andere Kompromisse verlangen als Cloud-Software oder klassische Backend Entwicklung. Zum Schluss sprechen wir über Updates und Over the Air-Update-Szenarien, den Cyber Resilience Act und darüber, wie du selbst in Embedded Software einsteigen kannst, ohne gleich ein Labor voller Spezialhardware aufzubauen. Wenn du wissen willst, warum C, Echtzeitbetriebssysteme und Embedded Linux noch lange nicht von gestern sind, dann ist diese Folge genau dein Ding. Bonus: Print-Debugging mit Oszilloskop ist wirklich so wild, wie es klingt.
Smart Home fängt oft harmlos an. Eine smarte Lampe hier, ein Sensor da, vielleicht noch ein Staubsaugerroboter mit App. Ein paar Wochen später hängt Hardware an Fenstern, steckt in Unterputzdosen oder funkt über drei verschiedene Protokolle durchs Haus. Und plötzlich stellt sich die Frage: Automatisierst du eigentlich schon sinnvoll oder sammelst du gerade nur sehr teure Learnings? Genau an diesem Punkt setzen wir in dieser Episode an. Wir sprechen mit Andrej Friesen über die wichtigsten Entscheidungen in der Heimautomatisierung und über das, was man gern früher gewusst hätte. Es geht um lokale Steuerung versus Cloud-Abhängigkeit, Home Assistant, Matter, Zigbee, WLAN, Thread, Ausfallsicherheit, physische Taster, Backups, Infrastruktur-Komplexität und die Risiken von Third-Party-Plugins und Supply Chain Attacken. Andrej organisiert Home Assistant Meetups, baut mit ESPHome und Pokipow eigene Hardware und podcastet im Smart-Hütte-Podcast über Smart Home und Self-Hosting. Kurz gesagt: jemand, der die Theorie kennt und die Box of Shame wahrscheinlich trotzdem nicht ganz vermeiden konnte. Wenn du ein Smart Home aufbauen willst, das nicht nur cool wirkt, sondern auch im Alltag, bei Ausfällen und für andere Menschen im Haushalt funktioniert, bekommst du hier jede Menge praktische Denkanstöße. Vielleicht nimmst du am Ende keine fünf goldenen Regeln mit, sondern genau die eine, die dir später Zeit, Geld und Nerven spart. Bonus: Wir klären ganz nebenbei auch, warum eine App noch lange keine echte Automatisierung ist.
Inklusive Kommunikation klingt für manche nach Stilfrage, für andere nach Sprachpolizei und für wieder andere einfach nach gesundem Menschenverstand. Aber was passiert eigentlich, wenn Sprache nicht nur beschreibt, sondern Bilder im Kopf erzeugt, Teams prägt und sogar beeinflusst, wer sich auf einen Job bewirbt oder in einer Tech Community willkommen fühlt? Genau darum geht es in dieser Episode. Zu Gast ist Lukas Kahwe Smith, Softwareentwickler, Open Source Veteran aus dem PHP-Community und ehemaliger CTO von Witty Works. Mit ihm sprechen wir über inklusive Sprache in der Softwareentwicklung, über Gendern, geschlechtsneutrale Begriffe, diskriminierende Sprachmuster, problematische Formulierungen in Stellenausschreibungen und die Frage, warum Begriffe wie Main Branch, Master Branch, Whitelist, Blacklist oder Leader Follower in der Tech-Welt mehr sind als nur Benennungssache. Außerdem schauen wir auf Open Source, Teamkommunikation, Leadership-Kommunikation, Diversity in Communities und darauf, wie Witty Works als Browser Extension und Lerntool für inklusivere Kommunikation funktioniert hat. Besonders spannend wird es beim Blick auf KI und LLMs. Helfen ChatGPT, Claude und Co. dabei, inklusiver zu schreiben, oder zementieren sie am Ende nur die Sprache der Vergangenheit? Wenn du wissen willst, warum Kontext wichtiger ist als starre Regeln, wie Sprache Kultur verändert und weshalb kleine Formulierungen große Wirkung haben können, dann ist diese Folge genau dein Ding. Bonus: Ein racist soap dispenser und ein Git Branch haben heute mehr gemeinsam, als dir vielleicht lieb ist.