Working Draft

Wöchentlicher Podcast für Webdesigner:innen und -entwickler:innen

Unterstützung

Wir optimieren unser Audio mit Auphonic, wo ihr uns Processing-Time kaufen könnt! Alternativ findet Ihr uns auch auf Patreon:

Become a Patron!

Werben bei Working Draft!

Mit zwölfjähriger Geschichte und über 5.000 Downloads pro Folge ist Working Draft der etablierteste Podcast für Webentwickler im deutschsprachigen Raum. Wenn ihr neue Entwicklerkollegen sucht oder ein Produkt für Webentwickler anbietet, schreibt uns unter sponsoring@workingdraft.de.

Revision 562: Interview mit Entwicklerin Svenja zu Barrierefreiheit

29. März 2023 | 1 Kommentar

Und wieder haben wir eine Gästin zu Besuch – diesmal ist es Svenja aus Marburg. Svenja ist Webentwicklerin mit Schwerpunkt Accessibility bei Accenture Song, Bloggerin, und Ihr findet Sie als @SvenjaDev auf Twitter und als @svenja@chaos.social auf Mastodon.

Schaunotizen

[00:02:06] Interview mit Entwicklerin Svenja zu Barrierefreiheit
Vor ein paar Jahren ist Svenja auf Social Media in der Webentwickler-Bubble aufgetaucht. Ihre Spezialisierung ist Accessibility, was nicht von ungefähr kommt, denn Svenja ist blind.

In unserem Interview mit ihr sprachen wir über ihren Weg in den Beruf. Wir wollen von ihr wissen, wie sie das Programmieren angeht und welche Coding-Umgebung dafür aus ihrer Sicht gut geeignet ist. Es stellt sich heraus, dass dies Microsofts Visual Studio Code ist.

Natürlich wollen wir auch wissen, was aus ihrer Sicht ein gute gecodete Webseite ausmacht und welche Dinge vielleicht gar nicht so wichtig sind, die wir Sehende möglicherweise überbewerten.

Wir fragen sie, ob eine Webseite möglicherweise auch zu semantisch sein kann, wie es einmal in einem Vortrag von Vasilis van Gemert durchklang.

Schließlich lenken unser Augenmerk auch auf die Barrierefreiheit von Single-Page-Applications. Hier schlagen wir den Bogen zurück zu Visual Studio Code, das ein Paradebeispiel einer mit Webtechnologie umgesetzten App darstellt. In der Regel sind native Apps den Web-basierten Apps aber überlegen.

Links

Der Grubenlampe Podcast – Interview mit Svenja, einer blinden Programmiererin
Unser Podcast war nicht ihr erster Podcast. Auch dieser hier ist sehr hörenswert!
Svenjas Blog
Hier bloggt Svenja von Zeit zu Zeit zu ihren Liebslingsthemen
Svenjas Twitch
Svenja spielt gerne Heartstone und streamt das ganze dann hier.
Transkript
WEBVTT

00:00:00.017 --> 00:00:04.798
Erst dachte ich, das ist voll mein Traum, so eine Firma zu helfen, Barrierefreiheit zu machen.

00:00:05.086 --> 00:00:09.337
Aber dann habe ich relativ schnell festgestellt, eigentlich will ich doch eher programmieren.

00:00:10.316 --> 00:00:17.707
Gibt es da denn Dinge, die vielleicht aus Barrierefreiheitsgründen gemacht werden von eben so Leuten wie uns,

00:00:17.779 --> 00:00:22.217
Wo du aber sagst, ey, hört doch einfach mal damit auf, das braucht kein Mensch.

00:00:22.480 --> 00:00:48.080
Music.

00:00:48.072 --> 00:00:49.297
Revision 562.

00:00:52.438 --> 00:01:00.351
D-Modern ist eine Digitalagentur für kreative Technologien und eine der führenden Innovationsagenturen Europas.

00:01:00.777 --> 00:01:06.017
Rund 80 DigitalexpertInnen arbeiten derzeit für internationale Marken und Unternehmen

00:01:06.017 --> 00:01:11.559
wie Nike, Ikea, SAP, Snipes, Roland Berger oder BMW.

00:01:11.777 --> 00:01:15.682
D-Modern wurde bereits mit zahlreichen Kreativpreisen ausgezeichnet.

00:01:16.097 --> 00:01:21.587
Neben Qualität, Innovation und Kreativität ist Teamwork die Superkraft der Agentur.

00:01:22.775 --> 00:01:29.347
Und du kannst bald zum Team gehören. Gesucht wird eine Fullstack-Developerin oder ein Fullstack-Developer mit Fokus auf Web,

00:01:30.097 --> 00:01:31.868
Mobile und WebGL.

00:01:32.217 --> 00:01:36.756
Du und dein Team, ihr seid verantwortlich für die technische Konzeption und Umsetzung

00:01:37.035 --> 00:01:39.358
von interaktiven Web- und Mobile-Projekten.

00:01:39.871 --> 00:01:46.082
Hinzu kommt die Weiterentwicklung von Interaktions- und Web-Technologien gemäß des Mottos Pushing Things Forward.

00:01:46.595 --> 00:01:51.577
Unterstützt wirst du von einem internationalen Team aus den Bereichen Design, Konzeption

00:01:51.577 --> 00:01:59.257
und Entwicklung. Klingt gut? Dann bewirb dich jetzt unter demodern.de. Wir danken demodern

00:01:59.257 --> 00:02:02.142
für die Unterstützung von dieser Revision vom Working Draft.

00:02:02.349 --> 00:02:10.748
Wir sind heute zu dritt. Da hätten wir zum einen den Hans.

00:02:11.257 --> 00:02:20.897
Hallo. Dann hätten wir aus dem Team noch mich, den Und das bedeutet, wir haben auch wieder eine eine Gästin da, und zwar die Svenja. Hallo Svenja!

00:02:22.649 --> 00:02:29.689
Schön, dass du da bist! Und bevor wir loslegen, erzähl doch einmal kurz, wer du bist und was du so machst.

00:02:30.427 --> 00:02:39.115
Ja, ich bin Svenja, 31, und arbeite bei Accenture als Frontend-Developerin.

00:02:39.745 --> 00:02:47.820
Du bloggst und bist auf Twitter. Genau. Man stolpert über dich, definitiv.

00:02:48.135 --> 00:02:53.230
Ja, man stolpert über mich, und ich streame auch auf Twitch. Mhm.

00:02:53.439 --> 00:02:58.199
Genau, das verlinken wir alles, das findet ihr alles in den Schaunotizen,

00:02:58.239 --> 00:03:02.322
die Links zu Svenjas Präsenzen,

00:03:02.664 --> 00:03:09.245
sei es professionell, wie auch Gamer, mit Gamer-Inhalten.

00:03:09.686 --> 00:03:17.725
Und du bist, genau, du bist bei Accenture als Frontend-Developerin.

00:03:18.580 --> 00:03:27.479
Und du beschäftigst dich vermutlich, ich unterstelle das jetzt mal, viel mit Accessibility,

00:03:27.808 --> 00:03:36.979
was wir alle ja gerne auch tun und gerne gut können möchten. Aber vielleicht kannst du

00:03:36.979 --> 00:03:45.019
du das deutlich besser als wir, weil du das sozusagen auch, du weißt, wofür du es baust,

00:03:45.019 --> 00:03:52.619
richtig? Ja, also ich kann gar nicht anders, als es mit zu berücksichtigen. Ja, weil du blind bist.

00:03:53.023 --> 00:03:53.619
Richtig.

00:03:54.815 --> 00:03:59.891
Genau. Deswegen werden wir da heute über diese Themen so ein bisschen sprechen.

00:03:59.891 --> 00:04:03.169
Genau, natürlich über Webentwicklung im Allgemeinen auch.

00:04:03.251 --> 00:04:08.948
Aber wir hoffen, dass wir da so einiges von dir lernen können.

00:04:09.074 --> 00:04:24.846
Und was mich vielleicht eingangs interessieren würde, ist, Wie kam es dazu, dass du den Weg der Entwicklerin gegangen bist?

00:04:25.449 --> 00:04:28.609
Tja, wer mich noch aus der Schule kennt, wird das nicht denken.

00:04:29.068 --> 00:04:33.251
Weil ich nämlich in der siebten Klasse haben wir angefangen mit Laptops.

00:04:34.173 --> 00:04:38.851
Vorher haben wir ein bisschen PCs schon gehabt und ein bisschen mit Internet und hier und da.

00:04:38.851 --> 00:04:43.607
Und dann kam das halt auf dem Gymnasium in den sogenannten Laptop-Klassen.

00:04:43.724 --> 00:04:52.651
Und da habe ich mich angestellt wie der letzte Mensch und wollte dann aber relativ schnell eine eigene Internetseite haben,

00:04:52.651 --> 00:04:56.597
weil ich damals meine Geschichten veröffentlichen wollte, die ich geschrieben habe.

00:04:57.497 --> 00:05:04.651
So, ja, sind nicht gut gewesen, aber wie das damals so war, wollte ich das unbedingt.

00:05:04.651 --> 00:05:12.396
Und dann habe ich mit diesem Baukastensystem angefangen, sowas wie EULA und Homepage24 und wie sie nicht alle heißen.

00:05:12.651 --> 00:05:14.386
Das riecht schwer nach Data-Packer.

00:05:15.034 --> 00:05:20.651
Nee, tatsächlich nicht. Fand das aber ziemlich schnell doof,

00:05:20.822 --> 00:05:27.651
weil Musik gab es nur als MIDI und man konnte irgendwie nicht alles, was man gerne wollte.

00:05:27.651 --> 00:05:33.651
Und dann habe ich gedacht, okay, ich will das richtig können und habe mit dem schönen HTML-Editor,

00:05:33.651 --> 00:05:38.341
den es damals unter Windows XP noch gab, angefangen, HTML zu lernen.

00:05:38.651 --> 00:05:42.212
Da gab es den Editor extra für HTML? Echt?

00:05:42.651 --> 00:05:49.071
Ja, das Ding nannte sich wirklich HTML-Editor und das hatte auch eine Anleitung dabei, wo

00:05:49.251 --> 00:05:51.646
dann wirklich erklärt wurde, wie man was baut.

00:05:52.663 --> 00:05:55.103
Und ich war ziemlich fasziniert, weil ich die ziemlich gut fand auch.

00:05:56.246 --> 00:06:04.780
Und hab dann aber relativ schnell erstmal aufgegeben, weil ich dann PHP lernen wollte und das dann erstmal nicht kapiert hab.

00:06:05.032 --> 00:06:13.296
Und das wurde dann durch die Schule und alles ein bisschen runtergeschluckt, so mehr oder weniger.

00:06:13.296 --> 00:06:19.292
Und mit 17 ging's dann langsam drum, ja, was willst du denn eigentlich machen, falls du kein Abi machst?

00:06:19.625 --> 00:06:27.136
Und dann habe ich gedacht, naja, wenn ich schon keine Sängerin werden kann, dann könnte ich doch was mit Computern machen.

00:06:27.295 --> 00:06:33.816
Ich habe dann so eine vollschulische Ausbildung erst mal gemacht, wo mich der Informatikteil sehr interessiert hat, aber der Wirtschaftsteil eher nicht.

00:06:33.816 --> 00:06:42.392
Und ich dann aber auch so dachte, also irgendwie will ich das jetzt richtig lernen und habe dann eine Ausbildung zur Fachinformatikerin für Anwendungsentwicklung gemacht.

00:06:43.472 --> 00:06:48.476
Die ich 2015 abgeschlossen habe, war dann erst mal vier Jahre lang beim Hessischen

00:06:48.476 --> 00:06:53.156
Rundfunk als sogenannte Entwicklerin für barrierefreie Software, was eigentlich nur

00:06:53.156 --> 00:06:57.453
hieß, teste unsere Anwendung und sag uns, wie wir sie barrierefrei machen.

00:06:58.065 --> 00:07:02.196
Was mir dann relativ schnell, weil erst dachte ich, das ist voll mein Traum, so

00:07:02.196 --> 00:07:06.756
eine Firma zu helfen, Barrierefreiheit zu machen, aber dann habe ich relativ

00:07:06.756 --> 00:07:10.816
schnell festgestellt, eigentlich will ich doch eher programmieren oder auch

00:07:10.816 --> 00:07:17.616
Programmieren, was dort leider mehr oder weniger auf taube Ohren gestoßen, will ich nicht sagen,

00:07:17.616 --> 00:07:23.388
aber mehr oder weniger abgespeist wurde. Wir haben mal geguckt und so, dann hatte ich ein

00:07:23.816 --> 00:07:33.056
halbherziges iOS-Development mit Zwift-Training von einem Kollegen, der dann aber auch so meinte,

00:07:33.056 --> 00:07:38.216
ja, hinterher machst du das aber privat weiter. Wir haben kein Projekt für dich,

00:07:38.216 --> 00:07:40.186
wo wir dich da einsetzen könnten.

00:07:40.294 --> 00:07:45.416
Da war dann so der Punkt, wo ich gedacht habe, okay, wenn ihr mich sowieso nicht dafür haben wollt,

00:07:45.416 --> 00:07:48.816
dann gucke ich mir jetzt, schaue ich mal, ob ich woanders unterkomme.

00:07:48.816 --> 00:07:55.616
Und war dann leider erst mal anderthalb Jahre arbeitslos. Aber ja, bin dann zum Glück bei Accenture gelandet.

00:07:55.616 --> 00:07:59.388
Und wie bist du auf die gekommen?

00:08:00.550 --> 00:08:08.174
Das war ziemlich witzig. Über Twitter hatte der Marco C., der dem einen oder anderen vielleicht auch noch was sagt,

00:08:08.300 --> 00:08:12.415
einen Tweet von meinem jetzt-Chef weitergeleitet,

00:08:12.937 --> 00:08:18.220
der eben dann gesucht hat und gesagt hat, hier, wir suchen noch Frontend und hier und da.

00:08:18.220 --> 00:08:20.760
Und dann habe ich halt hingeschrieben und gefragt, hey, was sucht ihr genau?

00:08:21.597 --> 00:08:26.656
Und sagte er ja alles. Und dann habe ich gesagt, ja, okay, lass mal reden.

00:08:26.944 --> 00:08:29.042
Dann haben wir relativ schnell telefoniert auch.

00:08:29.717 --> 00:08:36.469
Ja, innerhalb ersten Tagen mehr oder weniger und haben dann auch festgestellt, ja, das passt, das könnte er sich vorstellen.

00:08:37.450 --> 00:08:42.077
Und zwei Monate später hatte ich dann den Vertrag. Ja, super, cool.

00:08:42.878 --> 00:08:43.922
Ja, das war mega gut.

00:08:44.868 --> 00:08:48.118
Ich glaube, ich weiß auch, wer das sein könnte. Der Hans eventuell auch, oder?

00:08:48.829 --> 00:08:51.502
Das ist das ja Thomas Kaspers vielleicht gewesen?

00:08:51.556 --> 00:08:53.114
Ja, genau.

00:08:53.540 --> 00:08:57.057
Ja, das passt, die Beschreibung passt. Ja, cool, super.

00:08:57.696 --> 00:09:01.117
Nee, der ist auch echt ein super Typ.

00:09:01.981 --> 00:09:04.646
Der ist top. Den habe ich auch schon persönlich kennengelernt.

00:09:04.862 --> 00:09:08.625
Ja. Das war, das ist schon echt cool.

00:09:09.111 --> 00:09:12.740
Wohne auch nicht weit weg vom Haus. Mit dem arbeite ich auch sehr gerne zusammen, ja.

00:09:13.252 --> 00:09:21.540
Das stimmt, das stimmt. Genau, also wir haben ja auch den Marco Zehe schon öfter bei uns zu Gast gehabt.

00:09:21.540 --> 00:09:26.740
Hier im Podcast ist jetzt auch schon wieder einige Zeit her und der Thomas war auch mal mit dabei.

00:09:26.740 --> 00:09:36.540
Das ist allerdings wirklich schon lange her. Ich sehe hier gerade 2014 im März waren die beiden mal bei uns zusammen zu Gast.

00:09:36.540 --> 00:09:49.240
Also es ist wirklich schon einige Zeit her. Themen nur kurz, sorry, als Ausflug SASS 3.3 wurde da veröffentlicht und das Thema, was wir eigentlich hatten in die UI und Accessibility.

00:09:49.240 --> 00:09:56.796
Und verlinkt haben wir zum Beispiel Grunt PageSpeed oder Bootstrap Accessibility Plugin.

00:09:57.327 --> 00:10:00.856
Na gut, das waren andere Zeiten, vielleicht erinnert ihr euch noch.

00:10:01.621 --> 00:10:06.527
Nee, also Bootstrap, ja, das nutzen wir auch heute noch. Das kenne ich, aber...

00:10:07.013 --> 00:10:09.030
Gut, das hat ja auch weiterentwickelt, ne?

00:10:10.497 --> 00:10:38.347
Trotzdem, also was mich jetzt auf jeden Fall mal sehr interessieren würde, ist so ein Stück weit das Thema Tooling, also grundsätzlich ist es ja so, dass viele, jetzt sag ich mal, die Entwicklerinnen und Entwickler sind, mit Visual Studio Code beispielsweise ihre Websites programmieren, jetzt oft ist es so, dass man entweder einen Firefox- oder einen Chrome-Browser verwendet. Ist das für dich eigentlich genauso easy, diese Tools zu verwenden?

00:10:38.347 --> 00:10:45.426
Also mit den DevTools im Firefox stehe ich noch so ein bisschen auf Rieks Fuß, ich suche immer, wo was ist.

00:10:46.074 --> 00:10:52.880
Aber ansonsten, ich muss sagen, dass ich sehr überrascht bin von VS Code's Entwicklung.

00:10:54.356 --> 00:11:03.944
Weil als ich im Grubenlampe-Podcast war, hab ich ja noch gesagt, ja, VS Code, ja weiß nicht, das fühlt sich für mich eher an wie eine Webseite.

00:11:04.673 --> 00:11:07.227
Aber das hat sich sehr verändert seitdem.

00:11:07.227 --> 00:11:11.001
Ich habe dem ja nochmal eine Chance gegeben letztes Jahr, weil wir das jetzt auch im Projekt verwenden.

00:11:12.091 --> 00:11:15.387
Und habe dann festgestellt, Mensch, das ist ja richtig cool geworden.

00:11:15.387 --> 00:11:16.907
Ich benutze das jetzt.

00:11:17.528 --> 00:11:22.227
Ja, also das heißt für dich ist es auch, also das Tool funktioniert auch,

00:11:22.227 --> 00:11:25.707
weil das ist ja immer so ein Stück weit eine Herausforderung.

00:11:25.707 --> 00:11:29.027
Ich sage mal, nehmen wir jetzt einfach mal hier unser Aufnahmetool.

00:11:29.027 --> 00:11:33.307
Da haben wir uns ja vorher auch abgesprochen, dass das auch dann für dich zugänglich ist.

00:11:33.307 --> 00:11:42.320
Das ist ja auch, sagen wir mal, eins der großen Probleme, dass häufig nicht alle Tools einfach so benutzbar sind, oder?

00:11:42.924 --> 00:11:49.267
Ja, viele sind es tatsächlich nicht. Und ich habe auch immer wieder in der Firma die Gespräche,

00:11:49.267 --> 00:11:53.789
dass ich dann sage, hier, Leute, das und das Tool, da müsst ihr da noch mal ran, wenn ihr irgendwie könnt.

00:11:54.572 --> 00:11:57.372
Wenn es irgendwie ein Drittanbietertool ist, macht da mal was.

00:11:57.633 --> 00:12:03.307
Weil, ja, also gerade, Untertitel der Amara.org-Community

00:12:01.486 --> 00:12:05.249
Da hatte ich's heute Nachmittag mit einer Kollegin auch drüber,

00:12:05.663 --> 00:12:10.939
von diesen Boards, so was wie Miro und, äh, Mural, und was es da nicht so alles gibt.

00:12:11.767 --> 00:12:17.880
Die meisten davon sind auch nicht barrierefrei. Also, bei den meisten Retro- und Sprintplannings

00:12:17.920 --> 00:12:21.840
und was es da nicht alles gibt, bin ich bis jetzt so ziemlich raus gewesen,

00:12:21.880 --> 00:12:23.965
weil die ganzen Tools nicht barrierefrei sind.

00:12:24.622 --> 00:12:25.639
Oh, wow, ja.

00:12:26.314 --> 00:12:30.960
Und, ähm, das ist natürlich erst mal total schlecht, wenn man dann sozusagen außen vor ist,

00:12:30.960 --> 00:12:54.924
bloß weil so ein Tool nicht geht. Auf der anderen Seite in der Remote-Working-Welt haben wir natürlich nicht so viel Wahl, als ja, oder so Tools zu nutzen und dann ist es natürlich umso schwieriger. Wie kommt das denn dann an oder wie kommst du da auch voran, wenn dann, wenn dir dann sowas auffällt und du diese Kritik in Anführungsstrichen kundtust? Also gibt es dann immer schnell Abhilfe? Ist so eigentlich meine Frage.

00:12:55.428 --> 00:13:02.774
Tatsächlich ja. Cool. Ich bin sehr positiv überrascht gewesen von Anfang an,

00:13:02.900 --> 00:13:07.980
wie das bei Accenture läuft, dass wirklich lösungsorientiert gearbeitet wird.

00:13:07.980 --> 00:13:12.658
Dass nicht wie beim alten Arbeitgeber oder auch wie ich das von anderen sehr oft höre,

00:13:13.099 --> 00:13:20.058
gesagt wird, ja, kriegen wir schon irgendwie mal hin. Oder ach, stell dich nicht so an und lass dir halt helfen.

00:13:20.778 --> 00:13:26.220
Hast doch einen Freund, der dir helfen kann. und Assistenz spielen, so mehr oder weniger,

00:13:26.220 --> 00:13:28.619
oder lass dir halt von Kollegen helfen oder was auch immer.

00:13:29.240 --> 00:13:33.895
Und das ist halt gar nicht. Wenn ich sage, hier Leute, jetzt mal ein ganz blödes Beispiel,

00:13:34.156 --> 00:13:37.666
ich kann mir keine Kreditkarte beantragen, weil das Formular nicht barrierefrei ist,

00:13:38.333 --> 00:13:40.799
was bei American Express der Fall ist.

00:13:41.960 --> 00:13:49.829
Ich will aber jetzt auch nicht meinen Freund als Assistenz missbrauchen, dass dann auch wirklich Verständnis dafür da ist und gesagt wird, ja, verstehe ich, wir finden eine Lösung.

00:13:51.035 --> 00:14:01.991
Ja, gerade dieses, also, dass dann andere Leute voraussetzen, man hat jetzt jemanden da, der einem hilft, also eigentlich ist das ja nicht das, also dein, in Anführungsstrichen, das Problem für dich,

00:14:02.432 --> 00:14:08.625
Weil das da jetzt jemand sein muss, sondern es ist ja eher ein anderes Problem, nämlich das Problem im Tool.

00:14:09.075 --> 00:14:13.710
Und das muss halt behoben werden. Also, ich glaube, das ist ja das Wichtige.

00:14:13.710 --> 00:14:16.110
Deswegen fand ich jetzt interessant, das was du gesagt hast.

00:14:16.110 --> 00:14:24.310
Du hast beispielsweise dem Tool VS Code einmal eine Chance gegeben, da war es noch nicht so brauchbar.

00:14:24.310 --> 00:14:30.810
Und jetzt ist es aber so für dich, dass du es einfach nutzen kannst, um auch deine Web-Entwicklung tun zu können.

00:14:31.194 --> 00:15:00.790
Was ich mir jetzt so, vielleicht kann ich das mal so linehaft fragen, sehr interessant vorstelle, ist so dieser Punkt, für mich besteht dieses, also die Programmierung gerade im Frontend halt neben der ganzen Logik und so weiter, halt auch viel aus dem Punkt, okay, es muss halt irgendwie aussehen, war das in der Vergangenheit für dich mal ein Problem sozusagen, oder habt ihr euch da immer in den Teams dann so aufgeteilt,

00:15:00.790 --> 00:15:02.603
Wie geht dir das Thema an?

00:15:03.404 --> 00:15:06.790
Also die, ich sag mal, optischen Tickets machen meine Kollegen.

00:15:08.391 --> 00:15:12.790
Auch die ganzen Designsachen. CSS fasse ich gar nicht an, tatsächlich.

00:15:13.171 --> 00:15:20.790
Ich nehme dann eher so Accessibility oder Tickets, wo irgendwelche Formulare gebaut werden müssen.

00:15:20.790 --> 00:15:25.712
Mit HTML, JS oder Frameworks oder was auch immer.

00:15:26.072 --> 00:15:31.185
Und die CSS-Sachen, die schraubt dann wer anders dran.

00:15:31.797 --> 00:15:35.550
Aber das hört sich ja eigentlich nach einer sinnvollen Aufteilung an,

00:15:35.550 --> 00:15:39.750
dass du sozusagen die Semantik,

00:15:40.160 --> 00:15:51.050
oder quasi das echte Interface sozusagen erst mal modellierst und dann weitergibst an die, die das dann noch mal ein bisschen einkleiden, sozusagen.

00:15:52.196 --> 00:15:59.930
Ja, das ist auch alles klar getrennt. jetzt zum Beispiel in unserem jetzigen Projekt sind die ganzen Komponenten halt schon da und

00:15:59.930 --> 00:16:04.450
wenn dann irgendwas Neues gebraucht wird, wird einfach geguckt, ja haben wir sowas schon da,

00:16:04.450 --> 00:16:09.370
brauchen wir dafür einfach eine neue Ausprägung der Komponente, die wir schon haben oder müssen

00:16:09.370 --> 00:16:16.730
wir was komplett Neues bauen. Das finde ich halt auch mega cool. Ja, macht ja auch total Sinn,

00:16:16.730 --> 00:16:23.770
also dass man eben so viel wiederverwendet wie möglich. Da steckt ja, ist ja viel Know-how schon

00:16:23.770 --> 00:16:28.682
gekapselt in so einem gelungenen UI-Baustein,

00:16:29.403 --> 00:16:33.364
was man ja auch immer unterschätzt, was da eigentlich alles drin steckt.

00:16:35.002 --> 00:16:39.638
Und machst du auch Interaktivität, programmierst du die auch,

00:16:39.638 --> 00:16:43.761
weil die ja auch reinspielt in die Themen?

00:16:44.238 --> 00:16:52.358
Also Interaktivität ist ja egal, also ob man jetzt, egal ob optisch oder eben semantisch,

00:16:52.358 --> 00:16:57.198
kann das ja viel durcheinander bringen, wenn es irgendwie gut oder schlecht gebaut ist.

00:16:57.198 --> 00:16:59.812
Ist das auch Teil dessen, was du tust?

00:17:01.118 --> 00:17:10.218
Ich weiß nicht, was du mit Interaktivität meinst. Naja, wenn man jetzt zum Beispiel, also das klassische Interface-Element,

00:17:10.218 --> 00:17:12.218
was irgendwie ja alle immer haben wollen,

00:17:12.407 --> 00:17:17.034
und was ja irgendwie nicht so einfach zu bauen ist, ist so eine Combo-Box,

00:17:17.818 --> 00:17:21.661
also quasi ein Select, in dem man aber quasi filtern kann.

00:17:22.570 --> 00:17:26.818
Und da steckt ja dann irgendwie relativ viel Interaktivität drin,

00:17:26.818 --> 00:17:28.818
die man ja nur mit JavaScript realisieren kann,

00:17:28.818 --> 00:17:36.498
Aber gleichzeitig muss man halt schauen, dass man halt die Veränderungen, die halt dann in dem Interface passieren,

00:17:36.498 --> 00:17:41.598
also, hey, guck mal, hier sind Filterergebnisse, das sind jetzt weniger als vorher und so,

00:17:41.598 --> 00:17:48.718
dass man das halt auch irgendwie auch semantisch immer wieder kommuniziert und nicht nur visuell sozusagen.

00:17:48.718 --> 00:17:54.858
Ja, so was mache ich auch. Also, ich habe letztens erst ein Ticket gemacht,

00:17:54.858 --> 00:18:01.218
da ging es halt auch darum, es gab eine Suche und die Suchergebnisse wurden dann angezeigt,

00:18:01.218 --> 00:18:05.858
aber der Screenreader hat halt noch nicht zurückgegeben, hier, so und so viele Ergebnisse hast du jetzt.

00:18:06.096 --> 00:18:08.311
Und das hab ich dann halt eingebaut.

00:18:08.707 --> 00:18:18.258
Ja, ja, super. Ja, genau, sowas meinte ich. Genau, das kannst du ja nicht nur mit HTML-Markup dann machen, ne? Genau.

00:18:18.528 --> 00:18:22.570
Da hört das dann quasi auf, so das, was man damit abdeckt.

00:18:23.830 --> 00:18:27.680
Ja, da gibt's dann Screenreader-only-Attribute, die man dann setzen kann,

00:18:27.680 --> 00:18:32.842
also das Diff, was das praktisch kommuniziert, ist quasi nur für das Screenreader sichtbar jetzt.

00:18:33.202 --> 00:18:33.508
Ja.

00:18:34.291 --> 00:18:39.981
Also, ich hatte da ein bisschen Bug drin gehabt, ich hab die Klasse falsch gesetzt gehabt,

00:18:41.214 --> 00:18:46.280
und ich hab den Bindestrich nämlich vergessen gehabt, und dann dachte, das wären zwei Klassen,

00:18:46.280 --> 00:18:50.531
und hat das angezeigt, und meine Kollegin hatte sich gewundert, warum das angezeigt wird,

00:18:51.044 --> 00:18:53.565
Obwohl es das eigentlich nicht sollte, bis wir das dann rausgekriegt haben.

00:18:53.997 --> 00:18:55.600
Dass ich da einfach den Bindestrich vergessen habe.

00:18:56.491 --> 00:18:59.600
Ja, ich meine für dich war das jetzt, da haben sich eure Rollen umgekehrt.

00:18:59.600 --> 00:19:06.600
Da hast du eben quasi das so gebaut, dass es für dich eben gut konsumierbar ist.

00:19:06.600 --> 00:19:13.600
Und ob du da jetzt irgendwie an der Optik was dann in Mitleidenschaft gezogen hast,

00:19:13.600 --> 00:19:19.600
das hast du dann, war jetzt, hat dich auch nicht betroffen.

00:19:19.915 --> 00:19:23.533
Also, genau. Aber du hast quasi eigentlich den Spieß mal umgedreht, so ein bisschen, ne?

00:19:24.623 --> 00:19:28.600
Ja, es war ziemlich witzig, weil wir es erst für einen Bug gehalten haben, dass es da angezeigt wurde.

00:19:28.600 --> 00:19:34.345
Naja, war's ja auch eigentlich, ne? Aber einer, der dich eigentlich ja nicht angeficht hat, letztlich.

00:19:34.600 --> 00:19:39.585
Also, wenn du die einzige Benutzerin gewesen wärst, dann hätt's niemanden gestört.

00:19:39.639 --> 00:19:43.591
Ja, genau. Das wäre nicht aufgefallen.

00:19:45.040 --> 00:19:57.688
Aber ist ja auch super, also weil das irgendwie so es zeigt ja, wie es dann eigentlich oft eben andersrum läuft, dass man gestaltet und tut und macht und dann die Semantik dabei komplett zerstört.

00:19:57.958 --> 00:20:03.099
So ja, das ist leider sehr häufig der Fall. Wir haben ja auch also auf dem.

00:20:03.990 --> 00:20:08.014
Account, also das ist der, also der, bei dem Kunden praktisch gibt es ja mehrere Projekte.

00:20:09.040 --> 00:20:12.990
Und teilweise werde ich auch angeschrieben von anderen Projekten und gefragt,

00:20:12.990 --> 00:20:16.089
ja, wie kann man denn das und das machen? Die wissen das dann einfach gar nicht.

00:20:17.124 --> 00:20:20.320
Weil die das vielleicht auch mit ihren Tools gar nicht hinkriegen.

00:20:20.554 --> 00:20:26.890
Weil sie da sowas wie JSF verwenden und das nicht wirklich barrierefrei ist

00:20:26.890 --> 00:20:29.390
und dann nicht so bauen können, wie sie es gerne hätten.

00:20:29.390 --> 00:20:32.905
Und dann fragen sie mich halt, ja, wie muss es denn konzeptionell sein?

00:20:34.129 --> 00:20:39.207
Und das finde ich auch gut, weil das sind ja Vorgaben, die beachtet werden müssen müssen.

00:20:39.891 --> 00:20:42.375
Gerade von öffentlichen Stellen.

00:20:43.456 --> 00:20:48.740
Und deswegen finde ich das echt gut, dass ich dann auch gefragt werde und nicht einfach was angenommen wird.

00:20:48.850 --> 00:20:50.072
Weil das wird ja auch viel gemacht.

00:20:50.531 --> 00:20:54.843
Ja, dann wird irgendwas gebaut, wo dann die Leute denken, ja, das ist bestimmt total gut für Blinde.

00:20:54.979 --> 00:21:03.230
Bestes Beispiel sind diese Accessibility-Overlays, die Accessibility vereinfacht praktisch dann darbieten sollen

00:21:03.230 --> 00:21:04.926
auf den Seiten mit AI.

00:21:05.230 --> 00:21:07.204
Und das funktioniert aber gar nicht. Das war schlimm besser.

00:21:07.492 --> 00:21:17.230
Ja, das ist so quasi so, wenn man das nicht schon in die DNA des Interfaces eingebaut hat, dann versprechen diese Overlays

00:21:17.230 --> 00:21:26.230
sozusagen per JavaScript, man droppt die einfach so in die Seite rein und dann rüsten die sozusagen alles nach und danach ist

00:21:26.230 --> 00:21:30.573
Das ist automagisch und dann ist die Seite super barrierefrei und so.

00:21:30.943 --> 00:21:32.464
Ja, genau.

00:21:33.103 --> 00:21:39.230
Habe ich mal ein wunderschönes Beispiel gelesen. Ja, Accessibility ist wie, wenn du einen Blaubeerkuchen versuchst zu backen

00:21:39.230 --> 00:21:41.230
und die Blaubeeren hinterher versuchst irgendwie reinzuspecken.

00:21:41.230 --> 00:21:46.841
Geht nicht. Ja, es sieht zwar interessant aus, aber ist nicht zielführend.

00:21:47.885 --> 00:21:48.245
Ja.

00:21:49.550 --> 00:21:53.730
Ja, das ist vielleicht ein ganz schönes Bild. Da kann man sich dann auch gut drunter vorstellen,

00:21:53.730 --> 00:21:58.730
was man, wie man das halt angehen sollte, nämlich von Anfang an die Blaubeeren mitdenken.

00:21:59.183 --> 00:22:01.154
Das wäre eigentlich das Beste für den Kuchen.

00:22:01.956 --> 00:22:11.730
Ja, das ist ja bei bei eigentlich allen Dingen so. Das ist ja bei Performance so, wenn man das irgendwie vergisst und dann nachträglich dran schraubt,

00:22:11.730 --> 00:22:19.050
wird's auch nie so gut wie wenn's per Design schon irgendwie mit von Anfang an eingeflossen ist.

00:22:20.716 --> 00:22:33.535
Und dann denke ich natürlich auch, dass viele Leute wahrscheinlich auch so ein bisschen, also die wissen nicht, dass sie sich nicht so gut an auskennen, also um das zu sagen, so

00:22:33.716 --> 00:22:44.824
Hey, ich habe gehört, ich muss hier, wenn ich die Aria-Regel setze oder dieses Roll, dann ist gut und da muss ich dann das machen, da muss ich den Fokus reinsetzen und dann,

00:22:45.527 --> 00:22:51.066
Dann glauben die ja auch, dass sie das, wie du schon gesagt hast, alles super nach Lehrbuch gemacht haben.

00:22:51.066 --> 00:22:57.689
Und dann kommt eben die Praktikerin an und sagt, ja, schwierig.

00:22:58.652 --> 00:23:06.187
Du hast den Türgriff leider jetzt erst dran, super. Aber du hast dann halt innen in die Tür gemacht, nicht außen. Ja.

00:23:07.177 --> 00:23:13.066
Letztlich ist das ja einfach so eine Sache von Wissenstransfer.

00:23:13.066 --> 00:23:16.686
Ich weiß nicht, ihr macht ja dann auch so, dass ihr so Pairing macht,

00:23:16.686 --> 00:23:21.833
dass du pairst mit anderen aus dem Team und ihr dann so auch euch austauscht über die Dinge?

00:23:22.769 --> 00:23:25.433
Ja, wir haben wöchentlich wechselnde Coding Partner im Projekt.

00:23:26.667 --> 00:23:33.486
Ja, ist doch super, oder? Das ist richtig cool, weil so kann man dann auch, wenn man jetzt selber Code geschrieben hat

00:23:33.486 --> 00:23:37.299
und das dann wieder eine Woche später wem anders erklären muss, weil das Ticket noch nicht fertig ist,

00:23:37.866 --> 00:23:41.986
versteht man es auch selber nochmal besser, ob man wirklich das, was man gemacht hat,

00:23:41.986 --> 00:23:46.706
verstanden hat oder einfach irgendwas gebaut hat und gar nicht genau weiß, ob es funktioniert oder

00:23:46.706 --> 00:23:51.226
wie es funktioniert. Ja, das ist, das haben wir alle schon gesagt, dass wir das echt gut finden.

00:23:52.791 --> 00:23:59.066
Ja, das ist auch super. Also ja, weil man dann irgendwie nach einer gewissen Zeit X sind halt,

00:23:59.066 --> 00:24:04.186
irgendwie hat sich so das Know-how von allen auch so ein bisschen ist so in die anderen mit

00:24:04.186 --> 00:24:10.283
reingewandert und umgekehrt. Macht euch dadurch ja irgendwie auch alle gegenseitig besser.

00:24:11.948 --> 00:24:17.586
Ja. Vielleicht wenn wir mal so sprechen, wir haben ja jetzt schon darüber gesprochen,

00:24:17.586 --> 00:24:21.666
dass man eigentlich bei einer Webseite immer, wenn man egal was man tut, Accessibility von

00:24:21.666 --> 00:24:30.506
Anfang an mitdenken sollte. Wie im Konkreten mache ich dieses Mitdenken? Also was sind so

00:24:30.506 --> 00:24:36.826
die quickest wins, die man haben kann sozusagen aus deiner Perspektive?

00:24:37.335 --> 00:24:44.426
Wenn man alles, was – also das ist jetzt total simpel, aber daran scheitert es total oft schon –

00:24:44.426 --> 00:24:52.906
wenn man alles, was interaktiv ist oder irgendwie fokussierbar sein muss,

00:24:52.906 --> 00:24:54.457
mit der Tastatur auch erreichen kann.

00:24:56.879 --> 00:25:04.152
Also wirklich diese Tastatur-Erreichbarkeit, ne? Ich sag mal jetzt für mich als Laie einfach mal mit Tab die ganze Zeit durch

00:25:04.567 --> 00:25:08.929
tabben durch die Seite und gucken, komm ich denn überall in der Navigation hin?

00:25:08.929 --> 00:25:13.137
Kann ich denn auch all meine Untermenüs, die ich da haben möchte, öffnen?

00:25:13.731 --> 00:25:18.736
Oder kann ich vielleicht auch eine Tab-Area, wenn es sowas gibt, irgendwie bedienen?

00:25:19.240 --> 00:25:22.529
Gibt's da spezielle Herausforderungen gerade?

00:25:22.529 --> 00:25:37.129
Oder ich stell mir vor, dass es spezielle Herausforderungen gibt bei so Single-Page-Applications oder so Apps auf der Webseite sozusagen, keine Ahnung, der Klassiker, ne, du hast ein Button und das ist halt ein Span und du kannst es nicht fokussieren.

00:25:37.524 --> 00:25:42.034
Gibt's da irgendwie so ein Grundrezept, was man tun kann oder wie macht man das?

00:25:42.196 --> 00:25:51.769
So blöd das klingt, wenn man kann, nicht irgendwelche Frameworks benutzen,

00:25:51.769 --> 00:25:54.129
die man nicht wirklich beeinflussen kann.

00:25:54.129 --> 00:26:02.369
Am besten fährt man, auch wenn das altmodisch klingt, immer noch mit HTML, CSS, JavaScript, Plain,

00:26:02.369 --> 00:26:04.558
weil das einfach vieles schon hat.

00:26:05.854 --> 00:26:11.668
Und wenn man so Sachen selber baut und da irgendwie alles Mögliche reinprimelt,

00:26:11.894 --> 00:26:20.150
dann vergisst man halt auch Sachen. Also, es gibt ja grad vieles schon vorgefertigt, was dann auch schon gut ist.

00:26:21.338 --> 00:26:26.668
Aber viele bauen die Sachen halt dann from scratch komplett neu und denken dann, ja, sie haben alles berücksichtigt,

00:26:26.668 --> 00:26:32.668
und dann kann man mit dem Date Picker vielleicht zwar Sachen auswählen,

00:26:32.668 --> 00:26:34.805
nichts eingeben, obwohl es das eigentlich tun sollte.

00:26:35.687 --> 00:26:52.188
Deine Erfahrung wäre schon auch, dass man viele fertige UIs als fertige Libraries nutzen kann und die auch tendenziell was taugen, weil man ja

00:26:52.188 --> 00:26:56.852
immer so ein bisschen so die Befürchtung hat, dass sie sind natürlich alle immer

00:26:57.188 --> 00:27:02.588
lightweight und super stylable und accessible.

00:27:02.588 --> 00:27:07.268
Und wenn man so die Webseiten liest, dann sind die natürlich immer alle toll und perfekt.

00:27:07.889 --> 00:27:13.348
Und irgendwie denkt einem dann, das kann ja irgendwie, das ist so gut, um wahr zu sein.

00:27:13.348 --> 00:27:19.468
Also irgendwie, wer weiß, ob das stimmt, aber ich selber kann es auch gar nicht so genau alles überprüfen.

00:27:20.969 --> 00:27:28.268
Aber du würdest sagen, es ist tendenziell schon so, dass dass die schon relativ gut sind, die Dinge, die man so bekommt?

00:27:28.268 --> 00:27:36.268
Ja, vieles eher nicht. Ich würde halt schon sagen, wenn man irgendwie kann, wirklich alles komplett

00:27:36.268 --> 00:27:39.937
selber nochmal durchtesten. Also wenn man alles mit der Tastatur

00:27:40.268 --> 00:27:44.268
erreichen kann, dann ist schon sehr viel gewonnen, auf jeden Fall.

00:27:44.268 --> 00:27:54.214
Hast du bestimmte Libraries, die du so empfehlen kannst, die da sehr gut drin sind?

00:27:55.420 --> 00:27:58.112
Ähm, das Zwar...

00:27:59.598 --> 00:28:04.054
Wüsste ich jetzt so ad hoc nicht, weil ich mich damit auch noch nicht so beschäftigt habe.

00:28:04.153 --> 00:28:09.878
Du meintest in der Vorbesprechung, dass ihr auch Bootstrip öfter zum Einsatz bringt.

00:28:10.634 --> 00:28:15.090
Ist das in Ordnung, zum Beispiel?

00:28:15.946 --> 00:28:21.968
Die haben ja auch wirklich tatsächlich einiges im CSS auch, mit dem man Accessibility auch gut machen kann.

00:28:22.697 --> 00:28:27.820
Und da würde ich schon sagen, das habe ich auch schon in der Ausbildung ein bisschen mehr angeguckt gehabt

00:28:27.946 --> 00:28:35.008
und hab da dann auch schon gefunden, wie man so Skip-Links macht und verschiedene Regions und sowas.

00:28:35.008 --> 00:28:40.036
Also, das hat für mich immer ein gutes Bild ergeben. Also, ja, doch, würde ich sagen.

00:28:41.125 --> 00:28:41.683
Okay.

00:28:43.097 --> 00:28:47.382
Was auch immer hilft, ist, wenn man sich wirklich mal nach Best Practices umschaut.

00:28:47.562 --> 00:28:51.019
Zum Beispiel letztens habe ich nach sortierbaren Tabelten gesucht,

00:28:51.703 --> 00:28:58.008
die möglichst barrierefrei zu kriegen, Und da gibt's dann von der WAI-Area,

00:28:58.008 --> 00:29:00.848
da gibt's dann tatsächlich auch so eine Best Practice

00:29:00.930 --> 00:29:07.187
auf GitHub und CodePen, wo man das dann findet.

00:29:07.385 --> 00:29:13.968
Und das ist schon ziemlich gut. Also, immer mal gucken. Und wenn man irgendwie da Zugriff drauf hat,

00:29:13.968 --> 00:29:18.682
auch Leute, die betroffen sind, auch ruhig mit einbeziehen.

00:29:18.836 --> 00:29:22.808
Also, ich werde auch manchmal gefragt von Leuten, die mich kennen,

00:29:22.808 --> 00:29:31.148
Kannst du für uns was auf Barrierefreiheit testen? Da muss ich dann sagen, nee, kann ich leider nicht, weil ich das halt schon für den Arbeitgeber mache.

00:29:31.646 --> 00:29:37.448
Da mache ich das privat nicht mehr, aber es gibt immer Leute, die das gerne, ja gerne helfen,

00:29:37.448 --> 00:29:42.908
wenn man dementsprechend danach sucht, also wenn man selber so nicht mehr weiterkommt.

00:29:43.538 --> 00:29:45.392
Und vielleicht auch gar nicht weiß, worauf man achten muss.

00:29:45.473 --> 00:29:52.108
Ja, so für den Anfang, was ich ziemlich gut finde, ist, was der Moritz Gießmann mal diese Accessibility,

00:29:52.108 --> 00:29:56.988
dieses Cheat Sheet, was er gemacht hat.

00:29:56.213 --> 00:30:03.811
Mit den zehn wichtigsten Punkten für Web Accessibility. Das finde ich richtig gut.

00:30:04.108 --> 00:30:12.063
Ich habe auch mit ihm schon Podcast-Folgen gehört, wo er dann auch gefragt wurde und er mit mir auch schon

00:30:12.063 --> 00:30:16.063
bei vielen übereinstimmt.

00:30:16.063 --> 00:30:19.925
Punkt eins, dann wirklich Tastaturbedienbarkeit testen.

00:30:20.063 --> 00:30:24.063
Und Punkt zwei, da sind wir uns auch eigentlich Screenreader testen.

00:30:24.063 --> 00:30:29.783
Also wirklich den eingebauten Screen wieder benutzen und versuchen, die Seite damit zu testen.

00:30:29.783 --> 00:30:37.063
Wird da alles vorgelesen? Und komme ich da überall hin? Ja, das ist erst mal ungewohnt, und man kriegt erst mal einen Rappel.

00:30:37.713 --> 00:30:41.053
Wenn man das nicht gewohnt ist, aber es hilft auf jeden Fall.

00:30:41.449 --> 00:30:52.063
Ja. Ja, klar, das ist das Beste, wenn man sich selber sozusagen einfach so in die Rolle mal begibt und schaut, wie funktioniert das?

00:30:52.063 --> 00:30:57.063
Wie kommt man selber damit klar? Ich denke, auch die größte Hürde ist natürlich,

00:30:57.063 --> 00:31:05.063
dass man am Anfang durch so ein Tal der Tränen geht, bis man mit dem Screenreadertooling dann so gut zurechtkommt.

00:31:05.063 --> 00:31:09.932
Was ja auch bei mir zum Beispiel ein Grund ist, warum ich auf Windows bleibe und nicht auf Mac wechsle.

00:31:10.063 --> 00:31:14.063
Nicht, weil ich Mac irgendwie doof finde, prinzipiell, aber weil das halt so...

00:31:14.063 --> 00:31:19.063
Da ist ich dann da auf dem Mac wieder so... Alles hab, was ich brauche.

00:31:19.063 --> 00:31:22.581
Dann muss ich mal gucken, wann ich das mache.

00:31:23.004 --> 00:31:30.763
Heute nicht. Ich habe vier Jahre lang Mac benutzt und bin wieder zurück zu Windows,

00:31:30.763 --> 00:31:34.763
auch wenn Apple sehr hoch gepriesen wird, was Barrierefreiheit angeht.

00:31:34.763 --> 00:31:38.763
Aber gerade, wenn es ums Programmieren geht, habe ich festgestellt,

00:31:38.763 --> 00:31:41.962
mit Xcode und Breitzeilenunterstützung...

00:31:42.674 --> 00:31:52.183
Mhh... Das ist, wie du klickst mit der Maus auf eine bestimmte Stelle und landest aber auf der anderen Seite des Bildschirms.

00:31:52.810 --> 00:31:59.183
So hat sich das verhalten. Und das ging gar nicht. Okay. Ja, da müssen wir auf jeden Fall gleich auch noch drüber sprechen,

00:31:59.183 --> 00:32:04.183
wie du Codes, wie du dich da durchbewegst.

00:32:04.183 --> 00:32:08.183
Aber generell kann man vielleicht sagen, dass Microsoft da schon,

00:32:08.183 --> 00:32:15.955
ich glaube, aber vor allem unter der neuen Chef, also so neu ist der ja gar nicht mehr, der hier Satya Nadella,

00:32:16.495 --> 00:32:22.626
Ich glaube, seit der am Ruder ist, haben die sehr viel Augenmerk auf so Barrierefreiheitsgeschichten gelegt, oder?

00:32:23.823 --> 00:32:28.473
Es wird auf jeden Fall immer besser, und ich hab schon auch festgestellt,

00:32:28.918 --> 00:32:35.742
dass sogar der Narrator, der hat jetzt neuestens Breitzeilensupport auch wieder gekriegt.

00:32:35.958 --> 00:32:39.273
Was ich richtig gut finde, weil das hatte der auch ganz lange nicht.

00:32:39.273 --> 00:32:44.726
Also ganz lange hab ich immer gesagt, ja, der Narrator, den kann man benutzen, wenn man NVIDIA runterladen will.

00:32:45.465 --> 00:32:54.193
Ja, okay, so quasi nur als Steigbügelhalter. Ja, also ich nutze ihn heute immer noch nicht, aber er ist deutlich besser geworden.

00:32:54.193 --> 00:32:58.353
Sollen wir noch kurz erzählen, was eine Breizeile ist?

00:32:59.202 --> 00:33:05.153
Genau, das ist eine Zeile, die mir alles, was mir vom Screen wieder ausgegeben wird,

00:33:05.153 --> 00:33:07.079
auch nochmal in Blindenschrift angezeigt.

00:33:08.123 --> 00:33:17.553
Also es ist im Prinzip wie so ein Stück Hardware, quasi so Pin, so ein Array oder so ein Gitternetz mit Pins.

00:33:17.553 --> 00:33:23.113
Und je nachdem, was eben da in blinden Schrift angezeigt werden muss,

00:33:23.328 --> 00:33:28.113
können die quasi interaktiv rauskommen oder eben wieder einfahren.

00:33:29.387 --> 00:33:31.124
Genau. Ja.

00:33:32.727 --> 00:33:42.613
Auch supercool. Wir haben ja jetzt grad so ein bisschen auch über das Thema Mac versus Windows gesprochen.

00:33:43.106 --> 00:33:45.613
Wir haben aber davor auch über die Webseiten gesprochen.

00:33:45.613 --> 00:33:59.213
Was mich mal interessieren würde, gibt es vielleicht auch heute noch einen Unterschied zwischen der Tatsache, wenn du eine Webseite auf einem Smartphone verwendest im Vergleich zu mit einer nativen Applikation.

00:33:59.463 --> 00:34:07.413
Also man versucht ja, also Google treibt es ja unheimlich voran, dass man sagt, okay, so viel wie möglich soll halt irgendwie im Web stattfinden, auch heute noch, ne.

00:34:07.655 --> 00:34:10.680
Wir haben diese ganzen APIs, die da möglich sind.

00:34:11.139 --> 00:34:15.478
Gibt's denn überhaupt noch Vorteile für Native Apps aus deiner Perspektive?

00:34:16.577 --> 00:34:25.213
Ja, also, der Umgang auf dem Smartphone mit Browser und eine Native App ist komplett anders.

00:34:25.213 --> 00:34:29.423
Also, wenn ich eine App hab, die auf dem Browser basiert, ich merk das sofort.

00:34:31.340 --> 00:34:37.057
Also, gerade am iPhone merk ich das sofort. Weil das halt einfach wirklich diese typische Browser-Geschichte immer noch ist.

00:34:37.228 --> 00:34:40.117
Also es fühlt sich dann auch wirklich an wie ein Browser.

00:34:41.450 --> 00:34:50.020
Also und woran machst du das fest also sind das irgendwie die ausgaben die du dann bekommst dadurch wo drüber du hast oder wie kommt das.

00:34:50.596 --> 00:34:59.121
Ja wenn ich dadurch gehe dass es dann irgendwie alles links sind obwohl es vielleicht schaltflächen sein sollten oder halt irgendwelche anderen elemente die.

00:34:59.814 --> 00:35:05.340
Wo man dann einfach draufdrücken könnte. Also, und man hat dann immer diese Webview,

00:35:05.340 --> 00:35:09.540
das lädt sich dann so wie bei einer Safari-Seite,

00:35:09.540 --> 00:35:15.580
tickert das dann hoch, bis es dann geladen ist, das hat dann so einen Ladebalken und sowas.

00:35:15.580 --> 00:35:20.510
Also, ich mache auch nicht viel am Smartphone, weil das ist mir meistens vormüllig.

00:35:21.456 --> 00:35:29.140
Und du würdest aber sagen, dass eine native App sich, also, du kannst die auf jeden Fall gut unterscheiden,

00:35:29.140 --> 00:35:34.608
Aber es ist auch so tatsächlich, dass eine native App sich auch für dich auch angenehmer bedienen lässt.

00:35:35.635 --> 00:35:45.640
Ja. Ja, ich denke mal, ich meine Apple und auch Microsoft, die haben ja auch so Interface Guidelines.

00:35:45.640 --> 00:35:54.107
Und da ist natürlich auch viel schon eingebacken in deren UI-Baukästen, sag ich mal.

00:35:54.269 --> 00:36:01.940
Genau, und ich glaube, da ranzukommen mit einer Web-Anwendung,

00:36:02.794 --> 00:36:05.864
da muss man schon, glaube ich, echt alle Register ziehen.

00:36:06.692 --> 00:36:13.740
Da muss man sehr viele Klimmzüge machen, das stimmt. Bei VS Code haben sie es ja hingekriegt.

00:36:14.020 --> 00:36:16.397
Das war ja auch lange nicht so.

00:36:17.351 --> 00:36:22.540
Aber ich könnte mir vorstellen, dass man da sehr viel... Also, ich kenne mich damit jetzt nicht aus, weil ich nie Web-Apps gebaut habe,

00:36:22.540 --> 00:36:26.420
Aber ich glaube schon, dass man da ziemlich viel Arbeit reinstecken muss,

00:36:26.420 --> 00:36:30.449
damit sich's wirklich verhält wie eine richtige Anwendung, auch vom Screen wieder her.

00:36:31.179 --> 00:36:32.313
Das glaube ich auch, ja.

00:36:33.717 --> 00:36:43.780
Und wenn wir noch mal so auf Webentwicklung und Webseiten und auch das Webseitenkonsumieren noch mal zurückkommen,

00:36:43.780 --> 00:36:49.960
also gibt's da denn Dinge, die vielleicht aus Barrierefreiheitsgründen gemacht werden,

00:36:50.641 --> 00:36:57.280
von eben so Leuten wie uns, wo du aber sagst, so, hey, hört doch einfach mal damit auf,

00:36:57.280 --> 00:37:03.480
das braucht kein Mensch. Oder gibt es auch vielleicht Seiten, die sozusagen überfrachtet

00:37:03.480 --> 00:37:06.840
sind mit Semantik, weil Leute es eben zu gut meinen.

00:37:07.971 --> 00:37:14.881
Ja, das seh ich ganz oft bei Newsartikeln. Dass die Leute der Meinung sind, man müsste eine Bildbeschreibung

00:37:15.010 --> 00:37:17.432
10.000-mal da hinschreiben.

00:37:17.909 --> 00:37:22.881
Anstatt dass es der Inhalt der Bildbeschreibung ist, steht dann zehnmal der Anfang vom Artikel da.

00:37:22.941 --> 00:37:24.781
Ich weiß nicht, was die da machen.

00:37:24.841 --> 00:37:28.241
Ja, das klingt tatsächlich eher nach ...

00:37:28.820 --> 00:37:33.621
Da hat jemand einfach programmiert, dass der Anreißertext des Artikels

00:37:33.621 --> 00:37:37.633
irgendwie da überall noch mal automatisch reingesetzt wird oder so.

00:37:38.542 --> 00:37:41.792
Wahrscheinlich macht der Redakteur oder die Redakteurin da überhaupt gar nix.

00:37:42.666 --> 00:37:47.716
Es hört sich so an, ja, also es ist leider, also gerade Heise, die sich ja immer brüsten,

00:37:48.454 --> 00:37:52.321
dass sie ja irgendwelche Workshops zum Thema Barrierefreiheit und sowas haben,

00:37:52.321 --> 00:37:53.657
die machen es aber selber nicht richtig.

00:37:53.801 --> 00:38:00.481
Wir haben ja so ein gewisses Spannungsverhältnis, oder ich, sagen wir mal, zu SEO,

00:38:01.066 --> 00:38:08.281
Weil ich eben oft erlebe, dass technische SEO gemacht wird, was der Barrierefreiheit zu widerläuft.

00:38:08.466 --> 00:38:16.841
Einfach so. Und das Ganze immer fußt auf irgendwelchen... Ja, ich möchte es jetzt...

00:38:16.841 --> 00:38:21.321
Ich sag jetzt einfach mal salopp so Verschwörungstheorien, das ist jetzt für Google total...

00:38:21.321 --> 00:38:26.601
Da ist es viel besser, wenn man diesen Text noch fünfmal überall reinklatscht.

00:38:26.750 --> 00:38:28.829
Weil dann ist es wirklich gut für Google.

00:38:29.441 --> 00:38:35.401
Das sind diese hartnäckigen Zeomythen, die sich halten wie Kaugummi unter einem Sitz oder sowas.

00:38:35.401 --> 00:38:38.272
Also, es ist wirklich schlimm.

00:38:38.849 --> 00:38:44.561
Ja, genau. Und das betrifft ja dann auch manchmal eben so Semantik in Form von so,

00:38:44.561 --> 00:38:49.641
ey, mach mal hier H1. Ja, Moment, aber das ist doch überhaupt gar nicht so,

00:38:49.641 --> 00:38:53.241
das ist doch gar keine Überschrift hier. Das ist doch einfach, ja, mach mal wegen Google.

00:38:53.504 --> 00:38:56.241
So. Hora!

00:38:55.917 --> 00:39:05.630
Ja, da werden dann ganze Absätze als Überschriften semantisch hervorgehoben und dann ist einfach bei jedem Teil ein Umbruch, sagt dann der Screen wieder, Überschrift Ebene 1.

00:39:05.792 --> 00:39:07.908
Und das ist einfach nur fürchterlich.

00:39:08.295 --> 00:39:16.361
Ja, dann hast du halt auch keine Gewichtung mehr, oder keine vernünftige Gewichtung, dann ist irgendwie alles wichtig.

00:39:16.767 --> 00:39:23.914
Was sagst du denn zu der Entscheidung der Safari-Menschen, die gesagt haben,

00:39:24.310 --> 00:39:33.267
wir kommunizieren sortierte und unsortierte Listen nicht mehr als Listen an die,

00:39:33.267 --> 00:39:36.337
zum Beispiel, Screenreader-Benutzerinnen,

00:39:36.767 --> 00:39:45.267
weil wir der Meinung sind, dass irgendwie alles sozusagen so nach den Diffs ist das zweitmeistgenutzte eben Listen für alles

00:39:45.267 --> 00:39:47.311
Und das ist einfach zu viel.

00:39:48.627 --> 00:39:58.276
Und darum sagen wir, wenn in CSS zum Beispiel das Ganze eben von Display List oder von List Style,

00:39:59.387 --> 00:40:03.200
wenn das quasi aufnommen gesetzt wird, dann kommunizieren wir das auch nicht mehr als Liste.

00:40:03.569 --> 00:40:11.387
Und da sind ja dann viele gewesen, die gesagt haben, so ey, das ist total doof von Apple, jetzt muss ich da irgendwie

00:40:11.387 --> 00:40:15.038
die entsprechende Role wieder draufsetzen, damit das wieder eine Liste ist.

00:40:15.387 --> 00:40:21.387
Also, ist das aus deiner Sicht gut? Also, sind das einfach zu viele Listen ansonsten?

00:40:24.387 --> 00:40:27.387
Also, ich weiß nicht, wie es ist, wenn man einfach eine Liste baut.

00:40:27.785 --> 00:40:33.547
Mit HTML und gar keine Styles extra noch mal draufsetzt, weiß ich nicht, wie es ist dann.

00:40:33.250 --> 00:41:02.100
Ja, dann würde das eine Default-Liste sein, also ich glaube, die anderen Browser, die sind ja auch, also, die sagen dann irgendwie 837 Listen auf dieser Seite und genau, und Safari sagt eben dann vielleicht nur, wenn es auch, wenn auch die Sehenden eine Liste sehen würden, dann nur noch, weil da das ursprüngliche Styling eben noch erhalten geblieben ist, und dann sagt Safari,

00:41:02.100 --> 00:41:09.900
Safari. Okay, da sage ich, dass es eine Liste ist, aber zum Beispiel in einem Menü, wo man ja auch

00:41:09.997 --> 00:41:16.620
eigentlich immer so zu einem Listen-Konstrukt greift, aber die Sachen dann eben vielleicht

00:41:16.620 --> 00:41:22.500
einfach nur inline sind und gar nicht mehr listenartig untereinander, weil so Menüs halt

00:41:22.500 --> 00:41:29.660
so oft eben in der Horizontalen sind, da announcen wir das eben nicht mehr als Liste, weil es eben

00:41:29.660 --> 00:41:32.660
auch eigentlich tatsächlich keine mehr ist und sonst.

00:41:32.660 --> 00:41:37.980
Also, wenn es ein Menü ist, dann ist es ja eigentlich auch keine Liste mehr.

00:41:37.980 --> 00:41:42.700
Also, wenn es dann sagt Menü mit so und so vielen Einträgen und je nachdem,

00:41:42.700 --> 00:41:46.340
auf welchem Eintrag ich bin, das dann sagt Eintrag zwei von sieben oder sowas,

00:41:46.438 --> 00:41:48.680
dann reicht das. Also, dann...

00:41:49.060 --> 00:41:54.340
Da zählen im Prinzip ja nur die Links in einem Nuff-Element, ne?

00:41:55.179 --> 00:42:05.415
Ja. Ja, genau. Also ich glaube, also ich war am Anfang, glaube ich, fand ich, fand ich das auch so ein bisschen übergriffig von den Safari-Menschen.

00:42:06.045 --> 00:42:10.186
Da dachte ich auch so, ist das denn gut, was die da machen? Das, hallo?

00:42:10.969 --> 00:42:15.821
Aber ich glaube, dass das schon gar nicht mal so schlecht ist.

00:42:15.992 --> 00:42:21.100
Und wie du sagst, es ist ja auch nicht nötig, das als Liste zu kommunizieren,

00:42:21.691 --> 00:42:29.469
wenn es anderweitig korrekt gekennzeichnet ist, eben mit Nav-Elementen oder sowas.

00:42:30.810 --> 00:42:36.121
Da fand ich es schlimmer, als Apple gesagt hat, wir kommunizieren jetzt default,

00:42:36.661 --> 00:42:39.731
wenn jemand ein Screenreader benutzt an die Seitenbeschreiber.

00:42:41.171 --> 00:42:46.780
Das hätte man wenigstens dem Nutzer sagen können, ey, du hast gerade VoiceOver eingeschaltet,

00:42:47.203 --> 00:42:50.260
der Browser kommuniziert das, willst du das?

00:42:50.390 --> 00:42:55.143
Ja, nein. So wie man das ja auch beim Einstellen, wenn man ein neues iPhone einrichtet, macht,

00:42:55.764 --> 00:42:58.920
dass dann Apple sagt, hier, wir kommunizieren an unsere Entwickler,

00:42:58.920 --> 00:43:00.022
willst du das? Ja, nein.

00:43:00.446 --> 00:43:10.160
So hätte man es machen müssen und nicht einfach still und heimlich, ja, wir machen das jetzt und ihr kriegt davon nur was mit, wenn ihr euch irgendwelche Newsartikel durchlest.

00:43:10.465 --> 00:43:14.093
Das hat ja auch einen Skandal ausgelöst, weil viele das ja gar nicht wollen.

00:43:14.345 --> 00:43:23.158
Ich dachte auch erst, oh, das ist ja eigentlich nicht schlecht, aber dann dachte ich halt auch, naja, wenn ich das dann doch nicht will, ist das ja blöd.

00:43:23.428 --> 00:43:29.160
Ja, kannst du es nicht auch abschalten. Aber ist das auch immer noch drin?

00:43:29.160 --> 00:43:34.760
Das weiß ich gerade gar nicht, ob es noch da ist. Das weiß ich nicht mehr.

00:43:34.760 --> 00:43:37.373
Nicht mehr weiterverfolgt.

00:43:36.995 --> 00:43:42.545
Ja, ich komme so ein bisschen auch auf dieses mit dem zu viel Semantik,

00:43:42.545 --> 00:43:49.760
weil bei einer der letzten Björn Tellerrands hat der Fassidis van Gemert.

00:43:50.372 --> 00:43:57.545
Das ist so ein, ja, ist das so ein, ja, eigentlich meistens so ein Designer,

00:43:57.545 --> 00:44:03.545
also für User Interfaces und Lehrer an einer Hochschule,

00:44:03.974 --> 00:44:15.685
Der hat auch eben herumexperimentiert mit Semantik und wie man eben auf der Audio-Ebene so ein Web-Interface kommunizieren kann

00:44:15.685 --> 00:44:20.269
und hat halt eben auch gesagt, so, also zum einen vielen,

00:44:20.755 --> 00:44:27.867
also viele sind vielleicht gar nicht so Hardcore-Skinreader-Spezialisten,

00:44:28.047 --> 00:44:32.885
also auch wenn die die benutzen, aber sie sind im Prinzip einfach so linehafte Benutzer

00:44:32.885 --> 00:44:36.509
Und die kennen auch gar nicht diese ganzen Tricks und so,

00:44:36.765 --> 00:44:38.965
die man anwenden kann, die ganzen Shortcuts.

00:44:38.965 --> 00:44:48.845
Und für die ist es halt dann manchmal ein bisschen zu viel, so, was ihnen an Optionen und Struktur mitgeteilt wird.

00:44:48.845 --> 00:44:55.765
Und dann das andere, was er auch hatte, was ich irgendwie ganz cool fand, so als Gedanken war.

00:44:58.245 --> 00:45:04.905
Dass sie eine Seite gebaut haben, die, wo sie versucht haben, so ein bisschen die Screenreader zu hacken,

00:45:04.905 --> 00:45:09.385
aber im positiven Sinne. Also, dass die Dinge,

00:45:11.145 --> 00:45:14.205
wie so ein bisschen spannender und irgendwie,

00:45:15.974 --> 00:45:19.985
witziger und dynamischer vorgelesen haben,

00:45:20.629 --> 00:45:25.665
im Sinne von, hey, warum dürfen, können Sehende irgendwelche Animationen haben,

00:45:25.665 --> 00:45:29.345
wo irgendwelche wichtigen Elemente dann sozusagen ins Bild fahren?

00:45:29.345 --> 00:45:35.447
Aber warum können wir solche Dynamiken nicht auch in die Screenreader einbringen?

00:45:37.067 --> 00:45:42.545
Das war ein ganzes... Weil die Screenreader sind ja so sehr...

00:45:42.545 --> 00:45:48.305
Die sind ja irgendwie dauerseriös. Die sagen ja, die sind ja wirklich so fleißige Helferchen.

00:45:48.305 --> 00:45:55.756
Aber die sind jetzt nicht, dass die mal einen Clown gefrühstückt haben oder so was in der Art.

00:45:55.891 --> 00:46:03.732
Ja, es gibt zwar einzelne Stimmen, die das können wollen, aber ich weiß gar nicht, wie gut die sind.

00:46:03.825 --> 00:46:08.545
Aber ja, das wollen die meisten ja auch, also...

00:46:09.817 --> 00:46:14.667
Also ich will nicht, dass mein Screen wieder anfängt zu lachen, wenn irgendwie ein guter Witz steht oder sowas.

00:46:14.667 --> 00:46:20.377
Ich weiß nicht, ob ich das... Ich fände es vielleicht mal ganz lustig, wenn ich eine Geschichte lese oder so.

00:46:20.917 --> 00:46:23.383
Aber im normalen Arbeiten will ich das, glaube ich, nicht haben.

00:46:23.897 --> 00:46:30.667
Aber man kann halt natürlich dann auf der Ebene vielleicht seine eigene Marke oder so

00:46:30.667 --> 00:46:38.287
weniger frei gestalten, also auf der Audio-Ebene,

00:46:38.287 --> 00:46:40.607
wie man das vielleicht optisch tun würde.

00:46:40.607 --> 00:46:47.375
Da geht es ja nicht nur um den Text, den man schreibt und irgendwie dessen Tonalität, sondern auch so,

00:46:47.780 --> 00:46:55.987
hey, welche Typografie nehmen wir denn jetzt, welche Schriftart, wie groß und klein ist die und welche Farben.

00:46:56.233 --> 00:47:04.487
Und das hat ja so ganz viele Ebenen. Und das war eben einfach so diese Frage,

00:47:04.487 --> 00:47:12.007
was wäre, wenn wir das eben im Screenreader-Bereich auch so ein bisschen mehr machen würden?

00:47:12.752 --> 00:47:19.527
Fand ich auf jeden Fall eine gute, spannende Überlegung. Wie sich das angehört hat?

00:47:19.527 --> 00:47:24.247
Oder haben Sie es gar nicht vorgeführt? Doch, suche ich dir auf jeden Fall raus.

00:47:24.581 --> 00:47:27.847
Kriegst du gleich noch den Link zu dem Vortrag.

00:47:28.443 --> 00:47:34.847
Genau. Das hört sich lustig an, ja. Und packen wir natürlich auch in die Schonungs.

00:47:35.168 --> 00:47:36.293
Wird hier direkt notiert.

00:47:36.847 --> 00:47:42.090
Vasilius van Imgemert. Genau.

00:47:43.369 --> 00:47:47.719
Genau, da gibt es auch ziemlich lange Zeit schon so ein CSS-Standard,

00:47:47.719 --> 00:47:49.301
CSS-Speech heißt der.

00:47:50.418 --> 00:48:00.719
Wo man so genannte Oral-Styles anwenden kann. Also wo man sozusagen, ich sag jetzt mal so,

00:48:00.914 --> 00:48:07.639
Stimmhöhe, Stimmgeschwindigkeit und so Pet-CSS auch gestalten kann.

00:48:08.188 --> 00:48:20.499
Okay. ähm, in der grauen Theorie, weil die Browsersteller am Ende gesagt haben, so ein, ja, wir haben, das können wir gern mal machen,

00:48:20.499 --> 00:48:25.299
aber jetzt gerade haben wir noch ein paar andere Sachen, die irgendwie, wir sind froh, wenn wir CSS überhaupt unterstützen,

00:48:25.299 --> 00:48:28.859
so ungefähr. Und, also, weil das auch wirklich so ein altes,

00:48:28.859 --> 00:48:32.395
alter Standard schon ist, oder ein alter, alter Working Draft.

00:48:32.539 --> 00:48:40.515
Und der wird interessanterweise jetzt gerade wiederbelebt von der Leonie Watson, weiß nicht, ob du die kennst.

00:48:41.073 --> 00:48:46.739
Die hängt sich da untereinander hinter. Grundsätzlich ist es auch total cool.

00:48:46.739 --> 00:48:52.739
Und die haben noch jetzt den Spin, ja, natürlich auch so ein bisschen als so, hey,

00:48:52.965 --> 00:48:55.739
das lohnt sich doch dann erst recht.

00:48:55.739 --> 00:49:01.509
Weil wenn wir so viel Sprachassistenten, und die wollen ja auch vielleicht,

00:49:01.739 --> 00:49:09.499
also so Echo und Google Assistant und so, Und vielleicht möchten wir die ja auch so ein bisschen gestalten,

00:49:09.499 --> 00:49:12.139
wie die Dinge dann vorlesen.

00:49:12.139 --> 00:49:14.949
Und dafür sollten wir das eben wiederbeleben.

00:49:15.111 --> 00:49:20.779
Da bin ich auch gespannt drauf, ob das gelingt.

00:49:21.719 --> 00:49:29.899
Und was dann damit gestaltet wird. Ja, stelle ich mir aber teilweise schwierig vor,

00:49:29.899 --> 00:49:32.939
je nachdem, was für eine TTS benutzt wird.

00:49:33.232 --> 00:49:37.373
Ich hab hier zum Beispiel eine, die man gar nicht groß in der Tonhöhe verstellen kann.

00:49:37.599 --> 00:49:47.780
Also quasi die, sozusagen die, in Anführungszeichen, der Charakter, der dann den Screen wieder macht.

00:49:47.939 --> 00:49:54.939
Genau. Und ich könnte die gar nicht Tonhöhen verstellen.

00:49:55.189 --> 00:50:01.439
Dann wird sie wahrscheinlich, wenn sie denn gepitcht wird, die nicht, ich hab das mal ausprobiert, da passiert einfach gar nichts.

00:50:01.439 --> 00:50:05.619
Das würde da gar nicht greifen, glaube ich. Das stelle ich mir schwierig vor.

00:50:05.730 --> 00:50:11.139
Weil so eine Eloquenz, die ist ja synthetisch hergestellt. Die ist ja nicht aus einer...

00:50:11.483 --> 00:50:12.266
Die ist ja nicht...

00:50:13.248 --> 00:50:19.756
Wie war das? Ach, du hast eine Stimme, die sozusagen basiert auf einer echten, aufgenommenen Stimme?

00:50:19.909 --> 00:50:21.467
Wahrscheinlich dann? Genau.

00:50:21.890 --> 00:50:25.527
Genau. Und dann gibt es die rein synthetischen. Ja, genau.

00:50:25.779 --> 00:50:29.779
Die Eloquenz und die eSpeak, das sind die rein synthetischen.

00:50:29.779 --> 00:50:34.059
Und dann gibt's halt die, die aus Samplen zusammengestellt worden sind.

00:50:34.059 --> 00:50:40.137
Das sind dann die Microsoft-Stimmen oder die Neuralen, die es jetzt gibt.

00:50:41.479 --> 00:50:48.636
Die, glaube ich, leider nur der Edge momentan nutzen kann. Ich fände es ziemlich gut, wenn man die auch systemintern nutzen könnte.

00:50:48.780 --> 00:50:51.831
Die sind dann aus Samples zusammengestellt.

00:50:52.074 --> 00:51:01.167
Da gibt es ja jetzt mittlerweile auch eine AI, die die eigene Stimme modulieren kann, wenn man sie mit Sprache füttert.

00:51:01.608 --> 00:51:07.329
Ja, da wo man irgendwie so 10 Sekunden Sprachbeispiel braucht,

00:51:07.329 --> 00:51:10.628
und dann kann die irgendwie den Rest sich daraus stricken oder so, ne?

00:51:11.627 --> 00:51:17.551
Ja, wobei mehr eigentlich besser ist. Also jemand, den ich kenne, weil ich glaube, in Deutschland gibt es die, glaube ich, noch nicht.

00:51:17.769 --> 00:51:19.669
Zumindest, ich weiß es nur von Amerika.

00:51:19.669 --> 00:51:25.869
Da hat er die auch irgendwie mit zehn Minuten gefüttert oder so und hat dann auch hinbekommen,

00:51:25.869 --> 00:51:28.629
dass die relativ natürlich auch klangen.

00:51:28.629 --> 00:51:36.669
Also so relativ wie er. Also ich finde das, ich träume ja schon so ein bisschen von einer Sprachausgabe mit meiner Stimme.

00:51:36.669 --> 00:51:39.624
Das wäre natürlich auch cool, ja.

00:51:40.641 --> 00:51:45.863
So eine Svenja-Sprachausgabe hätte ich eigentlich gerne. Ja, das ist eine coole Idee.

00:51:46.691 --> 00:51:50.669
Ja, mal gucken, wann das soweit ist. Ich meine, es wird natürlich auch gefahren.

00:51:50.904 --> 00:51:53.551
Naja. Also, es wird mit Sicherheit auch...

00:51:54.388 --> 00:51:59.669
Das ist ja immer so. ...genutzt werden. Aber... Ich glaube, dass irgendwer hatte doch seine Bank...

00:51:59.669 --> 00:52:07.189
Hatte die Stimm-Authentifizierung seiner eigenen... oder einer Bank damit überrumpelt,

00:52:07.669 --> 00:52:13.109
in dem quasi diese künstliche Stimme dann da ins Telefon gesprochen hat und dann der

00:52:13.109 --> 00:52:18.069
Bankcomputer gesagt hat, so jo, alles klar, du bist es und ja.

00:52:18.595 --> 00:52:23.869
Das ist das Interessante, dass mir dieser Gedanke erst gar nicht kam, weil viele ja

00:52:23.869 --> 00:52:27.012
direkt dann schon geschrieben haben, oh, gefährlich und hier und da.

00:52:27.084 --> 00:52:30.949
Und mein erster Gedanke war, oh geil, es wäre eine Sprachausgabe.

00:52:30.949 --> 00:52:36.389
Ja, aber ich glaube, das sind ja so diese Penetration-Tester-Menschen,

00:52:36.389 --> 00:52:40.189
die haben auch einfach so eine innere Anlage.

00:52:40.189 --> 00:52:48.589
Oder vielleicht auch so Tester generell, die sind ja einfach so wahnsinnig gut darin, sich zu überlegen,

00:52:48.589 --> 00:52:52.182
die 1.000 Varianten, wie sie irgendwas kaputt spielen können.

00:52:52.399 --> 00:52:55.225
Und denen fällt natürlich sowas sofort ein.

00:52:56.216 --> 00:53:01.789
Aber auch im Internet, wie einfach die Leute gleich, oh Gott, der Sprechermarkt stirbt aus,

00:53:01.914 --> 00:53:04.229
ist alles in Gefahr wegen der AI.

00:53:04.229 --> 00:53:09.229
Und ich nur so dachte, Leute, macht euch mal locker, noch ist das nicht so weit.

00:53:09.229 --> 00:53:15.580
Und ich glaube auch nicht, dass so eine AI-Stimme alle Emotionen und alles wirklich mitnehmen kann.

00:53:15.778 --> 00:53:26.669
Ja, da haben der Hans und die Vanessa und der Peter haben da ja auch kürzlich vor sieben Ausgaben eine Folge zu,

00:53:26.669 --> 00:53:28.840
Also jetzt in dem Fall zu Chat-GPT.

00:53:29.659 --> 00:53:36.105
Und Konsorten aufgenommen, aber da geht es im Grunde ja um die gleichen Fragestellungen.

00:53:37.167 --> 00:53:44.309
Ja, ein Stück weit geht es da auch um diese Fragestellungen, ja. Wir haben uns jetzt nicht mit der Stimme im Einzelnen behandelt,

00:53:44.309 --> 00:53:51.138
aber gerade wie halt auch unser Berufsbild davon betroffen ist. Ich habe das auch noch mal zusammengefasst auf meinem Blog.

00:53:51.625 --> 00:53:57.309
Da kann man auch noch mal reingucken, wenn man möchte. Da habe ich noch mal ein bisschen weiter drumherum geschrieben.

00:53:57.309 --> 00:54:00.509
Aber mal eine Sache, auf die ich gerne mal zurückkommen würde.

00:54:00.509 --> 00:54:06.309
Wir haben ja vorhin schon mal kurz angerissen, Svenja, wie du auch deinen Arbeitsalltag sozusagen angehst,

00:54:06.309 --> 00:54:08.900
mit welchen Tools, wie die Tools funktionieren.

00:54:08.999 --> 00:54:16.084
Und wir haben dann auch von so der Preilzeile gesprochen. Und bevor halt irgendwie die Sprachausgabe kommen kann,

00:54:16.696 --> 00:54:23.520
muss ja irgendwie auch erst mal etwas in den Computer rein, damit dann eine Webseite auch irgendwann mal erscheint.

00:54:23.889 --> 00:54:52.210
Vielleicht kannst du einmal noch mal so erklären, wie ist so ein Ablauf für dich, du hast jetzt ein Feature XY und das möchtest du jetzt programmieren, was musst du machen, um das einfach auch noch mal vielleicht so ein Stück weit zu vergleichen zu einem normalen oder normalen, Entschuldigung, das meine ich natürlich nicht so, sondern was ich damit meine, einfach was für jemanden, der visuell keine Einschränkung hat, für jemanden, der da sozusagen auf seinen Bildschirm gucken kann,

00:54:52.588 --> 00:54:55.496
wie sich das da verhält und was die Unterschiede dazu sind, ne?

00:54:56.171 --> 00:55:00.249
Ja, das funktioniert aber nicht viel anders eigentlich. Also, ich überlege mir auch, wie kann ich das denn umsetzen?

00:55:00.249 --> 00:55:01.275
Was brauche ich dafür?

00:55:02.094 --> 00:55:05.749
Ja. Wie wir das in der Ausbildung auch gelernt haben, dass wir halt wirklich gesagt bekommen haben,

00:55:05.749 --> 00:55:07.964
hier das und das wollt ihr programmieren, wie würdet ihr vorgehen?

00:55:09.269 --> 00:55:15.949
Und so mache ich das im Grunde auch, dass ich mir überlege, mit welchen Werkzeugen könnte ich das denn jetzt bauen?

00:55:16.921 --> 00:55:21.249
Reicht das, wenn ich da HTML-Text benutze, oder brauche ich JavaScript dafür,

00:55:21.249 --> 00:55:23.268
dass es so funktioniert, wie ich es gerne haben will.

00:55:24.213 --> 00:55:28.089
Oder finde ich vielleicht schon in irgendwelchen Best Practices was,

00:55:28.089 --> 00:55:30.271
was mir da hilft, wenn ich selber nicht weiterkomme.

00:55:30.938 --> 00:55:35.689
Oder ich frage halt auch gerne mal andere Kollegen, hier, hattet ihr sowas schon mal?

00:55:35.689 --> 00:55:38.337
Wisst ihr, wie man das macht, wenn ich da selber nicht weiterkomme?

00:55:39.058 --> 00:55:40.174
Oder baue ich das?

00:55:40.957 --> 00:55:48.129
In VS Code oder manchmal sogar noch im Notepad++, wenn ich einfach merke, ich will das erstmal nur für mich lokal bauen

00:55:48.129 --> 00:55:49.644
und noch nicht ins Projekt übernehmen.

00:55:50.049 --> 00:55:55.334
Erst mal gucken, wie es geht, und führ's dann aus bei mir und versuch's dann zu testen.

00:55:55.397 --> 00:55:58.656
Also, ich gehe jetzt nicht in die Konsole rein, weil...

00:55:59.916 --> 00:56:05.263
Erst wenn irgendwas nicht funktioniert, öffne ich vielleicht mal die Dev-Tools und gucke, ob ich irgendwas an der Konsole finde.

00:56:06.190 --> 00:56:09.269
Aber erst mal teste ich und gucke, ob's läuft.

00:56:10.052 --> 00:56:13.406
Ja, jetzt sagst du so einfach so, dann brauche ich das, klar.

00:56:13.406 --> 00:56:17.406
Aber das ist so dieser Teil, der würde mich total interessieren, ja.

00:56:17.488 --> 00:56:23.406
Also, zum Beispiel, was ich, ich habe mir jetzt hier GitHub Copilot irgendwie installiert, ne,

00:56:23.406 --> 00:56:29.946
und dann gibt mir das halt irgendwelche Vorschläge, wie ich Code ja beschreiben kann

00:56:30.082 --> 00:56:33.089
oder beziehungsweise über einen Tab eine Funktion erstellen kann.

00:56:33.503 --> 00:56:39.146
Oder mal einen Auto-Completion, nehmen wir einfach mal das. Funktioniert das für dich auch,

00:56:39.146 --> 00:56:41.911
oder ist das eher etwas, was du weniger nutzt?

00:56:42.965 --> 00:56:46.146
Es kommt drauf an. Wenn es jetzt ein Tag ist, den ich auswendig kann,

00:56:46.146 --> 00:56:49.302
dann tippe ich den einfach so runter, und dann irritiert mich das eher.

00:56:49.646 --> 00:56:59.086
Ich hab ein Dev-Stream tatsächlich auch noch auf YouTube. Da hört man das dann mal, wie ich dann irgendwie das Anführungszeichen,

00:56:59.086 --> 00:57:01.086
was da zu viel ist, nicht finde und so.

00:57:01.086 --> 00:57:06.587
Ist aber nicht gelistet. Das findet man so nicht. Das muss ich dann raussuchen.

00:57:06.926 --> 00:57:12.744
Und, aber mittlerweile hab ich mich dran gewöhnt. Und wenn ich jetzt aber nicht mehr weiß, wie genau der Tag war,

00:57:13.563 --> 00:57:18.626
dann hoffe ich, dass mir die Vorschläge was ausspucken. Und gehe dann mit, fall rauf, runter, kann ich dann durch die Liste gehen

00:57:18.626 --> 00:57:21.701
und mit Enter den Vorschlag bestätigen, den ich haben will.

00:57:22.502 --> 00:57:30.506
Und wie, du hast ja gesagt, im Code-Editor arbeitest du tendenziell eher mit Breizeile,

00:57:30.884 --> 00:57:35.502
als dass du dir das wahrscheinlich vom Screen wieder vorlesen lässt, korrekt?

00:57:36.465 --> 00:57:40.315
Ich kombiniere das. Ah ja, genau. Weil das wollte ich fragen, ob du das kombinierst vielleicht,

00:57:40.315 --> 00:57:44.315
dass du quasi den, ich nehme an, dass du wahrscheinlich das,

00:57:44.315 --> 00:57:50.315
quasi das Scannen des Codes mit der Breitzeile machst, aber vielleicht dann deine Vorschläge über die,

00:57:50.315 --> 00:57:51.508
den Screenreader dann kommen oder so?

00:57:53.101 --> 00:57:56.315
Ja, ich lese das aber erstmal so durch und wenn ich feststelle,

00:57:56.315 --> 00:57:59.997
okay, ich will jetzt eine Zeile genauer angucken, dann fühle ich auf der Zeile, was da steht,

00:58:00.888 --> 00:58:04.129
weil ich lasse mir auch nicht jede Zeichen ansagen. Man kann das ja einstellen.

00:58:04.315 --> 00:58:12.815
Ja, genau. Wie kannst du denn so ein HTML-Dokument, das ja jetzt auch nicht kurz ist, oder so, wie scannst du das dann so

00:58:12.815 --> 00:58:14.770
in verschiedenen Detailstufen durch?

00:58:16.615 --> 00:58:23.475
Ich gehe relativ schnell die Zeilen durch. Also, ich weiß ja ungefähr, wenn es nicht 10.000 Meter Text hat,

00:58:23.475 --> 00:58:25.077
weiß ich ja ungefähr, wie lang man so ein Head ist.

00:58:26.015 --> 00:58:29.597
Wann dann der Body kommt und so was, oder der Main, oder wie auch immer man es gestaltet hat.

00:58:30.515 --> 00:58:36.177
Und so gehe ich das dann durch. Ich meine, es dauert dann natürlich länger, wenn ich es noch nicht kenne.

00:58:36.330 --> 00:58:40.035
Oder ich lasse es mir in Grundzügen erst mal erklären von Kollegen,

00:58:40.035 --> 00:58:43.019
wie es aufgebaut ist, damit ich ungefähr weiß, was ich suchen muss.

00:58:43.424 --> 00:58:47.915
Und hast du da in VS Code dann auch so quasi, dass du sagen kannst,

00:58:47.915 --> 00:58:54.315
hey, überspringen jetzt mal den Head und ich will jetzt direkt zum Body,

00:58:54.315 --> 00:58:56.715
weil der Head interessiert mich jetzt gerade nicht die Bohne.

00:58:56.715 --> 00:58:58.674
Ich muss jetzt irgendwie im Body was bauen.

00:58:59.241 --> 00:59:14.140
So könnte ich ja, kann, könnte ich also gehe ich dann mit der Suchfunktion und gucke dann, ob das, ob die irgendwo auftauchen, wenn nicht, dann gehe ich halt doch händisch runter.

00:59:14.356 --> 00:59:20.595
Okay, aber du hast halt nichts, du hast nicht so Äquivalente zu irgendwelchen Landmarks,

00:59:20.595 --> 00:59:23.439
also wie in HTML Dokumenten.

00:59:23.595 --> 00:59:27.595
Wüsste ich zumindest nicht, vielleicht gibt es das und ich weiß es nur nicht,

00:59:27.595 --> 00:59:31.325
aber ich selber kenne es jetzt nicht, nee. Okay. Alles klar.

00:59:32.378 --> 00:59:40.228
Und dann der Projektbaum, der ist ja wahrscheinlich einfach so ein quasi, ja, ein Baum.

00:59:40.228 --> 00:59:43.228
Und da kannst du ja relativ schnell dir wahrscheinlich einen Überblick verschaffen,

00:59:43.228 --> 00:59:46.215
weil das ja wieder so Listenartig ist.

00:59:46.260 --> 00:59:50.228
Und wenn man jetzt irgendwie nicht alles auf der ersten Ebene liegen hat,

00:59:50.228 --> 00:59:56.667
dann ist das ja auch relativ gut, sich da durchzuarbeiten, ne?

00:59:57.423 --> 01:00:00.928
Ja, man kann das ... Also, viele sind ja auch gleich aufgebaut.

01:00:00.968 --> 01:00:04.580
Also, einen Source-Ordner findest du eigentlich überall.

01:00:05.336 --> 01:00:10.508
SRC. Ja, vor allem bei euch ist wahrscheinlich, dadurch, dass ihr ja quasi das ...

01:00:10.548 --> 01:00:13.848
Also, sozusagen das gleiche Team, natürlich nicht immer gleich,

01:00:13.888 --> 01:00:18.228
aber so bei Accenture seid, und ihr habt wahrscheinlich so hausinterne Standards,

01:00:19.091 --> 01:00:21.774
dann weißt du auch immer schon, was dich so in etwa erwartet, ne?

01:00:22.746 --> 01:00:30.848
Wenn wir die Sachen from scratch aufgebaut haben, ja. Ja, wenn wir jetzt natürlich was haben, was wir weiterentwickeln sollen oder so, je nachdem, bei welchen Kunden man landet auf dem Projekt,

01:00:30.928 --> 01:00:39.706
kann es natürlich sein, dass man was bekommt, wo man sich erstmal reinarbeiten muss. Aber das muss dann ja jeder. Das ist dann ja nicht einfach nur meins.

01:00:39.967 --> 01:00:49.928
Ja. Und arbeitest du lieber mit dem, was im Prinzip grafische Interfaces sind?

01:00:49.928 --> 01:00:55.628
Sind. Also auch wenn du jetzt dich, dich das jetzt nicht interessiert, wie es optisch aussieht,

01:00:55.628 --> 01:01:04.328
aber so diese, die Herangehensweise, magst du sowas lieber oder bist du, findest du Command-Line

01:01:04.328 --> 01:01:12.208
besser oder beides? Je nach Anwendungsfall tatsächlich. Also ich habe auch schon mal,

01:01:12.208 --> 01:01:16.568
als ich das erste Mal ein SSH-Key eingerichtet habe, habe ich auch tatsächlich das Git,

01:01:17.138 --> 01:01:22.568
Github Desktop benutzt, weil ich da irgendwie mit der Kommandozeile war ich eher so, oh Gott, nee, lass mal,

01:01:22.568 --> 01:01:27.568
ich mach das kaputt. Aber letztes Mal habe ich das dann doch mit der Commandline gemacht und dann festgestellt

01:01:27.568 --> 01:01:33.568
kommen, das war jetzt doch nicht so schwer. Also je nachdem, manchmal mache ich es mir dann einfach und nutze

01:01:33.568 --> 01:01:39.400
dann eine GUI, aber was ich mit Git mache, mache ich meistens dann doch über die Kommandozeile.

01:01:39.931 --> 01:01:41.354
Okay. Ja.

01:01:43.280 --> 01:01:56.081
Ja, im Prinzip genau so ist es bei uns auch. Also ja, ich nutze auch tatsächlich Git eigentlich immer nur über GUI. Okay.

01:01:56.874 --> 01:02:05.354
Genau, und der Hans, der GUIs, ey, der braucht die schon. Der macht alles per Kommandozelle.

01:02:05.759 --> 01:02:14.850
Ja, also, das ist ja tatsächlich bei mir nicht so on a daily basis, sage ich mal, dass ich jetzt von morgens bis abends ständig Nicht mehr, ne?

01:02:15.310 --> 01:02:27.150
Ja, irgendwelche Git-Commands, genau, das ist nicht mehr der Fall. Aber trotzdem, also, ich bin natürlich auch mal hier und da an meinem Blog irgendwas am Machen oder links und rechts mal was am Ausprobieren oder so,

01:02:27.707 --> 01:02:31.226
Und da verwende ich dann Git über die Command Line tatsächlich.

01:02:31.695 --> 01:02:36.565
Allerdings bin ich sehr viel in der Command Line unterwegs und generell so jemand, der.

01:02:37.270 --> 01:02:44.590
Gerne auch an der Tastatur hängt, weshalb ich es schon auch mag, wenn man eine Webseite

01:02:44.590 --> 01:02:47.520
irgendwie ein bisschen mit einer Tastatur navigieren kann.

01:02:48.030 --> 01:02:54.470
Allerdings interagiere ich dann häufig bei so Elementen, die jetzt, sagen wir mal, eher

01:02:54.470 --> 01:03:04.310
eine schwierigere Navigationsstruktur oder ähnliches sind, dann halt nicht mit der Tastatur,

01:03:04.310 --> 01:03:06.983
weil es halt irgendwie more convenient für mich ist.

01:03:07.070 --> 01:03:13.550
Aber grundsätzlich verstehe ich also auch für Leute, die jetzt halt einfach so ihre

01:03:13.550 --> 01:03:20.470
Tastatur als Navigationswachstzeug benutzen wollen. Den Nita auf jeden Fall.

01:03:19.550 --> 01:03:27.400
Und bei den Tools ist das natürlich noch mehr der Fall, wenn man jetzt jeden Tag irgendwie in der Command Line unterwegs ist,

01:03:27.400 --> 01:03:30.146
nur, und die funktioniert nicht richtig.

01:03:30.524 --> 01:03:34.400
Dann ist das natürlich sehr, sehr schwierig.

01:03:35.250 --> 01:03:42.400
Ja, im Endeffekt kann man sagen, ja, gibt's da eigentlich ja keinen großen Unterschied zu

01:03:42.400 --> 01:03:47.400
wie wir uns da irgendwie durchhangeln, durch den ganzen Krempel da.

01:03:47.400 --> 01:03:52.292
Ja, was ich nur nicht kann, ist mehrere Sachen gleichzeitig offen haben.

01:03:53.075 --> 01:03:56.001
Da komme ich durcheinander. Wie meinst du das?

01:03:56.400 --> 01:04:00.400
Mehrere Codedateien offen haben und dann irgendwie alles überblicken können

01:04:00.400 --> 01:04:03.400
auf irgendwie fünf Dateien, die man gerade offen hat.

01:04:03.400 --> 01:04:09.400
Und da den Code, also das machen Kollegen ganz oft, dass die eine alte und eine neue Version sich nebeneinander legen

01:04:09.819 --> 01:04:14.717
und sich dann die Unterschiede angucken. Das kann ich zum Beispiel nicht, da brauche ich viel länger für.

01:04:15.707 --> 01:04:24.520
Ja, ja gut, aber macht ja auch Sinn, ja, aber und wie ist das mit äh, genau, also da die haben natürlich einen ganz

01:04:24.520 --> 01:04:34.280
äh starken quasi Bezug zueinander, so Zeilen für Zeilen, wie ist das aber mit so Dingen wie ähm, wenn du in HTML was

01:04:34.280 --> 01:04:43.240
äh codest und dann, ja, vielleicht irgendwie ein JavaScript, das dazu passt, also das irgendwie dann äh, damit noch irgendwie

01:04:43.240 --> 01:04:48.295
Dinge anstellt. Wäre das in Ordnung?

01:04:49.321 --> 01:04:56.440
Das geht noch, ja. Ja, weil das ja nicht so stark miteinander verschränkt ist.

01:04:56.613 --> 01:05:02.840
Also, was optisch ja nicht so wild ist, weil man das ja quasi so einfach nebeneinander legt.

01:05:02.840 --> 01:05:13.440
Aber du würdest ja jedes Mal quasi Kontext switchen und kannst es dann ja nicht irgendwie beides im gleichen Kontext haben.

01:05:14.941 --> 01:05:15.239
Ja.

01:05:17.903 --> 01:05:26.546
Und das wäre jetzt irgendwie was, wo dann die sehenden Kollegen ein bisschen die Nase vorn haben.

01:05:27.068 --> 01:05:31.479
Und wo läufst du denen den Rang ab? In welchen Bereichen?

01:05:32.271 --> 01:05:41.705
Das kann ich gar nicht. Also, weiß ich nicht. Ich glaube, so etwas gibt es gar nicht.

01:05:42.120 --> 01:05:45.756
Also, man hat mal zu mir gesagt, boah, du schreibst so schnell.

01:05:45.972 --> 01:05:48.808
Weil ziemlich viele im Zweifingersuchsystem unterwegs sind.

01:05:49.267 --> 01:05:55.083
Mhm. Du hast hier Zehn-Finger-Technik drauf. Ja.

01:05:55.848 --> 01:06:00.870
Ja, ich denk mal auch so, also, der, ich glaub, der Marco C.

01:06:00.930 --> 01:06:07.650
War das mal, der uns auch demonstriert hatte, wie er jetzt zum Beispiel so einen Screenreader tatsächlich benutzt.

01:06:07.767 --> 01:06:15.310
Und genau, wenn er dann eben uns was erzählt hat, dann hat er den halt schön langsam eingestellt,

01:06:15.310 --> 01:06:18.921
was für uns aber immer noch irgendwie doch recht flott war.

01:06:19.740 --> 01:06:26.310
Ja. Genau, ich glaube, das sind ja schon unfassbare Geschwindigkeiten.

01:06:26.310 --> 01:06:29.810
Und ich nehme an, bei der Breitezeit wird das wahrscheinlich auch ähnlich sein.

01:06:29.810 --> 01:06:36.763
Also, was du da sozusagen in kurzer Zeit dir da reinziehen kannst.

01:06:38.888 --> 01:06:47.590
Ja, nee, das wird tatsächlich überschätzt. Ich kenne tatsächlich Leute, die auch wirklich schnell beilesen können, aber ich gehöre nicht dazu.

01:06:50.006 --> 01:07:01.256
Und nutzt du denn die breie Zeile abseits des Codens auch? Ja, ich bin sehr perfektionistisch, wenn es ums Schreiben geht.

01:07:01.256 --> 01:07:05.300
Also auch wenn es nur Tweets sind, wenn ich da nur einen Rechtschreibfehler finde, ich lösch den.

01:07:05.499 --> 01:07:05.877
Mhm.

01:07:07.452 --> 01:07:12.676
Und da ist die Zeile auch mein bester Freund, weil da kann ich halt einfach immer relativ schnell,

01:07:12.676 --> 01:07:17.247
wenn mir irgendwas komisch vorkommt, ah, okay, Tippfehler drin, ich lösch den.

01:07:17.534 --> 01:07:28.670
Ja, also ich bin der König der Tippfehler. Und dieser Fehler, die entstehen, wenn man nochmal kürzt und einen Satz umbaut und so.

01:07:28.841 --> 01:07:34.576
Das merke ich aber immer nur sofort, in dem Moment, wo ich so ein Tweet abschicke.

01:07:34.576 --> 01:07:39.941
Also in dem Moment, wo der quasi abgeschickt erscheint, da merke ich das sofort, aber nicht vorher.

01:07:40.913 --> 01:07:52.476
Genau. Ja, was ich ganz oft habe, bei so Eigennamen, Dann lese ich dann nicht noch mal nach, wie die geschrieben werden und schreibe die einfach so, wie ich meine.

01:07:52.544 --> 01:07:56.676
Und dann kommen da so komische Sachen bei raus, wo ich mir dann immer denke, oh Gott.

01:07:57.406 --> 01:08:04.276
Svenja, was hast du da geschrieben? Ja, ja. Aber das passiert uns alle.

01:08:04.276 --> 01:08:07.659
Ich dann nur so dachte, oh, feier. Ja, also.

01:08:12.430 --> 01:08:24.367
Um noch mal auf die Webentwicklung zurückzukommen. Ähm, gibt es bestimmtes Tooling, was du noch gerne hättest?

01:08:24.430 --> 01:08:29.876
Was, äh, wo du irgendwie dich noch unterversorgt fühlst mit?

01:08:29.876 --> 01:08:35.876
Also du hast ja gesagt, so Code Editor ist super, Git machst du auf der Kommandozeile,

01:08:35.876 --> 01:08:38.876
also da bist du irgendwie mit eingedeckt.

01:08:39.725 --> 01:08:49.222
Und vielleicht noch daran anschließend gibt's irgendwelche, Also, gibt's irgendwelche Webstandards, von denen du dir wünschen würdest, dass es sie gibt?

01:08:51.212 --> 01:08:56.676
Ich würde mir allgemein wünschen, dass diese ganzen Frameworks standardisiert werden würden,

01:08:56.676 --> 01:09:03.455
dass man einfach sagt, was kein semantisch korrektes HTML auswirft, darf nicht mehr sein.

01:09:03.608 --> 01:09:09.876
Da bin ich richtig fanatisch. Also, das hätte ich eigentlich gern.

01:09:09.876 --> 01:09:19.036
Ja, das ist halt echt schwierig, weil das ja wie mit diesen Accessibility-Checkern,

01:09:19.036 --> 01:09:26.716
den automatischen, man kann ja den größten Mumpitz theoretisch verzapfen, der aber sozusagen validiert.

01:09:28.373 --> 01:09:36.223
Weil man ja immer wissen muss, was so quasi der Grundgedanke hinter etwas ist.

01:09:36.223 --> 01:09:43.092
Ja, aber es gibt schon bestimmte Dinge, die man zum Beispiel, wie ich es immer lieber vorhin nenne, DIV-Salat. Mhm.

01:09:44.137 --> 01:09:48.723
Wo man 10.000 gefühlt ineinander verschachtelte DIVs hat, bevor dann der Inhalt kommt.

01:09:48.723 --> 01:09:50.024
So was zum Beispiel. Okay, ja.

01:09:50.870 --> 01:09:58.261
Ja, da ist... Ich finde halt diese Ausreißer, die gerne passieren oder irgendwie Spam in Diff und in was weiß ich.

01:09:58.693 --> 01:10:06.243
Also wenn es sowas schon nicht mehr gäbe, dann wäre ich schon sehr froh, oder dass halt auch gesagt wird,

01:10:06.243 --> 01:10:14.603
hier Captcha, wenn du das irgendwie benutzt mit einem Bild und du hast keine Alternative,

01:10:14.603 --> 01:10:15.761
dann darfst du es nicht verwenden.

01:10:15.923 --> 01:10:23.323
Ja, okay, ja, Captchas sind natürlich, sind eh die Hölle auf sehr vielen Ebenen.

01:10:23.323 --> 01:10:29.723
Also, genau, also entweder das, wenn du keine Audioalternative hast,

01:10:29.723 --> 01:10:36.043
oder natürlich auch, weil die ja auch irgendwie sehr, die setzen ja kulturelles Wissen voraus, ne?

01:10:36.043 --> 01:10:44.172
Also wenn du irgendwie wissen musst, dass, also wie jetzt Schulbusse in Amerika aussehen,

01:10:44.343 --> 01:10:50.043
Weil du nur weiterkommst, wenn du die eben ankreuzt auf dem Bild, aber du kennst die nicht.

01:10:50.474 --> 01:10:57.883
Bist ja auch gekniffen. Allein schon, das ist mir nie aufgefallen, aber allein schon diese Rechenaufgaben.

01:10:58.045 --> 01:11:01.277
Jemand mit Dyskalkulie ist da am allerwertesten.

01:11:01.349 --> 01:11:02.564
Ja. Ja.

01:11:03.807 --> 01:11:09.163
Und was mir dann auch aufgefallen ist, das ist mir bei Paperless passiert,

01:11:09.955 --> 01:11:14.834
da hatten die dann Audio Captures, und dann ist mir erst mal aufgefallen,

01:11:14.898 --> 01:11:17.121
jemand, der taubblind ist, der ist komplett weg.

01:11:18.084 --> 01:11:22.237
Gibt's ja auch. Und die können dann gar keinen Capture lösen,

01:11:22.237 --> 01:11:24.557
kein Audio Capture und kein visuelles.

01:11:25.349 --> 01:11:34.117
Weil das Audio, das bestand dann darin, zu sagen, ja, schreiben Sie die Nummer des Geräusches auf,

01:11:34.117 --> 01:11:36.782
wo eine Menschenmenge zu hören ist oder ein Tier.

01:11:37.250 --> 01:11:44.893
Also da habe ich auch gedacht, nette Idee, aber auch wieder nicht barrierefrei.

01:11:45.190 --> 01:11:58.337
Ja, das ist natürlich auch immer dieses Problem, Klar sollte man vorher auch gucken,

01:11:58.337 --> 01:12:01.970
dass man irgendwie User-Tests gemacht hat.

01:12:02.087 --> 01:12:08.077
Aber ich glaube, was natürlich ein Riesengewinn ist, so wie das ja bei euch ist,

01:12:08.077 --> 01:12:13.437
ist, wenn man jemanden im Team hat, der diese Perspektive einbringt direkt.

01:12:13.437 --> 01:12:15.157
Weil man das dann sozusagen...

01:12:15.339 --> 01:12:24.757
Man sagt ja quasi, je später in dieser ganzen Pipeline Wenn man einen Bug fixt, desto teurer wird's.

01:12:24.757 --> 01:12:26.619
Und so ist das ja in dem Fall auch.

01:12:26.757 --> 01:12:30.197
Wenn man das direkt am Anfang schon beim Konzept sagen kann,

01:12:30.197 --> 01:12:36.431
so, ja, ihr habt aber, ihr müsst noch daran denken. So, ah, cool, ja, stimmt.

01:12:37.160 --> 01:12:40.545
Dann hat man halt viel weniger Stress hinterher.

01:12:42.003 --> 01:12:42.400
Ja.

01:12:44.110 --> 01:12:49.460
Also, das krieg ich halt auch immer wieder mit. Da werden dann irgendwelche tollen Sachen vorgestellt.

01:12:49.799 --> 01:12:57.960
Zum Beispiel letztes Jahr irgend so ein großes VR-Portal, wo ich dann auch gefragt hab, hier, Leute,

01:12:58.900 --> 01:13:03.600
das ist ja jetzt schön und gut, aber könnte ich das denn benutzen,

01:13:03.660 --> 01:13:05.562
wenn ich ein Screen wiederverwende?

01:13:05.660 --> 01:13:08.272
Und derjenige dann erst mal so stille.

01:13:08.659 --> 01:13:14.475
Und ich dann nur dachte, ja, so toll ist euer Portal. Mhm. Ja.

01:13:15.267 --> 01:13:21.560
Tralali, Tralalo, anderes Thema. Ja. Tschüss. Ich bin da immer der Partycrasher.

01:13:21.560 --> 01:13:27.560
Oder auch, wurde irgendeine Präsentation, da gab es ein total tolles Video, alle haben das abgefeiert.

01:13:27.560 --> 01:13:30.534
Es war aber nicht barrierefrei, weil man nur Musik gehört hat.

01:13:31.822 --> 01:13:36.560
Ja. Da habe ich dann auch gesagt, ja, ist super. Ich habe nichts davon gehabt.

01:13:36.560 --> 01:13:42.560
Mhm. Ja. Das nimmt mir zum Glück keiner übel, Aber ich fühl mich dann immer wie so ein Party-Crasher.

01:13:42.560 --> 01:13:48.060
Ich komm dann da rein und nehm euch auseinander. Ja, genau.

01:13:48.060 --> 01:13:53.560
Die nehmen ja schon was mit. Und dann gibt's eben die Leute, die sagen so,

01:13:53.560 --> 01:14:02.376
ja, okay, ja, das war irgendwie nicht so clever von uns. Und dann gibt's eben die anderen, die sagen so, äh, ja, pfff.

01:14:02.560 --> 01:14:08.060
Und in denen das dann halt einfach ein bisschen arbeitet. Und die dann vielleicht trotzdem auch irgendwann dann so,

01:14:08.060 --> 01:14:11.729
Okay, ja, ich muss das ja auch mal, sollte ich mal ein bisschen mehr drauf achten, so.

01:14:12.179 --> 01:14:16.878
Ja, oder die, die einfach sagen, ja pö, dann für die paar Leute machen wir es nicht.

01:14:17.112 --> 01:14:19.678
Ja, die sind nicht unsere Zielgruppe.

01:14:20.060 --> 01:14:26.060
Ja, genau. Und wenn man sich das aber mal angucken würde, wie viel tatsächlich in dieser Zielgruppe steckt,

01:14:26.060 --> 01:14:30.993
würde man doch sehen, dass da doch ganz schön viel verloren geht, weil es ja auch immer mehr wird.

01:14:31.210 --> 01:14:32.893
Ja. Ja, genau.

01:14:34.226 --> 01:14:42.076
Ja, das ist ja auch so ein, da gab es ja so ein Microsoft, ich glaube 2000, also vor 10 Jahren, glaube ich, oder so, kam das raus,

01:14:42.076 --> 01:14:50.076
die haben im Prinzip so ein ganzes Handbuch zu Accessibility und dazu rausgebracht

01:14:50.076 --> 01:14:58.076
und der Anteil der von irgendeiner Barriere betroffenen oder von einem

01:14:58.076 --> 01:15:02.076
Handicap betroffenen Menschen ist ja schon ziemlich hoch und dann gibt es ja noch zusätzlich

01:15:02.076 --> 01:15:07.076
Also zu den Leuten, die permanent gehandicapt sind,

01:15:07.116 --> 01:15:11.536
gibt's ja auch immer ganz viele Leute, die sozusagen vorübergehend gehandicapt sind.

01:15:11.576 --> 01:15:16.779
Sei es, weil sie eine Verletzung haben oder situativ gerade gehandicapt sind oder so.

01:15:17.329 --> 01:15:21.076
Jetzt hast du schon dreimal dieses Wort verwendet. Ich find das ja furchtbar.

01:15:21.116 --> 01:15:24.576
Ja, was wäre ein gutes Wort? Lass mal überlegen.

01:15:25.098 --> 01:15:31.076
Ja, einfach ... ja, schiefen und greifen behindert. Also das ist kein schlimmes Wort oder so.

01:15:31.076 --> 01:15:38.856
Okay, ja. Genau, aber auf jeden Fall eben, ja, oder eingeschränkt. Also auf jeden Fall irgendwie...

01:15:38.856 --> 01:15:42.376
Irgendwas halt haben, ja.

01:15:42.940 --> 01:15:50.276
Genau. Und ja, da steht ja auch im Raum, da haben wir mit dem Eric Eggert auch mal gesprochen,

01:15:50.276 --> 01:16:00.136
ich weiß nicht, vielleicht vor so 20 Wochen oder so, dass ja, glaube ich, 2025 ansteht,

01:16:00.136 --> 01:16:07.336
dass die EU so ein Gesetz erlässt oder eine Leitlinie oder sowas,

01:16:07.336 --> 01:16:16.896
dass eben deutlich mehr Produkte eben zugänglich sein müssen und dass man das dann eben auch

01:16:16.896 --> 01:16:23.256
einklagen kann. Ich bin mal gespannt. Ja, also es ist so ein bisschen so ein

01:16:23.256 --> 01:16:28.216
Hoffnungsträger, dass da vielleicht dann noch mal ein Schub kommt, was das angeht.

01:16:28.807 --> 01:16:29.158
Ja.

01:16:30.553 --> 01:16:33.543
Es ist ja auch schon, ich meine, ich bin da ja auch nicht unfehlbar.

01:16:33.543 --> 01:16:35.846
Ich vergesse ja so Sachen auch. Ich habe zum Beispiel,

01:16:36.810 --> 01:16:40.543
vor anderthalb Jahren wollte jemand, dass ich eine Software für ihn teste,

01:16:40.543 --> 01:16:48.089
der die geschrieben hatte, der halt im Rollstuhl sitzt und der kann nur eine Hand bewegen.

01:16:48.387 --> 01:16:55.525
Und dann habe ich halt gesagt, hier, wie wäre es denn, wenn man das auf die und die Tastenkombination legt?

01:16:56.228 --> 01:17:01.103
Und da hat er dann auch gesagt, nee, das geht nicht, weil dann müsste ich zwei Hände benutzen, und das kann ich nicht.

01:17:01.103 --> 01:17:04.519
Und dann ist mir auch aufgefallen, oh, ja, scheiße.

01:17:05.590 --> 01:17:12.170
Ja, da muss man mindestens einen alternativen Weg irgendwie anbieten dazu, ne? Ja.

01:17:13.530 --> 01:17:18.903
Oder eben einen anderen Modus. Also, da gibt's ja noch so quasi diese Ansätze,

01:17:18.903 --> 01:17:27.103
so Universal Design und Inclusive Design, und die unterscheiden sich ja dann auch immer so in Details,

01:17:27.492 --> 01:17:33.622
Das eine ist halt quasi ich designe was, was wirklich, was wirklich alle bedienen können.

01:17:33.929 --> 01:17:43.462
Aber das ist natürlich auch wahnsinnig schwer. Oder ich, ähm, ich baue eben mehrere Bedien Modi in irgendwas ein, ähm, und dann klappt,

01:17:44.123 --> 01:17:46.028
das eben auf dem Wege. Ja.

01:17:49.530 --> 01:17:58.316
Ja, auf jeden Fall, ähm, super, super spannend. und sehr lehrreich.

01:17:59.864 --> 01:18:06.875
Dein Besuch hier bei uns heute. Wie ich immer so schön sage, da gibt es leider kein deutsches gutes Äquivalent für

01:18:06.875 --> 01:18:14.025
Thanks for having me. Ich liebe diesen Satz. Ja, genau. Also vielen, vielen Dank.

01:18:14.502 --> 01:18:20.480
Cool, dass du dabei warst. Danke dir. Ja, sehr gerne. Hat Spaß gemacht, auf jeden Fall.

01:18:20.555 --> 01:18:24.512
Ja, wunderbar. Dann würde ich sagen, dann müssen wir das nochmal wiederholen.

01:18:24.666 --> 01:18:30.580
Vielleicht, wenn dir noch ein gutes Thema einfällt, sagst du auf jeden Fall Bescheid.

01:18:30.922 --> 01:18:34.055
Wir freuen uns immer über Gäste. Gilt auch für unsere Hörerinnen und Hörer.

01:18:34.055 --> 01:18:41.103
Wenn ihr irgendwas Schönes habt, mit dem ihr uns quatschen wollt, dann hier damit.

01:18:41.671 --> 01:18:49.917
Kommentare zu dieser Ausgabe könnt ihr nicht als Kommentare auf unserer Webseite hinterlassen.

01:18:50.055 --> 01:18:51.430
Die sind nämlich zu, die Kommentare.

01:18:51.880 --> 01:19:00.990
Die hat der Hans dicht gemacht irgendwann. Ja, weil da kam irgendwie eigentlich nur Grütze rein, oder, Hans?

01:19:01.521 --> 01:19:10.379
Ja, es kommentieren nicht so viele Leute. Also Grütze würde ich jetzt nicht sagen, aber es ist halt immer eine Abwägung, finde ich.

01:19:10.775 --> 01:19:12.620
Spam, man muss ja auch antworten.

01:19:13.269 --> 01:19:21.587
Ja, genau, Spam kam einiges rein. Also ich meinte jetzt nicht irgendwie doofe Kommentare, sondern wirklich richtig Spam, einfach.

01:19:22.010 --> 01:19:29.464
Nur spam die ganze zeit immer nur tausende kommentare okay alles alles von vorne alles spam okay schade.

01:19:30.148 --> 01:19:36.422
Ja deswegen habe ich beide kontaktformulare auf meinen seiten auch abgeschaltet weil da kam nur spam drüber.

01:19:36.666 --> 01:19:46.559
Ja ich glaube das wichtige ist wenn jemand was zu sagen hat sehr sehr gerne her damit macht es auf twitter da lesen wir es oder schreibt es auf mastodon da lesen wir es.

01:19:47.423 --> 01:19:46.559
Vielleicht.

01:19:47.655 --> 01:19:50.655
Doch, da lesen wir es auch. Doch, doch, doch. Ach so, stimmt.

01:19:50.655 --> 01:19:54.229
Du hast jetzt Zugang. Ja. Du liest fleißig. Ja, ja.

01:19:55.130 --> 01:19:58.839
Ansonsten lese ich's und gebe's weiter. Ich hab auch beide Kanäle.

01:19:59.000 --> 01:20:05.100
Genau. Du bist auf Twitter SvenjaDev, auf Mastodon wahrscheinlich auch SvenjaDev.

01:20:05.100 --> 01:20:11.423
Nee, auf Mastodon bin ich svenja.kaos.social.

01:20:12.738 --> 01:20:17.980
Genau. Und du hast ja auch eine Webseite, und uns kann man auch an comments.workingcraft.de schreiben.

01:20:17.980 --> 01:20:23.300
Und wir haben ja auch unseren Community-Slack, wo ihr alle herzlich eingeladen seid.

01:20:23.300 --> 01:20:27.300
Und auch, um euch auszutauschen mit anderen Hörerinnen und Hörern.

01:20:27.960 --> 01:20:36.300
Ach, genau. Draft.community. Draft.com. Und auf Twitch bin ich auch SvenjaDev.

01:20:36.300 --> 01:20:42.031
Wer da mal vorbeischauen will. Ja, das werden wir alles verlinken. Genau.

01:20:42.300 --> 01:20:44.300
Wer mich ein bisschen ragequitten sehen will in Hearthstone.

01:20:44.300 --> 01:20:48.300
Oder mich weiter ausfragen will, weil euch noch Sachen einfallen,

01:20:48.300 --> 01:20:50.178
die ihr mich selber fragen wollt.

01:20:50.394 --> 01:21:06.121
Immer gerne. So machen wir das. Genau. Und ja, nächste Woche, glaube ich, haben wir den Marvin Hagemeister zu Gast, oder? Um nochmal so einen Ausblick zu liefern.

01:21:07.346 --> 01:21:15.942
Ich glaube, das ist in zwei Wochen der Fall. Vorher reden wir nochmal über das Projekt Fugu mit dem Thomas Steiner.

01:21:17.878 --> 01:21:22.640
Das wird auch bestimmt spannend. Jetzt sind es zwei Folgen, auf die man sich freuen kann.

01:21:23.289 --> 01:21:34.300
Genau. Also, vielen Dank fürs Zuhören. Vielen Dank Svenja. Liebe Grüße an den Hans. Und wir hören uns nächste Woche wieder. Bis dann.

01:21:34.300 --> 01:21:37.485
Grüße zurück an euch. Macht's gut. Danke. Ciao.

01:21:38.197 --> 01:21:38.800
Tschüss!

01:21:38.960 --> 01:22:01.840
Music.

Revision 561: Organisationstruktur „UnFIX“

21. März 2023 | Keine Kommentare

In dieser Revision besprechen wir Organisationsstrukturen. Dabei haben wir einen Fokus auf UnFIX, ein Organisationsdesign, worüber uns Milan Matull, Managing Partner bei Factorial, viel zu erzählen hat. Milan war bereits Gast beim Working Draft in Revision 464 zum Thema TailwindCSS 2.0 und in Revision 516 zum Thema TailwindCSS 3.0.

Schaunotizen

[00:02:11] Organisationstruktur „UNFIX“
Unterschiedliche Unternehmensgrößen benötigen unterschiedliche Modelle, um Teams und Arbeit zu strukturieren. Milan und seine Kolleg:innen setzten in der Vergangenheit auf das „Viable System Model“ (VSM). Das Spotify-Model ist seit Jahren ein fester Bestandteil in Diskussion, wie man Teams am besten aufstellen könnte. Für größere Strukturen gibt es Modelle, die auf Scrum aufbauen, wie SAFe und leSS. Sind flache Hierarchien gewünscht eignen sich Holacracy, allerdings ebenfalls VSM und UnFIX. Denn gefragt sind Modelle, die sich ständig an das Unternehmen anpassen können, wie auch Management 3.0 und Team Topologies. Milan erzählt, worum genau es im UnFIX Modell geht. Es unterscheidet sich v.a. darin, dass es kein starres Framework ist. Das mag den Einstieg etwas erschweren, aber sorgt für viel Flexibilität, sobald es notwendig wird.
Transkript
WEBVTT

00:00:00.135 --> 00:00:11.279
Machst dir im dort ein blick da drauf okay was brauchen diese menschen in meiner organisation ihren job möglichst gut machen zu können so will man denn überhaupt eine organisation.

00:00:12.036 --> 00:00:28.141
Strukturieren man könnte ja sagen beispielsweise maximale autonomie das ist wahrscheinlich das spannungsfeld das so aus autonomie und irgendwie konzertiertem vorgehen und vielleicht auch so informationsfluss aufrecht erhalten.

00:00:28.720 --> 00:00:53.360
Music.

00:00:54.166 --> 00:00:55.977
Revision 561,

00:00:59.630 --> 00:01:02.617
Diese Revision von Working Draft wird euch präsentiert von Midwald.

00:01:03.510 --> 00:01:05.577
Midwald ist der Hoster für Agenturen und Freelancer.

00:01:06.022 --> 00:01:08.457
Solltet ihr mehr als ein einzelnes Webprojekt zu betreuen haben,

00:01:08.457 --> 00:01:14.217
dann könnte Midwald euer Gamechanger sein. Ich erinnere mich mit Grausen an meine eigene Freelancer-Vergangenheit,

00:01:14.556 --> 00:01:19.012
als ich für 10 Kunden bei 20 verschiedenen Hostern mit 30 Logins zu jonglieren hatte. Brrrrrr.

00:01:19.625 --> 00:01:21.578
Bei Metwald hingegen ein Login für alle Projekte.

00:01:23.414 --> 00:01:28.105
Wahlweise für den besucherbasierten Agenturserver oder den nerdig selbstkonfigurierten Spaceserver.

00:01:28.519 --> 00:01:33.417
Mit allen Features, die ihr euch nur wünschen könnt, vom Shop-System-Installer über SSL-Zertifikate

00:01:33.457 --> 00:01:36.097
bis hin zum ausgefuchsten Rechte- und Rollensystem.

00:01:36.137 --> 00:01:39.577
Ihr wisst schon, für das Management eurer Projekte unter einem Dach.

00:01:39.577 --> 00:01:43.537
Und DSGVO-konform. Und sollte es mal haken und ihr den Support anrufen,

00:01:44.003 --> 00:01:48.697
dann kriegt ihr echte Nerds ans Rohr. 24-7 an 365 Tagen im Jahr.

00:01:49.233 --> 00:01:57.617
Das alles könnt ihr haben, wenn ihr auf mitwald.de slash workingdraft vorbeischaut. Das schreibt sich mitwald.de

00:01:57.617 --> 00:02:01.692
slash workingdraft. Alle Infos zu mitwald findet ihr natürlich auch in den

00:02:02.017 --> 00:02:05.817
Shownotes zu dieser Revision. Wir danken mitwald für die Unterstützung von dieser

00:02:05.817 --> 00:02:07.817
Revision von Working Draft.

00:02:11.217 --> 00:02:18.817
Wir sind heute zu viert. Aus dem Team hätten wir da einmal die Vanessa. Hallo. Dann den Hans.

00:02:19.706 --> 00:02:23.817
Ja, hallo. Ich bin der Shep und das bedeutet, wir haben auch wieder einen Gast dabei,

00:02:23.817 --> 00:02:26.799
und zwar den Milan Matul. Hallo Milan.

00:02:27.565 --> 00:02:32.817
Moin. Du warst schon zweimal oder dreimal zu Gast bei uns. Ich glaube zweimal, ne?

00:02:32.817 --> 00:02:39.577
Du bist Tailwind-Experte auf jeden Fall, aber mehr als das, du bist auch Geschäftsführer

00:02:39.577 --> 00:02:43.031
bei einer Agentur in Hamburg, richtig?

00:02:44.435 --> 00:02:51.736
Genau, so ist es. Genau, also ich war zweimal hier und durfte mit euch über Tailwind CSS sprechen.

00:02:52.897 --> 00:02:57.285
Und eigentlich bin ich aber Managing Partner bei Victoria.

00:02:57.285 --> 00:03:06.285
Und genau, wir sind eine Softwareagentur in weitestmössenem Sinne aus Hamburg mit einem internationalen Team. Ja, cool.

00:03:06.285 --> 00:03:13.285
Genau, über Tailwind sprechen wir bestimmt, wenn dann die Version 4 rauskommt, nochmal mit dir, könnte ich mir vorstellen.

00:03:13.285 --> 00:03:22.025
Genau, aber heute zapfen wir deinen Know-how als, ja, weiß ich nicht, wie man es ausdrücken soll,

00:03:22.025 --> 00:03:32.125
so Firmenvorsteher, Firmenhäuptling, Co-Häuptling an und möchten über Organisational Design sprechen.

00:03:32.125 --> 00:03:37.205
Also eigentlich gar nicht so sehr, gar kein Entwicklerthema oder kein Programmierthema,

00:03:37.205 --> 00:03:43.645
Thema, aber ein Thema, das uns ja trotzdem irgendwie alle betrifft, wenn wir zu mehr

00:03:43.645 --> 00:03:56.445
als einer Person im Verbund Dinge machen. Genau, und du beschäftigst dich damit und

00:03:56.445 --> 00:04:02.965
hast da auch was Neues gefunden, auf das wir uns so im Verlauf dieser Revisionen

00:04:02.965 --> 00:04:09.085
hinarbeiten wollen und vielleicht, genau, können wir aber erstmal damit anfangen,

00:04:09.085 --> 00:04:15.005
so ein bisschen mit Grundlagen. Also was bedeutet es denn überhaupt eigentlich

00:04:15.005 --> 00:04:18.805
Organisational Design? Genau, vielleicht wollen wir damit mal einsteigen.

00:04:19.382 --> 00:04:27.245
Mhm, sehr gerne. Also das ist ein relativ großes Thema und ich glaube, es gibt auch

00:04:27.245 --> 00:04:35.965
sehr viele verschiedene Ansichten und Definitionen von, aber meine Sicht darauf ist vor allem

00:04:35.965 --> 00:04:45.191
erstmal die Frage, wie organisiert und wie strukturiert man Firmen dahingehend, wie der,

00:04:46.045 --> 00:04:51.673
Informationsfluss in einer Organisation sein kann. Also wer muss wann was wissen, damit

00:04:51.763 --> 00:04:58.305
eine Organisation ihrem Zweck entsprechen kann, dass die möglichst gut ihre Produkte,

00:04:58.305 --> 00:05:03.700
Dienstleistungen, ihre Mission verfolgen können. Aber eben halt auch dahingehend,

00:05:04.231 --> 00:05:10.905
wie tauschen die Mitarbeitenden ihr Wissen und ihre Aufgaben miteinander aus, dass sie sich

00:05:10.905 --> 00:05:15.862
auch möglichst wohl dabei fühlen, dem Auftrag gerecht zu werden. Das ist auch ein Teil davon.

00:05:15.943 --> 00:05:20.505
Und dann, je nachdem, wie man eben da drauf guckt, also wie man da...

00:05:21.993 --> 00:05:40.078
Also ich im Behördenkontext drauf, da wird es dann relativ schnell dann auch so Amtsdeutsch mit so Stabsstellen und Direktiven und wie soll man das so, naja, sagen wir mal Handlungsspielräume, all solche Sachen spielen da tatsächlich auch eine Rolle.

00:05:40.582 --> 00:05:51.043
Aber grundsätzlich geht es erstmal darum, wie baut man Organisationen auf, damit die, und strukturiert man sie, damit sie möglichst gut ihrem Zweck gerecht werden können.

00:05:51.673 --> 00:06:09.323
Ja und im Endeffekt hast du ja dann quasi gesagt, kann man so verschiedene, vielleicht verschiedene Schwerpunkte setzen, so was einem sozusagen da am wichtigsten ist. Also irgendwie schafft man viel oder hat man eine gute Atmosphäre für alle.

00:06:09.615 --> 00:06:11.323
Das muss ja nicht dasselbe sein.

00:06:11.323 --> 00:06:17.323
Also das kann ja irgendwie hierarchisch organisiert sein, sodass auch Leute vielleicht nicht ganz so happy sind.

00:06:17.323 --> 00:06:21.323
Einfach irgendwie der Laden so läuft, wie der Chef das möchte.

00:06:21.323 --> 00:06:27.323
Und... Also dazu kann ich noch ganz kurz dann vielleicht noch sagen,

00:06:27.323 --> 00:06:31.323
also das würde ich gar nicht erst mal so werten. Also dieses...

00:06:31.706 --> 00:06:37.323
Also ich nehme jetzt natürlich so ein bisschen an, dass ihr alle auch in einem Software-Hintergrund arbeitet.

00:06:37.323 --> 00:06:43.130
Und da haben sich auch gewisse Prozesse und Vorgehensweisen in den letzten Jahrzehnten auf jeden Fall etabliert.

00:06:43.697 --> 00:06:51.106
Aber diese ganzen Detailfragen, also wie hierarchisch und wie einbindend und.

00:06:52.789 --> 00:06:58.272
Tatsächlich auch so, wo es dann vielleicht auch so ein bisschen eher in Richtung Unternehmenskultur und Unternehmenswerte geht.

00:06:58.722 --> 00:07:03.839
Das ist, würde ich jetzt nicht unbedingt sagen, dass man das so direkt gegeneinander stellt.

00:07:03.839 --> 00:07:13.063
Also ich glaube, es gibt auch Organisationen oder Kontexte, in denen das total gut funktioniert, wenn das hierarchisch organisiert ist.

00:07:13.126 --> 00:07:20.839
Also da gibt es auch so ein, also jetzt schon die erste Klammer, die ich aufmache, aber da gibt es so ein halbwissenschaftliches Modell,

00:07:20.839 --> 00:07:27.319
Biodynamics heißt das, wo man so die unterschiedlichen Evolutions- und Kulturstufen auch von Organisationen

00:07:27.319 --> 00:07:35.119
beschreibt. Und das ist dann so ein Modell von der prähistorischen Stammeskultur, der hier entstammt,

00:07:35.119 --> 00:07:44.999
über die Familie, die Mafia, das Militär hin zur McKinsey-Matrix-Organisation und vollkommen

00:07:45.246 --> 00:07:52.399
holokratischen Organisationen, dass es so ist. Sehr großer, 100.000-jähriger Kurzfassung,

00:07:52.399 --> 00:07:56.279
wie so Organisationen auch geprägt sein können.

00:07:56.760 --> 00:08:00.679
Vielleicht kann man ja auch noch mal kurz erklären, für mich ist immer interessant zu

00:08:00.679 --> 00:08:07.079
erfahren, wieso will man denn überhaupt eine Organisation strukturieren? Man könnte ja sagen,

00:08:07.079 --> 00:08:12.439
beispielsweise maximale Autonomie, jeder macht schon das Beste, hat die gleichen,

00:08:12.439 --> 00:08:18.679
heeren Ziele sozusagen. Aber da geht es ja schon los. Also was sind die Ziele? Wie verfolgen wir

00:08:18.679 --> 00:08:25.999
die? Aber der Kern der Frage eigentlich, warum macht es Sinn, eine Organisationsstruktur

00:08:25.999 --> 00:08:34.199
einzuführen? Ja, das ist cool, dass du das sagst. Also ich kann es dir für uns beantworten und

00:08:34.542 --> 00:08:42.179
auch relativ einfach so aus der Praxis erzählen. Also uns gibt es jetzt sieben, acht Jahre und die

00:08:42.179 --> 00:08:51.839
ersten drei, vier sind wir eher auf so eine noch relativ easy handelbare Größe sind wir dann noch

00:08:51.839 --> 00:08:58.519
gewesen, so zehn bis zwölf. Das war noch super entspannt, total klein. Jeder kannte jeden,

00:08:58.519 --> 00:09:02.519
Man konnte irgendwie mal eben was über den Tisch werfen.

00:09:02.908 --> 00:09:09.519
Und es gab in dem Sinn auch nur ganz wenig Spezialisierung. Also es war wirklich, wenn du eine kleine Firma bist, dann war es häufiger auch so,

00:09:09.519 --> 00:09:15.019
dass alle irgendwie alles machen müssen und ich hier noch ein bisschen Buchhaltung

00:09:15.019 --> 00:09:20.519
und der Nächste hier irgendwie noch mit dem Kunden sprechen und so.

00:09:20.519 --> 00:09:23.519
Also alle Sachen sind einfach noch nicht so klar festgeschrieben.

00:09:23.519 --> 00:09:28.853
Und warum beschäftigt man sich überhaupt damit genau, wenn es darum geht.

00:09:30.572 --> 00:09:38.422
In größeren Zusammenhängen dann zusammenzuarbeiten. Also wir sind jetzt dann in den letzten Jahren relativ stark gewachsen

00:09:38.422 --> 00:09:41.420
und sind jetzt inzwischen so um die 50 Leute, also immer noch.

00:09:41.996 --> 00:09:46.422
Rechtmäßig klein, aber für uns ist es ein riesengroßer Schritt gewesen.

00:09:46.650 --> 00:09:53.422
So einfach dahingehend, dass das schon ein Umfeld ist, wo man nicht immer täglich mit allen Leuten zu tun hat.

00:09:53.996 --> 00:09:59.422
Und es gibt eben halt auch eine maximale Menge an Informationslast,

00:09:59.422 --> 00:10:04.742
die so eine einzelne Person in einem Unternehmen gleichzeitig tragen kann.

00:10:04.742 --> 00:10:09.022
Also das wird dann im Englischen immer als so Cognitive Load irgendwie bezeichnet,

00:10:09.022 --> 00:10:14.622
den du mit dir mitschleppst. Und das heißt, dahingehend willst du dann eigentlich darüber

00:10:14.622 --> 00:10:21.182
nachdenken, wie du die Informationslast und Komplexität in deinem Unternehmen reduzierst

00:10:21.182 --> 00:10:25.782
für den Einzelnen, denn so, dass die nur eine bestimmte Anzahl an Ansprechpartnern gleichzeitig

00:10:25.782 --> 00:10:31.362
haben oder nur mit einer bestimmten Anzahl von Leuten und Abteilungen sich gleichzeitig abstimmen

00:10:31.362 --> 00:10:35.622
müssen. Das ist so eins der Sachen darüber hinaus. Und dann natürlich, wenn du anfängst,

00:10:35.622 --> 00:10:43.562
in größeren Zielen zu denken, wenn es nicht mehr nur noch ist, in wie vielen Wochen wird dieses

00:10:43.562 --> 00:10:51.582
eine kleine Projekt irgendwie fertig, sondern, hört mal, Leute, wir wollen uns mit der Firma

00:10:51.582 --> 00:10:58.862
hier was komplett anderes, ganz anders aufstellen, also nicht einen anderen Marktbereich abdecken

00:10:58.862 --> 00:11:04.582
oder so. Wenn du dann Arbeit so organisieren musst, dass da nicht nur noch acht Leute,

00:11:04.582 --> 00:11:10.542
sondern eben 50 oder dann eben in richtig großen Unternehmen, dann hunderte oder tausende Leute

00:11:10.542 --> 00:11:16.493
irgendwie darauf einzahlen sollen, in der täglichen Arbeit, dann brauchst du ja ein.

00:11:17.262 --> 00:11:22.462
Mindestmaß an Struktur. Aber da habe ich auch ein schönes Zitat, den ich schon vorweg, ein bisschen Spoiler,

00:11:22.462 --> 00:11:33.302
eine Struktur, die der Komplexität des Marktumfeldes von deiner Firma angemessen ist. Also wenn du ein

00:11:33.302 --> 00:11:42.582
ganz einfaches Geschäftsmodell hast mit wiederholbaren Tätigkeiten, auch wenn du,

00:11:42.582 --> 00:11:47.982
Ich kann jetzt nicht sagen, dass es einfach ist, also es ist ein sehr großer Skill, aber

00:11:47.982 --> 00:11:52.622
man denkt, das ist eine Tischlerei oder so. Dann brauchst du sehr erfahrene,

00:11:52.622 --> 00:11:59.942
handwerklich begabte Mitarbeitende, aber die eigentliche Tätigkeit oder der eigentliche

00:11:59.942 --> 00:12:06.102
Prozess sozusagen ist wiederholbar. Und Software ist das meistens nicht. Da haben wir zumindest

00:12:06.102 --> 00:12:08.562
die Erfahrung gezeigt in der Vergangenheit.

00:12:10.687 --> 00:12:15.098
Das heißt, du würdest bezeichnen, dass unterschiedliche Probleme dann auch was,

00:12:16.421 --> 00:12:17.834
unterschiedliches sind?

00:12:18.077 --> 00:12:23.137
Oder reden wir jetzt von einem größeren Bild? Weil ich, also das kleine Bild,

00:12:23.506 --> 00:12:28.214
ich hab ein Team, arbeitet Features ab, ist für dich dieses eine,

00:12:28.268 --> 00:12:31.590
ich stell mir nämlich gerade nur vor, wenn man Feature nach Feature macht,

00:12:32.103 --> 00:12:35.637
ob das nicht doch in irgendeiner Art und Weise das gleiche Tun ist,

00:12:35.637 --> 00:12:40.376
so wie wahrscheinlich der Tischler einmal Tisch viereckig, einmal Tisch rund macht.

00:12:41.177 --> 00:12:47.437
Naja gut, das ist natürlich ein bisschen die Frage, auf welcher Ebene man halt das betrachtet.

00:12:47.437 --> 00:12:51.437
Das ist halt so aus der Prozesssicht von einem Dev-Team.

00:12:51.437 --> 00:13:00.437
Und ich sag mal so, wenn du Feature nach Feature machst, ohne zu wissen, auf welches größere Ziel das einzahlt,

00:13:00.437 --> 00:13:04.437
gibt's da so ein bisschen despektierlichen Termen so der Feature-Factory,

00:13:04.437 --> 00:13:09.717
Also dann bist du ein Dev-Team, was fließband Arbeit macht.

00:13:09.822 --> 00:13:22.917
Also jetzt schon ein bisschen edgy, ne? Aber in einem komplexeren Arbeitsumfeld würde man auf Prozessebene dann eher tatsächlich auch mit dem Team sagen.

00:13:23.749 --> 00:13:26.157
Guck mal, das hier sind die Business-Ziele, die wir haben.

00:13:26.157 --> 00:13:32.957
Wie können wir unsere Anwendung oder was auch immer gebaut wird,

00:13:32.957 --> 00:13:37.857
halt so strukturieren, dass sie dem gerecht wird und das gemeinschaftlich gestalten.

00:13:37.857 --> 00:13:41.857
Aber das, würde ich sagen, ist sehr stark auf wie strukturiere ich den Alltag eines Dev-Teams

00:13:41.857 --> 00:13:43.725
und wie steuere ich die Arbeit da ein.

00:13:44.499 --> 00:13:49.257
Und Organisational Design ist tatsächlich nochmal drei Nummern eigentlich größer.

00:13:49.257 --> 00:13:55.302
Also wirklich so die Vogel-Perspektive oder Ansicht auf eine Organisation da drauf.

00:13:56.661 --> 00:14:05.330
Und verlässt auch tatsächlich so ein bisschen die Ingenieurswissenschaften und geht eher in die Sozialwissenschaften oder Betriebswirtschaften, würde ich sagen.

00:14:06.726 --> 00:14:14.457
Vielleicht, bevor wir so in dieses, was du jetzt gerade auch beschrieben hast, in dieses overarching Organisationsstruktur einsteigen.

00:14:14.457 --> 00:14:19.457
Ich glaube so, womit sich jeder von uns wahrscheinlich irgendwie identifizieren kann, ist eine Arbeit in einem Team.

00:14:19.457 --> 00:14:31.957
Also, was man ja häufig hat, ne, dann gibt es halt irgendwie reine Engineering Teams oder halt die Cross-Funktionalen Teams, die halt irgendwie da, haben ja andere Disziplinen auch noch mit auf.

00:14:32.094 --> 00:14:46.678
Das ist doch eigentlich so die kleinste Einheit, in der man denkt, oder, also denkt man eigentlich, wenn man an eine Organisationsstruktur dann auch weiterdenkt, denkt man da gar nicht mehr in Teamstruktur oder in einem einzelnen Team?

00:14:47.713 --> 00:14:59.537
Naja, auf der Wertschöpfungsebene schon. Da können wir später nochmal reingehen. da ist das die

00:14:59.209 --> 00:15:08.490
sagen wir mal, kleinste Einheit, die irgendwie einen Workscreen halt herstellt. Und da ist es absolut notwendig, dass die alle,

00:15:09.003 --> 00:15:13.694
Informationen haben und alle Hindernisse aus dem Weg geräumt bekommen,

00:15:13.955 --> 00:15:18.483
dass sie möglichst gut und möglichst unterbrechungsfrei da ihre Arbeit machen können.

00:15:19.077 --> 00:15:25.856
Genau. Und dann, der Gag ist so ein bisschen, das können wir aber später tatsächlich dann auch bei dem Modell, was ich mitgebracht habe, dann nochmal gucken, ist.

00:15:26.459 --> 00:15:34.750
Das kann eben ganz viele unterschiedliche Formen von Teams in einem Unternehmen geben.

00:15:34.975 --> 00:15:40.070
Also, und nicht nur das Development Team, was eine Software baut.

00:15:40.187 --> 00:15:46.979
Auch wenn das vielleicht aus unserer Perspektive die zentrale wertstiftende Einheit in einem Unternehmen ist,

00:15:46.979 --> 00:15:51.098
aber es gibt ja auch noch ganz viele andere Menschen, die in einem Unternehmen normalerweise arbeiten.

00:15:51.638 --> 00:15:55.293
Und die sind auch in der Form von Teamstruktur organisiert.

00:15:55.878 --> 00:16:07.869
Aber die sehen wir vielleicht nur nicht so häufig. Also Personalwesen, Management, Plattformteams gibt es zum Beispiel auch manchmal.

00:16:08.339 --> 00:16:22.339
Dann gibt es manchmal Teams, die eben je nachdem, du hast es auch so schön genannt, funktionale Teams, cross-funktionelle Teams, irgendwelche Spezialistenteams, das Security-Team, die Rechtsabteilung.

00:16:22.588 --> 00:16:29.412
Also kannst du ja wirklich vieles ausdenken, wo Menschen mit einem bestimmten Zweck zusammenkommen.

00:16:29.889 --> 00:16:39.026
Und das ist eben das Spannende. Also idealerweise findet man eben dann eine Form, die dem Zweck am besten gerecht wird.

00:16:39.467 --> 00:16:46.939
Das heißt, du machst dir im Dirt-Sci ein Blick darauf, okay, was brauchen diese Menschen in meiner Organisation,

00:16:46.939 --> 00:16:48.939
um ihren Job möglichst gut machen zu können?

00:16:49.253 --> 00:16:54.213
Welche Informationen brauchen die, um möglichst...

00:16:55.491 --> 00:16:59.721
Und man fängt dann auch später noch an, aber um möglichst autonom ihren Job dann machen zu können,

00:16:59.721 --> 00:17:03.521
aber trotzdem an dem zu arbeiten, was die Organisation möchte.

00:17:05.538 --> 00:17:12.481
Ja, das ist wahrscheinlich das Spannungsfeld, ne, das so aus Autonomie und irgendwie konzertiertem Vorgehen

00:17:12.481 --> 00:17:17.385
und vielleicht auch so Informationsfluss aufrechterhalten,

00:17:17.961 --> 00:17:25.289
Nicht in einem zu hohen Maß, aber eben genug, dass irgendwie alle im Bilde sind und sich nicht abgehängt fühlen.

00:17:25.532 --> 00:17:36.280
Und wahrscheinlich mit zunehmender Zahl Menschen wird das eben auch immer schwieriger, kennt man ja auch,

00:17:36.421 --> 00:17:41.421
dass man dann irgendwie immer weniger Ertrag hat beim Skalieren.

00:17:41.421 --> 00:17:48.056
Und ich glaube, das will man ja auch immer schaffen, dass man da irgendwie die Verluste gering hält.

00:17:48.981 --> 00:17:57.381
Genau, wie ist das jetzt momentan bei euch allen? Wie seid ihr denn organisiert derzeit?

00:17:57.441 --> 00:18:01.181
Also, vielleicht können wir da hinschwenken.

00:18:03.350 --> 00:18:11.221
Also, bei Factorio seid ihr 50 Leute. Da ist es wahrscheinlich schon ein bisschen ausgefeilt.

00:18:12.299 --> 00:18:23.182
Ja, also ausgefeilt ist der richtige Ausdruck. Also wir haben in den letzten zwei, drei Jahren angefangen,

00:18:23.344 --> 00:18:27.206
tatsächlich erweiterte Strukturen bei uns aufzubauen.

00:18:27.756 --> 00:18:44.421
Wir haben da hinten auch beratende Unterstützung von extern dazu bezogen und mit dem uns gemeinsam da für ein Modell entschieden und eine Vorgehensweise

00:18:44.421 --> 00:18:50.701
und die dann aber so angepasst für uns. Und das Modell, was bei uns aktuell noch im Einsatz

00:18:50.701 --> 00:18:57.821
ist, das nennt sich VSM, Viable System Model heißt das. Da wird es auch relativ schnell

00:18:57.821 --> 00:19:04.941
so ein bisschen akademisch, aber ich versuche es nur ganz kurz zusammenzufassen. Also das ist relativ

00:19:04.941 --> 00:19:13.301
alt. Das kommt so aus der Pyranethik tatsächlich noch. Hat dann auch Einfluss auf die St. Gallener

00:19:13.301 --> 00:19:20.005
Management School gehabt in der Vergangenheit. Aber die Grundtheorie von diesem Modell ist,

00:19:20.541 --> 00:19:23.498
das Unternehmen.

00:19:25.289 --> 00:19:33.967
Aufgebaut werden sollten wie Organismen. Und zwar wie Organismen in ihren einzelnen Funktionen,

00:19:34.282 --> 00:19:36.722
dass die in der Lage sind,

00:19:37.208 --> 00:19:42.139
auf eine sich verändernde Umgebung reagieren zu können.

00:19:42.139 --> 00:19:45.625
Da seht ihr auch schon die Brücke zum Agilen.

00:19:46.139 --> 00:19:52.139
Und aber eben alle lebensnotwendigen Organe in sich bereithalten.

00:19:52.139 --> 00:19:57.599
Und was da auch noch angelegt ist, dass sie sich eigentlich auch replizieren können.

00:19:57.599 --> 00:20:03.859
Also du kannst einen Organismus aus verschiedenen Molekülen und Organen zusammenbauen und die

00:20:03.859 --> 00:20:06.717
haben in sich aber eigentlich dann wieder die gleichen Strukturen.

00:20:06.835 --> 00:20:07.113
So.

00:20:08.248 --> 00:20:13.859
Können wir das vielleicht kurz an einem praktischen Beispiel jetzt mal festmachen?

00:20:13.859 --> 00:20:18.019
Also ich sag mal, ein Value Stream könnte ja sein, hey, ich hab hier, sag ich jetzt

00:20:18.019 --> 00:20:24.099
einfach mal meinen online shop und benutzerinnen und benutzer der klassiker sollen in dem online

00:20:24.099 --> 00:20:31.739
shop etwas kaufen oder ist das zu groß gedacht das ist nicht zu groß gedacht das ist also das

00:20:31.739 --> 00:20:36.263
wäre jetzt meinst du als hypothetisches beispiel für eine firma die so ein geschäftsmodell hat

00:20:36.579 --> 00:20:44.019
genau richtig und wie würde man dann sozusagen so einen organismus aufstellen dass er sich wie

00:20:44.019 --> 00:20:49.819
wie du ja eben sagst, selbst erhalten kann und dann diese Teile darin auch abbildet.

00:20:51.756 --> 00:21:06.457
Ja, also bei dem VSM, das muss ich ein bisschen verkürzen, aber da musst du dir so vorstellen, da gibt es so eine Art Blaupause für verschiedene Unternehmensbestandteile, einzelne Systeme wird das dort genannt.

00:21:06.736 --> 00:21:08.606
Fünf Stück gibt es da im Groben.

00:21:09.004 --> 00:21:16.606
Und das erste System da drin, das sind die wertschöpfenden Teile von einem Unternehmen.

00:21:16.606 --> 00:21:21.606
Also das wäre dann so ein Value Stream oder ein Softwareentwicklungsteam,

00:21:21.606 --> 00:21:28.260
was Dinge bereitstellt, die die Welt braucht und die dann verkauft und vermarktet werden können.

00:21:28.881 --> 00:21:32.606
Und die anderen Bereiche, die es da dann gibt, sind Unternehmensfunktionen.

00:21:32.606 --> 00:21:35.286
Funktionen, die ist auch tatsächlich relativ allgemeinwürdig.

00:21:35.286 --> 00:21:39.166
Also du kannst das für eine Softwarebude benutzen.

00:21:39.612 --> 00:21:46.760
Das Beispiel, was uns immer da geholfen hat, war die deutsche Fußballnationalmannschaft.

00:21:47.006 --> 00:21:48.886
Die wurde da auch immer gerne genommen.

00:21:49.566 --> 00:21:57.606
Das Einsatzsystem ist das Team, was auf dem Spielfeld steht und die, die in Anführungszeichen eigentliche Arbeit machen.

00:21:58.192 --> 00:22:08.113
Und dann gibt es gibt es eben aber ganz viele andere Funktionen in einem Unternehmen darüber hinaus, die auch notwendig sind, damit dieses Team besonders gut funktionieren kann.

00:22:08.428 --> 00:22:22.046
Genau. Und wenn wir zum Online-Shop dann zurückgehen, also dieses Team produziert Software-Features, die die Menschen brauchen,

00:22:22.046 --> 00:22:32.536
hoffentlich oder die Firma, sage ich mal, hat ein funktionierendes Geschäftsmodell und möchte ihre Software eben weiter ausbauen.

00:22:32.833 --> 00:22:38.568
Und dann gibt es aber in der Organisation darüber hinaus Dinge, die benötigt werden. Und da...

00:22:39.918 --> 00:22:49.768
Was du in dem VSM, also ich, also für mich, mir fällt es ein bisschen leicht, das für meine Firma zu erzählen. Wir sind auch nicht so weit weg vom Online-Shop. Dann mach mal das.

00:22:49.768 --> 00:23:03.768
Aber wir sind ja Agentur, also das heißt, wir haben nicht ein großes Produkt, sondern wir haben vier, fünf verschiedene Teams, die an unterschiedlichen Kunden und Projekten arbeiten.

00:23:03.768 --> 00:23:10.768
Aber wir haben daneben eben tatsächlich jetzt auch eine.

00:23:12.767 --> 00:23:18.961
Abteilung ist nicht der richtige Ausdruck, aber ein System an Menschen, die sich darum kümmern, zum Beispiel so,

00:23:19.768 --> 00:23:27.768
firmenübergreifende Standardisierung zu machen in dem von unseren Dev-Teams, also alle Frontender,

00:23:28.305 --> 00:23:38.768
Backender, UXler, ProjektmanagerInnen, bei uns kommen regelmäßig zusammen in ihren Streams, um sich da auszutauschen.

00:23:38.768 --> 00:23:42.768
Und dann ist es aber eben auch Aufgabe der fachlichen Führungskräfte,

00:23:42.768 --> 00:23:45.553
daraus so ein Destillat herzustellen.

00:23:45.806 --> 00:23:52.768
Schaut mal, so wollen wir eigentlich unternehmensübergreifend arbeiten.

00:23:52.980 --> 00:23:56.768
Und das dann auch occasionally zu überprüfen.

00:23:56.768 --> 00:24:13.768
Also wir sind jetzt nicht so, dass ständig irgendwelche Checklisten gearbeitet werden müssen und dass das alles super eng geführt ist, aber es ist wichtig für uns, dass wir nach außen eine gleichbleibende Qualität oder eine gleichbleibende

00:24:13.768 --> 00:24:25.768
Kundenerfahrung sicherstellen können. Zum Beispiel, das ist ein Partner, den gibt es von uns, der nicht direkt im Team stattfindet, sondern daneben. Dann haben wir Personalwesen,

00:24:25.768 --> 00:24:32.208
Die arbeiten auch noch an anderen Ebenen, auch nochmal mit unseren Führungskräften zusammen.

00:24:33.248 --> 00:24:41.688
Wir haben Buchhaltung, wir haben aber auch so eine Art Management- oder Governance-System bei uns,

00:24:42.115 --> 00:24:47.648
wo wir grundlegende Richtungsentscheidungen treffen und sagen, guckt mal Leute, in die

00:24:47.648 --> 00:24:54.008
Richtung wollen wir in der Zukunft. Und das findet alles eben in unterschiedlichen Kreisen statt.

00:24:54.394 --> 00:25:01.228
Und da können nicht immer alle gleichzeitig involviert sein, aber es ist eben wichtig,

00:25:01.228 --> 00:25:05.048
dass es trotzdem die Organisationen diffundiert und aber auch klar ist,

00:25:06.277 --> 00:25:13.389
Wer wann in welchem Bereich informiert sein muss, und wer doch Entscheidungen treffen kann, darf, soll.

00:25:14.784 --> 00:25:20.634
Ja, bei eurem, also genauso die, äh, hier die Verwaltung und die, äh,

00:25:20.807 --> 00:25:26.634
das Management, die, die brechen so ein bisschen, äh, so aus in ihre eigenen Welten.

00:25:26.634 --> 00:25:33.634
Ähm, was eure Entwicklerteams angeht, hört sich das so ein bisschen ebenso tatsächlich wie so cross-funktionale Teams an, die ihr habt.

00:25:33.797 --> 00:25:37.634
Wahrscheinlich irgendwie die, die ihr auf bestimmte Kundenprojekte ansetzt.

00:25:37.634 --> 00:25:41.634
Da, die bieten sich ja wahrscheinlich an, um diese Teams zu, zu schneiden.

00:25:41.634 --> 00:25:50.234
Und dann habt ihr anscheinend eben quasi um so diese Querverbindung in den Teams zu haben und

00:25:50.234 --> 00:25:57.194
den Austausch so eine Art Gildensystem, oder? Wo ihr dann sagt so, hey, so das Team tauscht

00:25:57.194 --> 00:26:03.954
natürlich intensiv aus, aber wir haben halt dann noch die Frontender-Gilde oder die Designer-Gilden,

00:26:03.954 --> 00:26:11.154
die dann irgendwie auch so in ihrem Fachbereich zusammen Dinge weiterentwickeln und wieder zurück

00:26:11.154 --> 00:26:18.354
in ihre Teams tragen. So habt ihr dann quasi auf verschiedenen Achsen Kommunikation, aber eben auch

00:26:18.354 --> 00:26:25.594
nicht mit allen, sondern eben immer nur mit den einem am nächsten liegenden Personen. Also

00:26:25.594 --> 00:26:31.994
wahrscheinlich. Genau. Also genau bei uns heißen diese Dillen oder diese Meetings, die ja drum

00:26:31.994 --> 00:26:40.074
herum dann passieren, das sind dann Working Groups, sind das dann bei uns. Und in anderen Unternehmen

00:26:40.074 --> 00:26:44.074
heißen die auch manchmal Community of Practice oder so.

00:26:44.074 --> 00:26:51.468
Und es gibt ja verschiedenste Namen dafür, aber die machen genau alle Ähnliches dabei.

00:26:52.477 --> 00:26:55.790
Eine wichtige Part, die ich noch vergessen habe, ist eben der ganze.

00:26:57.797 --> 00:27:04.074
Strategische und zukunftsblickende Teil von einem Unternehmen. Also das ist sozusagen, also es gibt den ganzen

00:27:04.074 --> 00:27:10.265
operativen Teil, also die tatsächliche Durchführung von der täglichen Arbeit.

00:27:10.661 --> 00:27:20.825
Und es gibt aber eben halt auch den Teil, der nach vorne blickt und zukunftsversprechende Richtungen versucht zu identifizieren.

00:27:20.914 --> 00:27:25.434
So will ich es mal am ehesten beschreiben.

00:27:25.594 --> 00:27:29.714
Genau, und das machen wir bei uns dann im Management zusammen.

00:27:29.714 --> 00:27:36.228
Und dann binden wir aber eben halt auch unsere Führungsebene damit ein.

00:27:37.371 --> 00:27:42.754
Genau. Und das refundiert dann wieder zurück in die Teams tatsächlich.

00:27:44.861 --> 00:27:52.031
Und Vanessa, wie seid ihr organisiert bei euch? Ihr seid ja nicht so groß, ne?

00:27:52.031 --> 00:27:54.565
Was seid ihr, 20 oder so in der Kante?

00:27:55.501 --> 00:28:04.791
Genau, immer noch 20. Und ich bin in die Organisation nicht in erster Linie involviert,

00:28:04.791 --> 00:28:08.551
da ich mich tatsächlich eben um die Ausführungen kümmere.

00:28:08.551 --> 00:28:14.151
Und bin mir dementsprechend nicht sicher, welche Begriffe die richtigen wären.

00:28:14.151 --> 00:28:16.991
Ich bin mir sicher, dass es Organisationen gibt,

00:28:17.305 --> 00:28:24.391
die sind jetzt aber nicht in dem Sinne irgendwie hingedruckt und jeder hält sich an alle Regeln,

00:28:24.391 --> 00:28:28.657
sondern die sind dann eingeflossen, sodass sie sehr natürlich wirken,

00:28:28.791 --> 00:28:33.725
sodass es mir vielleicht gar nicht auffällt, dass das jetzt eine Art und Weise Organisation dahinter ist.

00:28:33.932 --> 00:28:39.831
Ich erinnere mich natürlich noch an die ersten Wochen, die wenigen Monate,

00:28:39.831 --> 00:28:45.151
in denen wir tatsächlich nur fünf und dann sechs Personen waren.

00:28:45.151 --> 00:28:52.391
Ich glaube, an dieser Situation gab es tatsächlich keine Organisation und wir hatten jeden einzelnen Tag mit allen Leuten Kontakt.

00:28:52.391 --> 00:28:53.584
Wir waren quasi ein Team.

00:28:54.391 --> 00:29:04.231
Und seit wir da ein bisschen gewachsen sind, haben wir doch relativ schnell auch aufgehört,

00:29:04.231 --> 00:29:08.551
diese mit jeden Tag mit allen Personen Kontakt zu haben.

00:29:09.518 --> 00:29:15.311
Es gab relativ lang doch tatsächlich immerhin weiterhin dieses Daily für alle. Also das war

00:29:15.311 --> 00:29:20.991
auch mit ein bisschen dem Trade-off, dass man wusste, es ist jetzt nicht für jeden alles dabei.

00:29:20.991 --> 00:29:28.231
Aber es war doch durchaus eine sehr effiziente Methode, dass wichtige Sachen, die vielleicht

00:29:28.231 --> 00:29:33.511
sonst erst Tage oder gar Wochen später aufgefallen wären, wirklich dann zur Sprache kamen,

00:29:33.511 --> 00:29:37.591
weil halt durchaus alle zuhören. Also wir sind eben wenig Leute, das heißt,

00:29:37.591 --> 00:29:43.111
da sind alle motiviert am Start und da sagt vielleicht eine Person mal was zwischen den

00:29:43.111 --> 00:29:48.591
Zeilen oder denkt, es wäre keine wichtige Information und dann springt sowas bei rum wie,

00:29:48.591 --> 00:29:52.951
ach, das können wir übrigens technisch in zehn Minuten ändern, wir wussten ja gar nicht,

00:29:52.951 --> 00:29:59.671
dass das jetzt quasi eine Sache ist und eben solche Dinge. Dennoch, ich glaube,

00:29:59.671 --> 00:30:03.311
das hat gut geklappt bis zu 14 Personen und irgendwann war es tatsächlich einfach,

00:30:03.311 --> 00:30:07.007
dass du schon weißt, es ist zu viel für die Gesamtheit.

00:30:07.311 --> 00:30:17.311
Aber es war, wie gesagt, zumindest für mich ein sehr smoother Umorganisationierungsprozess, da ich ihn nicht so wirklich mitbekommen habe.

00:30:17.674 --> 00:30:23.311
Speziell jetzt für die Devs und Designer und Produkt.

00:30:24.993 --> 00:30:32.033
Gab's tatsächlich häufigere Änderungen. Ich glaub, wir waren das mal in zwei Teams.

00:30:33.581 --> 00:30:39.217
Dann war die Frage, brauchen diese zwei Teams eigentlich die gleichen Arbeitsrhythmen?

00:30:39.694 --> 00:30:41.983
Ich möcht jetzt gar nicht mal irgendwie ...

00:30:42.070 --> 00:30:47.903
Wie heißt das bei Scrum? Ich hab's schon ganz vergessen. Ich hab schon so lange kein offizielles Scrum benutzt.

00:30:47.963 --> 00:30:54.063
Aber da waren eben auch manchmal die Fragen, müssen wir das jetzt so machen oder müssen wir das so machen?

00:30:54.063 --> 00:30:58.423
Und im Endeffekt waren alle Personen immer damit einverstanden,

00:30:58.423 --> 00:31:01.380
zu sagen, wir probieren das mal aus, aber wenn es uns nicht passt,

00:31:01.623 --> 00:31:06.160
dann müssen wir mal weitergucken. Und so hat sich das dann immer weiterentwickelt.

00:31:06.903 --> 00:31:13.641
Im Moment sind wir tatsächlich bei einem Setup, dass jetzt die Entwicklungsteams,

00:31:13.743 --> 00:31:18.008
also wie gesagt, Designer und Produkt eingeschlossen, sehr klein sind.

00:31:18.263 --> 00:31:21.870
Also wir haben es uns tatsächlich auf vier verschiedene Teams aufgeteilt.

00:31:22.023 --> 00:31:26.965
Da sind pro Team dann teilweise nur drei bis maximal fünf Personen dabei.

00:31:27.577 --> 00:31:32.546
Das hat natürlich auch Nachteile. Ich glaub, der größte ist klar, was ist, wenn Person X krank wird.

00:31:33.374 --> 00:31:39.483
Ähm, aber es war bei uns nie ein großer Nachteil. Weil immer noch die Devs,

00:31:39.523 --> 00:31:41.738
auch jetzt sind wir wieder bei der anderen Achse,

00:31:42.063 --> 00:31:46.863
die Devs und Designer untereinander wiederum ihre eigenen Gruppchen da gebildet haben,

00:31:46.903 --> 00:31:49.283
um sich da dann wieder weiterzuinformieren.

00:31:49.283 --> 00:31:56.483
Das heißt, es passiert normalerweise nichts, wenn eine Person unerwarteterweise, ungeplanterweise nicht da ist,

00:31:56.483 --> 00:31:58.883
weil irgendeine andere Person kann einspringen.

00:31:59.499 --> 00:32:08.043
Und im Allernotfall, das kommt sehr selten vor, im Allernotfall rennt man eben zum Chef und sagt.

00:32:08.883 --> 00:32:13.975
Kann man nicht splitten, Problem A oder Problem B? Und dann kommt man recht schnell an eine Antwort auch rein.

00:32:14.523 --> 00:32:17.283
Muss eigentlich gar nicht immer von der obersten Sticht kommen,

00:32:17.283 --> 00:32:24.083
sondern dann ist tatsächlich auch ein Gespräch mit den Leuten hilfreich,

00:32:24.083 --> 00:32:26.883
die am meisten mit Kunden und Kundinnen zu tun haben.

00:32:26.883 --> 00:32:33.083
Das kann je nachdem immer auch jemand anders sein. Aber dann weiß man tatsächlich, wo der Schuh dann am meisten drückt.

00:32:33.194 --> 00:32:38.083
Zum Beispiel für mich ist, wenn ich einen Bug sehe, hat der für mich immer Prio 1, das ist klar.

00:32:38.083 --> 00:32:41.747
Und irgendjemand sagt mir dann vielleicht, ja, weil das Feature kommt.

00:32:42.116 --> 00:32:45.447
Ein Prozent der Trial User vielleicht jetzt nicht so wichtig wie,

00:32:46.140 --> 00:32:48.804
keine Ahnung, Kunde mit am meisten Usern bei uns.

00:32:49.624 --> 00:32:52.828
Und daher bin ich gespannt auch immer wieder, wie es weitergeht.

00:32:53.341 --> 00:32:56.843
Und ich glaube, ich werde dann auch mal ab morgen nachfragen,

00:32:56.843 --> 00:33:04.163
welche Organisation wir denn eigentlich offiziell haben, von denen ich die Begrifflichkeiten vielleicht gar nicht so bewusst wahrgenommen habe.

00:33:04.163 --> 00:33:07.763
Ich bin mir sicher, dass was dahinter steckt, weil es irgendwie einfach funktioniert,

00:33:07.763 --> 00:33:10.860
wenn wir mal kleiner und größer werden, ohne dass es Problemchen gibt.

00:33:12.345 --> 00:33:22.275
Ja, wir können ja gleich noch ein paar von den Spielarten noch kurz besprechen, zumindest anreißen.

00:33:22.335 --> 00:33:25.775
Und vielleicht findest du euch da wieder.

00:33:26.029 --> 00:33:28.435
Aber so ein bisschen klingt's ja auch nach VSM.

00:33:29.117 --> 00:33:35.335
Ja, tatsächlich hab ich die ganze Zeit gedacht, ah, das klingt ja sehr verdächtig und bekannt.

00:33:35.395 --> 00:33:39.835
Ich komm tatsächlich davor, war das ja eine ganz andere Struktur,

00:33:39.895 --> 00:33:44.435
als ich noch bei der Agentur war. Da war ich aber auch bei verschiedenen Projekten

00:33:44.435 --> 00:33:49.408
und hab schon allein deswegen immer auch nicht so wirklich wahrgenommen.

00:33:50.812 --> 00:33:55.115
Weil es immer Personen gab, die sich quasi um mich dann gekümmert haben,

00:33:55.115 --> 00:34:00.192
um mir gesagt haben, das ist jetzt deine Rolle hier, und du machst diesen Aufgabenbereich.

00:34:01.228 --> 00:34:07.034
Dennoch, das letzte Projekt, das ich da hatte, war dann in den letzten paar Monaten mit Save.

00:34:08.267 --> 00:34:14.524
Und ich weiß nicht, welche Hörer oder Hörerinnen jetzt grad so innerlich ein bisschen aufgestöhnt haben.

00:34:14.715 --> 00:34:20.275
Ich denke, bei so etwas wie Safe, und hier nehm ich's jetzt einfach nur mal kurz als,

00:34:20.275 --> 00:34:26.407
pick ich mir das als Paraderbeispiel raus, ist es oft gar nicht das Problem des Frameworks,

00:34:26.830 --> 00:34:34.595
ähm, dass den teilnehmenden Personen dann nicht so passt, sondern oft vielleicht auch eher so ne, die Organisation drumrum,

00:34:34.595 --> 00:34:39.515
oder wie das eingeführt wird, wie das erklärt wird, wissen denn eigentlich alle Personen, was es bedeutet,

00:34:39.515 --> 00:34:41.515
wird es dann auch durchgesetzt.

00:34:42.719 --> 00:34:46.698
Genau, ich würde mal in die Runde fragen, da ich es jetzt gerade erwähnt habe.

00:34:47.382 --> 00:34:52.991
Kann mir jemand ganz genau erklären, was SAFE eigentlich ist?

00:34:55.421 --> 00:35:01.755
Ich weiß nur, dass es irgendwie so ein komischer Frankenstein ist aus agilen Arbeiten

00:35:01.755 --> 00:35:08.915
und das Ganze aber in irgendwie, glaube ich, so einen Wasserfallkontext reingebaut, oder?

00:35:08.915 --> 00:35:12.975
Ja, das ist jetzt die… Das habe ich im Hinterkopf. Ich weiß aber nicht, ob das stimmt.

00:35:18.062 --> 00:35:41.270
Also ich würde vielleicht, ich würde es vielleicht ein bisschen anders beschreiben, ich würde vielleicht sagen, man hat ab einer gewissen Stufe, wenn man eine gewisse Größe als Unternehmen erreicht, ja immer so die Herausforderung, okay, wie skalier ich denn etwas wie einen Scrum, ja, Scrum für ein Team funktioniert super, vielleicht auch für vier Teams funktioniert auch super, machst du noch einen Scrum of Scrums dazu und dann hast du einen guten Sync, ja.

00:35:42.035 --> 00:35:51.425
Wenn man jetzt aber mal vielleicht sehr viele verschiedene Teams, 20, 40 verschiedene Teams, an verschiedensten Initiativen arbeiten hat,

00:35:51.848 --> 00:36:01.093
dann ist natürlich die Frage, wie organisiere ich das, über verschiedene Management-Ebenen auch hinweg, über verschiedene Projekte hinweg,

00:36:01.471 --> 00:36:04.892
Weil ich sag mal, man arbeitet dann vielleicht nicht,

00:36:05.207 --> 00:36:12.481
also es arbeiten dann vielleicht nicht alle Leute an dem gleichen Projekt, sondern man muss auch diese ganzen Initiativen managen,

00:36:12.796 --> 00:36:18.017
die wiederum dann Stakeholder en masse haben, die auch irgendwie gemanagt werden müssen.

00:36:18.539 --> 00:36:24.852
Und um trotzdem ein Alignment hinzubekommen, so sehe ich jetzt so ein Safe-Modell,

00:36:25.003 --> 00:36:29.837
ein Alignment zwischen diesen, sagen wir mal, 40 Teams, die dann nochmal unterteilt sind

00:36:30.179 --> 00:36:36.922
in verschiedene Teilbereiche, ja, braucht man halt irgendeine Art Organisationsstruktur drumherum,

00:36:37.210 --> 00:36:41.972
wo man dann sagen kann, okay, ich hab jetzt hier so eine Art, keine Ahnung, ein großes Planning,

00:36:41.972 --> 00:36:48.672
ja, Big Room Planning nennt man es dann vielleicht, wo man vielleicht sagt so, hey, da versuchen wir alle zu alignen.

00:36:48.841 --> 00:36:55.610
Und irgendjemand muss sich darum kümmern. Also gibt es da vielleicht auch noch Rollen, die es in einem Modell wie mit einem reinen Scrum,

00:36:55.836 --> 00:37:12.058
was sehr lean ist, ja, vielleicht nicht gibt. Und so sehe ich diese größeren Frameworks, die, jetzt wurde eben gesagt Frankenstein, die halt versuchen so ein Stück weit viele Projektmanagement.

00:37:13.489 --> 00:37:27.001
Ja methodiken übereinander zu legen ja und die zusammenzubringen um daraus ein großes ganzes zu formen was ich dann irgendwie manchmal dann doch wieder wie wasserfall anhört wenn da so ein kleines zahnrädchen team in anfangsstrichen,

00:37:27.875 --> 00:37:36.976
unter den anderen 40 zahnrädchen team funktionieren so das ist so meine meine sicht auf diese dinge aber ja milan vielleicht.

00:37:37.759 --> 00:37:40.459
Siehst du das auch nochmal anders oder hast du auch nochmal mehr Insights?

00:37:40.459 --> 00:37:42.918
Du hast dich ja mit dem Thema sehr intensiv, glaube ich, auch beschäftigt.

00:37:44.637 --> 00:37:51.859
Ich finde, du hast das gut geschrieben. Ich meine, das ist halt der Versuch, eine agile Arbeitsweise, Organisation 2, zu skalieren.

00:37:52.208 --> 00:37:58.339
Und eben dafür zu sorgen, das ist genau das, was Hans eben meint,

00:37:58.339 --> 00:38:04.779
wenn du, desto größer deine Firma wird, also das ist dann vor allem für Produktorganisationen relevant,

00:38:04.779 --> 00:38:09.339
wie gesagt, bei uns nochmal ein bisschen anders, weil die Teams an unterschiedlichen Kunden und

00:38:09.339 --> 00:38:15.219
Projekten arbeiten, also die haben nicht so einen starken Need dafür, auf Zielebene,

00:38:15.219 --> 00:38:23.939
was die Entwicklungsziele anbelangt, allein zu werden. Aber wenn dein Startup von 20 Leuten

00:38:23.939 --> 00:38:31.659
auf 2000 Leute anwächst innerhalb von x Jahren, dann hast du diesen Need. Und du hast ein Produkt,

00:38:31.659 --> 00:38:38.139
wo es einfach ganz viel Abstimmung erforderlich ist, und die muss irgendwie organisiert werden.

00:38:38.507 --> 00:38:45.019
Und zu safe muss ich entweder sagen, kenne ich mich nicht genug aus, um da so richtig

00:38:45.019 --> 00:38:50.859
qualifiziert was sagen zu können, außer, also die Kritik, die mir halt bekannt ist,

00:38:50.859 --> 00:38:57.499
und das gilt aber für fast alle agilen Frameworks, mit denen ich mich so auseinandergesetzt habe,

00:38:57.499 --> 00:39:06.139
ist, dass es viel bestimmte Vorgehensweisen und Methoden

00:39:06.139 --> 00:39:18.579
vorschreibt. Also, du musst dann deine Firma oder deine Dev-Teams in einem bestimmten Prozess organisieren, um safe gerecht zu

00:39:18.579 --> 00:39:25.179
werden. Du musst in einer bestimmten Kadenz alle deine Teams dann abstimmen, damit der Informationsfluss gewährleistet

00:39:25.179 --> 00:39:31.701
ist. Du musst bestimmte Rituale und Meetings durchführen, damit das dann immer noch zu

00:39:31.979 --> 00:39:42.207
diesem Prozess gehört. Das habe ich auf Agiler Ebene oder auf Spannebene auch schon hundertmal durchlebt.

00:39:46.663 --> 00:39:52.353
Auch eine der größten Kritikpunkte an so agiler Arbeitsweise oder an dem, wie es eingeführt wird.

00:39:52.353 --> 00:39:59.680
Das heißt, ich maße mir gar nicht einen über das Modell so groß zu urteilen, sondern das ist eher dieser Punkt.

00:40:00.238 --> 00:40:04.473
Leute, wir machen jetzt heute alles anders, aber die Leute wissen gar nicht, warum.

00:40:04.473 --> 00:40:12.751
Also im Sinne von, wir übernehmen die Arbeitsweisen aus einem Manifest oder aus einer Verfassung,

00:40:13.012 --> 00:40:32.833
Aber wir wissen gar nicht, warum. Und das ist tatsächlich sozusagen auch dann der große Unterschied, zu dem Amphix dann angetreten ist, was ich noch mitgebracht habe, die eben halt auch im nächsten Nebensatz dann sagen, okay, wir sind für Versatile Organization Design.

00:40:32.988 --> 00:40:38.282
Wir sind vielschichtig und anpassungsfähig.

00:40:38.732 --> 00:40:44.953
Und dahinter steckt auch immer die These, dass Praktiken und Methoden, die kommen,

00:40:45.466 --> 00:40:47.553
sollten aus der Praxis informiert sein.

00:40:47.553 --> 00:40:56.793
Und jede Organisation ist im Zweifel einzigartig genug, als dass sie es rechtfertigen, ihre eigenen Prozesse

00:40:56.793 --> 00:40:59.608
und Vorgehensweisen und Strukturierungen zu entwickeln.

00:41:00.139 --> 00:41:19.673
Und deswegen macht Unfix da auch keine klaren Vorgaben, sondern bringt dir eher, sagen wir mal, Handlungsspielräume oder Möglichkeiten, alle Bereiche deines Unternehmens zu strukturieren und je nachdem, welchen Zweck die zu verfolgen, die richtige Form oder die angemessene Form zu finden.

00:41:19.673 --> 00:41:23.933
Das ist der Kritikpunkt, den ich oft bei Safe gehört habe.

00:41:23.933 --> 00:41:28.733
Oder auch wenn Leute Scrum übernehmen und dann haben wir jetzt Dailies,

00:41:28.733 --> 00:41:33.133
aber trotzdem wird die Arbeit alles einfach eingekippt.

00:41:33.250 --> 00:41:41.649
Also man übernimmt die Rituale, ohne wirklich die Arbeitsweise zu verändern.

00:41:42.675 --> 00:41:47.933
Das ist, was ich dazu sagen kann, zu der Kritik dabei. Aber die Bestrebung grundsätzlich,

00:41:48.391 --> 00:41:52.785
agile Arbeitsweise skalieren zu wollen, das kann ich sehr gut nachvollziehen, dass es die gibt.

00:41:52.933 --> 00:41:58.433
Und dass es da drumherum dann so eine Zertifizierungs- und Beraterstruktur gibt,

00:41:58.433 --> 00:42:00.716
das ist so ein bisschen so eine Stilblüte.

00:42:04.433 --> 00:42:11.329
Du hast ja gerade schon erwähnt, du hast das Anfix-Modell im Gepäck.

00:42:12.933 --> 00:42:14.433
Das wollen wir uns gleich angucken.

00:42:14.433 --> 00:42:23.793
Aber bevor wir das machen, wollen wir noch einmal kurz erwähnen und stichwortartig sagen, was die machen, die also so bestehende Modelle.

00:42:24.793 --> 00:42:33.153
Also safe hatten wir. Ihr habt das Weibel System Model. Welche gibt es noch, die so praktiziert werden aktuell?

00:42:34.285 --> 00:42:39.515
Und wie funktionieren die? Also ich bin da total unterbelichtet, tatsächlich.

00:42:39.515 --> 00:42:48.815
Also ich arbeite eigentlich immer in kleinen Teams. Also ich kenne Kanban und Scrum und genau, das war's dann.

00:42:48.940 --> 00:42:51.560
Und den Rest kenne ich nur vom über den Tellerrand schauen.

00:42:52.100 --> 00:42:57.935
Ich glaube vielleicht, was eins der Modelle ist, was jetzt ja häufiger auch mal erwähnt wird,

00:42:57.935 --> 00:43:02.815
weil es in den vergangenen Jahren viel, ja, auch Literatur dazu gab,

00:43:02.815 --> 00:43:11.311
ist das Modell von Spotify. Spotify hat ja praktisch irgendwann mal publiziert, es gibt

00:43:11.374 --> 00:43:18.855
so ein Organisationsmodell, wo sie sich aufstellen nach gewissen Formen sozusagen. Sie sagen, okay,

00:43:18.855 --> 00:43:25.355
es gibt da sogenannte Tribes, die sich dann halt irgendwie hauptsächlich mit einem, ja,

00:43:25.695 --> 00:43:31.015
einem Produkt, sage ich jetzt mal, in einer gewissen Art und Weise beschäftigen, und darin

00:43:31.015 --> 00:43:37.495
werden dann Dinge auch weiter zerlegt. Und das ist sozusagen die vertikale Sicht der Dinge,

00:43:37.495 --> 00:43:43.255
ja, so dass du irgendwann bei einem Team ankommst und das Team ist halt kostfunktional aufgestellt.

00:43:43.719 --> 00:43:50.335
Und beispielsweise auf der Horizontalen gibt es dann zwischen Teams gewisse Notwendigkeiten

00:43:50.335 --> 00:43:54.655
zusammenzuarbeiten, ja. Beispielsweise wenn man jetzt mal sagt, man nimmt halt irgendwie ein

00:43:54.655 --> 00:44:00.855
Produkt, dieses Produkt hat irgendwie, ja, so eine Art Discovery-Funktion, sei es eine Suche,

00:44:00.855 --> 00:44:07.575
sei es Produkt-Detailseiten oder Articles oder whatever, ja, dann gibt es in diesen verschiedenen

00:44:07.575 --> 00:44:12.695
Teams, die ich jetzt mal so exemplarisch genannt habe, vielleicht Entwicklerinnen und Entwickler,

00:44:12.695 --> 00:44:18.735
die an der Frontend-Tätigkeit nachgehen, und dann organisiert man sich da eventuell auf,

00:44:18.735 --> 00:44:23.135
wir haben es vorhin schon angesprochen, auf, in der Gilde, wo man halt dann sagt,

00:44:23.135 --> 00:44:26.275
okay, wir sprechen viel über Frontend-Tätigkeiten.

00:44:26.275 --> 00:44:29.675
Und genauso passiert das aber auch auf einer Ebene der...

00:44:30.369 --> 00:44:41.928
Product Ownerinnen und Owner, oder dann halt auch im Scrum Master und Agile Coaches Bereich, wo man auch vielleicht sich zusammentut, innerhalb dieser Organisationsstrukturen.

00:44:42.315 --> 00:44:59.438
Das wäre vielleicht noch eine, ja, ein Modell, was halt so die verschiedenen, also einmal das Arbeiten an einem Produkt als solches, aber dann auch auf der Horizontalen, dann sozusagen eher auf dem darüber liegenden Gesamtgoal der Firma oder

00:44:59.752 --> 00:45:02.336
des Teilbereichs sozusagen arbeiten. Das finde ich,

00:45:02.759 --> 00:45:06.279
fand ich noch ganz interessant in der Vergangenheit, in so einem Modell zu arbeiten,

00:45:06.846 --> 00:45:11.752
weil es zum einen dich fokussieren lässt auf ein Produkt, aber zum anderen halt genau das, was ich eben sagte, ne,

00:45:12.374 --> 00:45:16.272
halt auch die darüber liegenden Ziele, die du gemeinschaftlich nur erreichen kannst,

00:45:16.623 --> 00:45:19.306
die auch besser zu verfolgen bietet.

00:45:20.062 --> 00:45:24.455
Jetzt haben wir es im Vorgespräch schon gesagt, das Interessante ist ja an der Geschichte,

00:45:25.022 --> 00:45:31.519
Spotify praktiziert das Modell gar nicht, weil sie sagen, ineffizient, wenn ich mich da richtig erinnere aus der Literatur heraus.

00:45:33.061 --> 00:45:40.439
Ja, oder es war auf jeden Fall, es war, es war, glaube ich, ein Snapshot zu einem bestimmten

00:45:40.439 --> 00:45:45.719
Zeitpunkt in der Entwicklungsgeschichte von Spotify. Und der ist jetzt, also das Modell,

00:45:45.719 --> 00:45:52.159
es, anscheinend hat das so eine Strahlkraft und Wirkung entfaltet, dass immer noch viel

00:45:52.159 --> 00:45:57.439
drüber gesprochen wird und da findet ihr Anklang. Aber das ist – ich kenne den genauen Zeitraum

00:45:57.439 --> 00:46:03.439
nicht – aber es ist gefühlt fünf oder sechs Jahre her mindestens, dass die so gearbeitet haben.

00:46:03.439 --> 00:46:10.999
Und wenn man da die entsprechenden Coaches verfolgt, dann sagen die auch, nee, heutzutage

00:46:10.999 --> 00:46:16.239
gibt es das alles gar nicht mehr. Was ich noch ergänzen wollte, wo die sehr gut waren in der

00:46:16.239 --> 00:46:24.159
Metapher als dieses Thema, sagen wir mal, Selbstorganisation gegen Zielalignment zu

00:46:24.159 --> 00:46:29.719
erklären. Also da gibt es mal so einen ziemlich berühmten Comic, so Autonomy vs. Alignment.

00:46:30.378 --> 00:46:35.159
Wir müssen über diesen Fluss gehen. Hier ist der Plan oder bohrt es mir eine Brücke oder

00:46:35.159 --> 00:46:40.119
bohrt mir ein Fluss. Ihr auf der linken Seite baut die Brücke und die auf der rechten Seite

00:46:40.119 --> 00:46:43.799
bauen den Tunnel. Dann haben wir irgendwie auch was falsch gemacht und so. Also das ist schon,

00:46:43.799 --> 00:46:49.839
bin ich schön und zugänglich da auf jeden Fall erklärt für alle Beteiligten und.

00:46:51.435 --> 00:47:01.904
Ja, jetzt heute in der Praxis, was ich gehört habe, aber dass das Bildertören sagen, ist eigentlich eher, dass sie relativ wenig fixe Modelle und Regeln da haben.

00:47:02.120 --> 00:47:13.445
Das ist auch so eine Theorie tatsächlich, an die ich auch glaube, dass wenn du talentierte und fähige Mitarbeitende hast,

00:47:13.553 --> 00:47:29.937
dann musst du auch gar nicht so viel Prozesse vorgeben oder so eng halten, sondern solche Mitarbeitenden, die wollen ihre eigenen Prozesse schaffen, die dem gerecht werden.

00:47:30.684 --> 00:47:46.445
Vielleicht muss man das ja auch so betrachten, dass man solche Strukturen erst mal zum Starten verwendet, sozusagen als Sprungbrett, damit man eben was hat, um so ein Gefühl dafür zu kriegen, was funktioniert daran gut und was nicht.

00:47:46.445 --> 00:47:50.525
So ein bisschen so wie, dass man eben nicht den Writer's Block hat,

00:47:50.525 --> 00:47:52.875
wenn man halt schon irgendwie was hat.

00:47:53.118 --> 00:47:58.871
Dass man einen Text hat, von dem man ausgeht, und dann fällt einem ja ganz viel ein, was man besser machen kann.

00:47:59.060 --> 00:48:03.825
Also, dass man so ein Modell eben für diesen Zweck heranzieht.

00:48:03.825 --> 00:48:07.882
Und dann macht das ja auch Sinn, dass Spotify das gar nicht mehr benutzt,

00:48:08.197 --> 00:48:13.598
weil das ja seinen Zweck erfüllt hat, nämlich einfach nur ein Sprungbrett zu sein

00:48:13.977 --> 00:48:23.285
in das nächste Ding, was dann wahrscheinlich wirklich nur individuell von genau diesen Mitarbeitern, die da gerade sind, entwickelt werden konnte,

00:48:23.285 --> 00:48:26.805
weil das einfach ihrem naturell entspricht.

00:48:27.480 --> 00:48:31.385
Und wahrscheinlich ist Spotify ja auch in der Größe schon wieder ganz anders

00:48:31.385 --> 00:48:40.205
als vor fünf, sechs Jahren, als sie dieses Modell, diesen Snapshot sozusagen entwickelt haben.

00:48:39.588 --> 00:48:45.538
Ich denke, jedes Modell ist ja auch wahrscheinlich prädestiniert für eine bestimmte Teamgröße.

00:48:45.538 --> 00:48:57.467
Also genauso wie Safe offenbar ja eben für sehr große Organisationen ein Werkzeug sein kann, aber eben nicht für kleine zum Beispiel.

00:48:58.835 --> 00:49:04.998
Ja, es ist ja auch immer eine Frage von, also wie viel organisatorischen Overhead du dir auch

00:49:04.998 --> 00:49:08.158
zu welchem Zeitpunkt halt erlauben kannst oder möchtest.

00:49:08.158 --> 00:49:14.878
Also diese ganzen Austauschformate, die werden, also wie hast du das auch beschrieben,

00:49:14.878 --> 00:49:19.438
also wenn du Scrum of Scrums und die Product Owner müssen alle miteinander sprechen,

00:49:19.438 --> 00:49:25.198
so damit man ein kohärentes Gesamtprodukt halt irgendwie erstellt, so dann ist das wichtig.

00:49:25.400 --> 00:49:29.518
Und dann ist das auch wertvoll, da Zeit rein zu investieren.

00:49:30.208 --> 00:49:36.918
Aber wenn du zehn Leute bist, dann ist das wahrscheinlich overkill.

00:49:36.918 --> 00:49:40.918
Dann solltest du dich in dem Maße damit nicht auseinandersetzen,

00:49:40.918 --> 00:49:44.422
sondern dann hast du eine andere Fragestellung für dein Unternehmen.

00:49:46.601 --> 00:49:49.918
Ansonsten wären wir jetzt wahrscheinlich ja alle sehr gespannt drauf,

00:49:49.918 --> 00:49:53.918
das Unfix-Modell da nochmal tiefer einzusteigen.

00:49:55.144 --> 00:50:01.918
Und wie es sich, du hast gerade schon erwähnt, es grenzt sich so ein bisschen davon ab, von den anderen,

00:50:02.193 --> 00:50:05.918
und ich bin mir nicht sicher, ob es sich vielleicht aus diesem Grund auch genau entwickelt hat,

00:50:05.918 --> 00:50:14.158
Weil eine oft genannte Kritik an Frameworks wie SAVE ist, dass es zu steif ist.

00:50:14.158 --> 00:50:17.878
Das lasse ich jetzt auch einfach mal ganz unkommentiert so weiter stehen,

00:50:17.878 --> 00:50:19.729
sondern es ist einfach eine Kritik da dran.

00:50:19.878 --> 00:50:24.212
Und UNFIX wäre eher etwas flexibler. Habe ich das richtig verstanden?

00:50:25.851 --> 00:50:37.301
Ja, genau. Also, so ist es. Design, also, not another agile scaling framework, ist die Tech Line.

00:50:37.301 --> 00:50:49.040
Und auch eine Organisationsdesign für kontinuierliche Innovation und eine bessere menschliche Erfahrung.

00:50:49.158 --> 00:50:56.061
Und das ist schon ganz spannend dabei zu betrachten.

00:50:56.782 --> 00:50:59.561
Also dazu muss man vielleicht ein bisschen den Hintergrund auch nochmal erzählen.

00:50:59.561 --> 00:51:01.283
Also wo kommt das her?

00:51:01.743 --> 00:51:11.561
Also der Erfinder von unfix, das ist Jürgen Apelow heißt der,

00:51:11.816 --> 00:51:18.201
und der ist Management Consultant und Speaker

00:51:18.541 --> 00:51:23.001
Und der hat, ich glaube, das ist jetzt so knapp zehn Jahre her,

00:51:23.001 --> 00:51:28.001
der hat so ein relativ bekanntes Buch, auch in der agilen Community geschrieben,

00:51:28.001 --> 00:51:31.501
über die Rolle des Managements im Agilen.

00:51:31.501 --> 00:51:35.501
Das hat einen relativ doofen Titel, das heißt Management 3.0,

00:51:35.753 --> 00:51:43.501
ist aber meines Erachtens ein sehr gutes Buch, weil der eben versucht, diesen Widerspruch aufzulösen.

00:51:43.501 --> 00:51:46.501
Also das ist natürlich nochmal so zu der Entstehungsgeschichte.

00:51:47.213 --> 00:51:54.370
Viele Leute denken ja auch, okay, wenn jetzt alles agil ist, dann gibt's kein Management mehr, dann gibt's keine Regime mehr, dann gibt's keine,

00:51:54.919 --> 00:52:05.218
Entscheidungen mehr, die irgendwie über die Team-Ebene hinausgehen. Und da sagt er eben, nee, das ist nicht so. Also es muss diese Rolle trotzdem auch

00:52:05.281 --> 00:52:22.079
geben in einem Unternehmen, aber das Unternehmen muss eben anfassungsfähig sein und muss eben in der Lage sein, eine kohärente, tolle Erfahrung auch nach außen sicherzustellen.

00:52:22.466 --> 00:52:29.551
Dafür hat er sich einen...

00:52:30.649 --> 00:52:38.799
Meines Erachtens ziemlich spannendes Modell ausgedacht. Wenn man, das würde ich euch vielleicht auch empfehlen,

00:52:38.799 --> 00:52:43.198
wenn man auf die Seite von unfix geht, also unfix.com

00:52:43.450 --> 00:52:47.736
und dann ein bisschen runterscrollt, dann kommt einem ganz schnell so ein,

00:52:48.366 --> 00:52:50.544
eine bunte,

00:52:51.444 --> 00:53:03.819
eine bunter Bauplan entgegen, mit ganz vielen unterschiedlichen Strukturen, ganz vielen Smilies, ganz vielen Farben und Kreisen und sonst was.

00:53:03.819 --> 00:53:12.419
Und das wirkt erstmal vielleicht auch ein bisschen erschlagend, aber dahinter stecken meines Erachtens

00:53:12.419 --> 00:53:18.343
und ich sehr, sehr interessante Gedankengänge,

00:53:19.009 --> 00:53:26.919
wie man eben unterschiedliche Bestandteile eines Unternehmens zusammensetzen kann,

00:53:26.919 --> 00:53:31.419
mit einem bestimmten Zweck, um das optimal zu erreichen.

00:53:33.188 --> 00:53:45.179
Und was hat dich darauf stoßen lassen? Also ich meine euer Modell, das ihr praktiziert, das klang ja im Grunde genommen ganz plausibel und gar nicht schlecht.

00:53:45.179 --> 00:53:52.659
Bist du dann so, hast du dann irgendwie das Gefühl gehabt, dass es irgendwie auch an seine Grenzen stößt?

00:53:52.659 --> 00:54:02.544
Oder bist du einfach generell so sozusagen ein Dauerforschender, um zu gucken, was kann man eben besser machen, als wie es jetzt ist?

00:54:02.619 --> 00:54:09.499
Was macht's besser als zum Beispiel das Viable System Model?

00:54:11.259 --> 00:54:17.272
Also ich bin Dauerforscher, das stimmt, und interessiere mich für sehr viel.

00:54:17.605 --> 00:54:23.429
Tatsächlich hat aber wirklich auch unser Organisationsberater, mit dem wir zusammenarbeiten,

00:54:23.429 --> 00:54:28.021
der hat mich auch auf das Modell aufmerksam gemacht. Da war es eben noch ganz frisch.

00:54:28.804 --> 00:54:34.709
Und dann habe ich mich da so ein bisschen reingefuchst und habe gesagt, ah, das ist ja interessant.

00:54:35.240 --> 00:54:49.669
Und was es vielleicht unterscheidet, also im allergrößten ist, dass es, also das VSM, würde ich sagen, ist auf einer größeren, viel, viel größeren Abstraktionsebene.

00:54:49.669 --> 00:54:59.835
Also das ist quasi so ein fast allgemeingültiges Modell der Wirklichkeit, was du auf jede, jedwede Form von Organisation anwenden kannst.

00:55:00.375 --> 00:55:12.789
Und es ist schon sehr gut in der allgemeinen Strukturierung, aber es ist vielleicht ein bisschen weniger angewandt als unfix.

00:55:12.789 --> 00:55:24.069
Also unfix gibt dir konkrete Beispiele, konkrete Zusammenhänge, in denen es Sinn ergeben könnte.

00:55:24.501 --> 00:55:29.869
Eine Crew, das ist auch so ein Terminus, den er da einführt,

00:55:30.271 --> 00:55:34.069
mit einem bestimmten Zweck in deinem Unternehmen einzuführen.

00:55:34.395 --> 00:55:43.069
Und da gibt dir VSM nicht so konkrete Handreichung, sondern das musst du dir eben dann selber überlegen.

00:55:43.604 --> 00:55:51.469
Und was ich tatsächlich auch sehr gut dabei finde, ist eben, dass es ganz starken Wert darauf legt.

00:55:52.894 --> 00:55:58.016
Nicht diese eine Lösung dir vorzukauen, die du dann übernehmen wirst.

00:55:58.430 --> 00:56:04.229
Also werden wir vielleicht später auch noch zukommen. Müssen wir mal gucken, wie detailliert wir jetzt tatsächlich reingehen.

00:56:04.606 --> 00:56:09.349
Aber zum Beispiel haben wir auch immer wieder mal die Diskussion,

00:56:09.349 --> 00:56:11.149
Wir sehen uns im nächsten Video.

00:56:10.772 --> 00:56:14.500
Wie fix sollten denn eigentlich unsere Teamstrukturen tatsächlich sein?

00:56:14.622 --> 00:56:20.117
Also grundsätzlich ist es ja in der Anleitung gut.

00:56:20.873 --> 00:56:28.622
Wenn die Leute regelmäßig in einer dauerhaften Teamzusammensetzung zusammenarbeiten,

00:56:28.622 --> 00:56:32.622
also jenseits vom fachlichen Austausch, auch wenn man die Leute besser kennt,

00:56:32.622 --> 00:56:39.622
Vertrauen zueinander aufbaut und auch dadurch am Ende auch eine leistungsfähige Zusammenarbeit eben gewährleisten kann.

00:56:39.622 --> 00:56:46.062
Laufen kann. Bei uns zum Beispiel im Agenturalltag kann es aber durchaus auch mal sein, dass ein

00:56:46.062 --> 00:56:51.382
Projekt eine Laufzeit von sechs Monaten hat und das andere von drei. Also wir sind zum Glück nicht

00:56:51.382 --> 00:56:59.062
mehr bei, das ist eine Woche und das zwei, aber trotzdem kann es eben sein, dass wir auch zeitgebunden.

00:56:59.062 --> 00:57:07.262
Dann ein neues Team zusammenstellen müssen. Und das erlaubt Anfix auch. Das kann man dann auch

00:57:07.262 --> 00:57:12.022
abbilden. Und dann sagt er, ah, es gibt aber unterschiedliche Arten von Teams. Und je nachdem,

00:57:12.022 --> 00:57:17.782
wie mission-critical das eben ist, kannst du unterschiedliche Verfahrensweisen finden,

00:57:17.782 --> 00:57:24.462
um dieses Team dann zusammenzustellen. Und was ich persönlich auch sehr, sehr dabei mag,

00:57:24.462 --> 00:57:30.702
ist den Dingen halt einfach auch nochmal einen Namen zu geben, damit sie besser kommunizierbar

00:57:30.702 --> 00:57:41.542
sind. Also das ist ja, wie du gesagt hast, im Alltag als Dev war mir, glaube ich, also früher,

00:57:41.542 --> 00:57:48.582
war mir, glaube ich, nicht jeden Tag bewusst, in welcher Struktur oder nach was für einem Modell

00:57:48.582 --> 00:57:54.380
ich da jetzt gerade arbeite. Ich glaube auch nicht, dass alle Unternehmen das machen, aber.

00:57:54.782 --> 00:58:00.422
Aber ich glaube, dass es für den Kontext oder Zusammenhang, in dem du gerade arbeitest,

00:58:00.422 --> 00:58:04.120
ist schon sehr sehr hilfreich eben zu wissen,

00:58:05.489 --> 00:58:13.095
Warum sitzt man mit den Menschen gerade an einer gemeinsamen Aufgabe und mit welchem Zweck tut man das denn eigentlich?

00:58:13.690 --> 00:58:15.850
Und da hilft unfix doch sehr.

00:58:18.128 --> 00:58:24.339
Also diese Teamumstrukturierungen habe ich eigentlich generell immer nur gute Erfahrungen damit gemacht.

00:58:24.339 --> 00:58:32.339
Das haben wir tatsächlich hin und wieder aus, ich glaube, vor allem zwei Gründen gemacht.

00:58:32.339 --> 00:58:36.899
Das eine ist, dass einfach das, jetzt darf ich nicht wieder Englisch reden,

00:58:36.899 --> 00:58:45.779
das Wissen geteilt wird zwischen allen Personen. Das hat den, es hat natürlich am Anfang kurz den

00:58:45.779 --> 00:58:50.819
Nachteil, dass man sich ja ständig irgendwie onboarden muss an irgendwas. Aber es hat natürlich

00:58:50.819 --> 00:58:56.819
genau diesen Vorteil, wenn man jetzt wie wir, es sind sehr kleine Teams im Alltag hat,

00:58:56.819 --> 00:59:01.819
dass ich aber trotzdem den Code überall noch verstehen und lesen kann.

00:59:01.819 --> 00:59:07.819
Oder ich weiß im Notfall zumindest, wer die richtige Ansprechperson gleich dafür ist

00:59:07.819 --> 00:59:12.819
und muss nicht irgendwie in einen, was weiß ich, Channel mit x Personen reinschreiben,

00:59:12.819 --> 00:59:17.819
ey, wer kann mir denn zu diesem Thema mal helfen, sondern ich weiß jetzt immer genau, wen ich ansprechen kann.

00:59:17.819 --> 00:59:24.819
Das andere ist nicht nur, dass das Wissen jetzt über die Codebase oder Wissen über die Produktfeatures geteilt wird.

00:59:25.113 --> 00:59:31.379
Sondern auch den Input, den ich jetzt als Developer zum Beispiel an Code Reviews bekomme.

00:59:31.379 --> 00:59:34.939
Also nur, dass wir kleine Teams haben, heißt jetzt nicht, dass wir keine Code Reviews machen,

00:59:34.939 --> 00:59:43.939
sondern dass wir, obwohl es eine Person nicht in diesem Feature-Team gerade dabei ist, werden die Code Reviews doch durchaus

00:59:43.939 --> 00:59:46.299
an alle Frontend-Apps zum Beispiel weiterverteilt.

00:59:46.584 --> 00:59:51.859
Das heißt, da ist natürlich auch noch ein Austausch. Und hier ist das hilfreich, wenn das verschiedene Personen sind,

00:59:51.859 --> 00:59:58.599
dann bekommst du einmal, sagen wir mal, stärkeres Feedback, da, wo diese Person dann eben auch stark dafür ist.

00:59:58.599 --> 01:00:08.699
Das kann dann ein starkes Feedback, speziell zu HTML, Accessibility und vielleicht CSS sein.

01:00:08.699 --> 01:00:11.205
Auch bei einer anderen Person ist es stark an TypeScript.

01:00:12.367 --> 01:00:18.659
Und da, wie gesagt, diese Teams durchmischen, sehe ich immer große Vorteile da drin.

01:00:18.659 --> 01:00:24.859
Ich habe jetzt tatsächlich noch nie ein Team erlebt, das dann nicht so funktioniert hat. Aber das ist bei uns 20 Personen, die sind natürlich

01:00:24.859 --> 01:00:29.319
auch aufeinander abgestimmt. Was mich jetzt noch interessieren würde, du hattest gerade

01:00:29.319 --> 01:00:33.519
Crews gesagt, eigentlich ist mir jetzt gerade egal, ob das jetzt Guilden, Teams, Crews,

01:00:33.519 --> 01:00:39.119
Workforces, Taskforces, Ferken-Crews sind. Aber sprechen wir dann davon, dass wenn ich

01:00:39.119 --> 01:00:46.139
Teil einer Crew bin, bin ich dann nur Teil dieser Crew oder bin ich vielleicht Teil von mehreren Crews?

01:00:47.349 --> 01:00:53.199
Bei Unfix? Ja, kommt auch an. Also du kannst auch Teil von mehreren sein,

01:00:53.199 --> 01:00:55.199
also das ist da jetzt nicht so festgelegt.

01:00:57.603 --> 01:01:04.199
Für die meisten Mitarbeitenden und Menschen macht es mehr Sinn,

01:01:04.199 --> 01:01:09.199
den Großteil ihrer Zeit in einer Crew zu verbringen.

01:01:09.199 --> 01:01:14.199
Also das ist einfach Stichwort, jetzt muss ich auch denken, das ist ein Komplette Float, ne?

01:01:14.482 --> 01:01:19.199
Das ist schwierig für Menschen in vielen Gruppen gleichzeitig zu arbeiten.

01:01:19.820 --> 01:01:26.699
Aber das heißt nicht, dass du nicht in unterschiedlichen Zusammenhängen mit unterschiedlichen Leuten auch agieren kannst.

01:01:26.699 --> 01:01:29.199
Das ist so ein bisschen auch das, was Hans schon meinte.

01:01:29.199 --> 01:01:38.699
Also du kannst in deinem cross-funktionalen Entwicklungsteam sitzen, kannst aber gleichzeitig dann auch noch Member...

01:01:39.815 --> 01:01:42.359
Ja, da müssen wir vielleicht mal ein bisschen in die Bedürflichkeiten gucken.

01:01:42.359 --> 01:01:46.959
Also, ANSIX bringt da für vieles schon auch, sag ich mal, Vorschläge mit.

01:01:47.322 --> 01:01:55.719
Und Crew begreifen die so, das ist eine Ansammlung von Menschen,

01:01:55.719 --> 01:02:00.679
die mit einem bestimmten Ziel zusammenarbeitet.

01:02:01.150 --> 01:02:07.279
Und wenn es zum Beispiel um so Crossfunk oder so Funktionales Alignment geht,

01:02:07.279 --> 01:02:14.399
Hans beschrieben hat, mit diesen Gilden. Das heißt bei Anfix dann Forum. Also das kann ich auch gleich

01:02:14.399 --> 01:02:19.399
nochmal gucken. Aber ich glaube, die einzelnen Begriffe sind, glaube ich, nicht so wichtig. Es

01:02:19.399 --> 01:02:25.159
ist halt wichtig, dass alle wissen, was gemeint ist. Und du hast bei Anfix dann immer auch gleich

01:02:25.159 --> 01:02:33.959
noch so einen Synonym-Wörterbruch quasi daneben, was es dann auch noch heißen kann. Genau, aber

01:02:33.959 --> 01:02:35.959
über die verschiedenen Formen von Crews.

01:02:36.727 --> 01:02:39.959
Das wäre tatsächlich nochmal spannend, vielleicht sich anzugucken,

01:02:39.959 --> 01:02:43.830
die es geben kann in so einem Unternehmen, weil wir gucken eben sehr stark auf diese

01:02:44.172 --> 01:02:47.574
Sicht des cross-funktionalen Teams,

01:02:48.529 --> 01:02:59.871
also das Entwicklungsteam plus UXler und Product Owner, aber eben in einem Unternehmen kann es eben halt auch noch.

01:03:02.095 --> 01:03:10.359
Jede Menge andere Formen von Crews geben. Da fällt mir auch das, wenn wir jetzt mal außerhalb so schauen.

01:03:11.880 --> 01:03:16.945
Sind dir bei Unfix dann speziell schon Lösungen aufgefallen,

01:03:16.945 --> 01:03:22.025
die jetzt dann mit, was könnte es denn sein, Customer Support oder sowas zusammenhängen?

01:03:22.025 --> 01:03:27.585
Weil das ist ja normalerweise etwas, wofür diese ganzen anderen Frameworks dann da sind,

01:03:27.585 --> 01:03:32.785
damit es dafür irgendwelche Prozesse gibt, wenn irgendwas zum Beispiel mit einem Customer Support reinkommt.

01:03:32.883 --> 01:03:38.785
Oder wenn das Error Monitoring rot schlägt. Wie wird das denn jetzt alles in einen Sprint,

01:03:38.785 --> 01:03:42.785
mir ist das Wort wieder eingefallen, wie kommt das jetzt eigentlich in einen Sprint

01:03:42.785 --> 01:03:45.405
und dafür gibt es das Daily dann etc.

01:03:46.143 --> 01:03:52.285
Aber wenn ich jetzt zum Beispiel meine selbstorganisierten, super fixen Teams habe,

01:03:52.571 --> 01:03:55.587
und die haben alle ihren definierten.

01:03:56.451 --> 01:04:01.745
Ihr definiertes Ziel, Was passiert denn dann, wenn was von außen reinkommt?

01:04:01.745 --> 01:04:06.542
Wie zum Beispiel, es ist jetzt, gut, Production Fix will ich jetzt nicht als Beispiel bringen,

01:04:06.745 --> 01:04:13.745
weil ich hoffe, jede mitarbeitende Person würde bei einem Production Bug mal kurz sagen, hat Prio.

01:04:13.745 --> 01:04:19.745
Aber was ist denn jetzt, wenn irgendwas reinkommt? Wo weiß ich, an welches Team ich treten soll?

01:04:19.745 --> 01:04:24.988
Wenn es jetzt, oh, Crew, Squad, was auch immer. Wenn es dafür keine direkten Personen gibt.

01:04:25.745 --> 01:04:36.601
Hm. Ja, also das ist tatsächlich super, dass du das erwähnst, weil da haben die ein spezielles Konzept, wo sie eben auch meinten,

01:04:36.979 --> 01:04:43.299
einen Mangel bei bestehenden agilen Produktorganisationen entdeckt zu haben.

01:04:43.875 --> 01:04:53.003
Weil sie eben sagen, das ist total super und klasse, dass die autonom und selbstorganisiert arbeiten,

01:04:53.390 --> 01:05:01.245
Aber was da ein bisschen aus dem Blickfeld geraten kann, ist eine.

01:05:03.149 --> 01:05:12.879
Unternehmensweite Sicht auf die Kundenerfahrung. Also der hat da, ich war auch auf der Anfix-Konferenz im letzten Jahr,

01:05:13.222 --> 01:05:18.599
und da hat er so ein Beispiel gemacht von seiner Bank da in den Niederlanden,

01:05:18.599 --> 01:05:27.878
die meinte ja, die wären total klasse und jeder individuelle Kanal mit denen sei super slick ausgearbeitet, also sprich, das,

01:05:28.319 --> 01:05:33.846
weiß ich nicht, Desktop, Online-Banking und die Mobile-App, alle richtig, richtig gut.

01:05:34.117 --> 01:05:39.239
Aber der Moment, in dem die beiden miteinander interagieren müssen.

01:05:39.770 --> 01:05:48.700
Da wäre der komplette Medienbruch und er muss anrufen oder die Zwei-Faktoren-Authentifizierung geht nicht oder so.

01:05:49.078 --> 01:06:00.639
Und da sagt er eben, da wäre es wirklich sinnvoll, eine unternehmensübergreifende Experience-Crew dann ins Leben zu rufen,

01:06:01.087 --> 01:06:08.699
die diese Sicht, also die Kundenperspektive, auf alle Teams verteilen können.

01:06:08.699 --> 01:06:16.139
Also das heißt, idealerweise sitzen die eben dann an der Schnittstelle zu dem

01:06:16.445 --> 01:06:22.399
Customer Support, aber auch zum Experience-Design, was dann eben reinkommt.

01:06:22.909 --> 01:06:28.359
Und nehmen dann auch tatsächlich Einfluss darauf, in der Koordination von den Dev-Teams,

01:06:28.751 --> 01:06:33.159
wie zusammenhängend dann auch die Entwicklungsarbeit gemacht wird.

01:06:33.684 --> 01:06:38.399
Konkrete Vorschläge, wie wichtig jetzt ein Produktionspack ist,

01:06:38.861 --> 01:06:40.094
das ist da nicht drin.

01:06:40.256 --> 01:06:45.612
Aber das finden die bestimmt auch, und würde ich auch sagen, ist wichtig.

01:06:45.684 --> 01:06:50.559
Aber manchmal, es gibt auch Produkte, die sagen, das ist nicht wichtig.

01:06:50.987 --> 01:06:53.012
Wie oft tritt das denn auf?

01:06:53.490 --> 01:07:03.159
Ist das nur bei dem so und so Web-Entwickler, der mir gerade gemailt hat, oder ist das bei ganz vielen

01:07:03.159 --> 01:07:04.184
von meinen Kunden?

01:07:04.279 --> 01:07:08.799
Sag mir mal, wie wertvoll es ist, diesen Bug wirklich zu fixen.

01:07:08.799 --> 01:07:12.599
Also das sind dann Produktmanagement-Entscheidungen,

01:07:13.105 --> 01:07:23.519
die uns in der Entwickler-Inniere dann vielleicht ein bisschen wehtun, aber da gibt es natürlich noch ein Geschäftsinteresse dahinter.

01:07:26.447 --> 01:07:30.777
Aber dann könnte ich doch eigentlich auch, wenn wir jetzt diese selbstorganisierten,

01:07:30.817 --> 01:07:32.640
schnellen Teams hier haben oder Crews,

01:07:33.423 --> 01:07:37.377
auch zum Beispiel sagen, das liegt vor und wir wissen,

01:07:37.417 --> 01:07:40.937
dass wir das technisch in 15 Minuten fixen können,

01:07:40.977 --> 01:07:43.817
weil, keine Ahnung, fehlt ein Semikolon.

01:07:43.857 --> 01:07:45.417
Quatsch, Amalinta.

01:07:45.676 --> 01:07:52.137
Aber dass wir gar nicht diese Schleife jetzt ... Weil das ist das, was ich von diesen großen Frameworks kenne

01:07:52.177 --> 01:07:57.657
und was jetzt generell mein Kritikpunkt dran wäre, ist, dass manche Sachen aufgebauscht werden.

01:07:57.657 --> 01:08:04.177
Und ich verstehe schon auch den Sinn dahinter. Denn ich glaube nicht, dass, wenn man eine Organisation von 2.000 Personen hat,

01:08:04.177 --> 01:08:07.577
dass, wenn ständig jeder da eine Entscheidung für sich selber trifft,

01:08:07.577 --> 01:08:10.177
dass das große Ganze noch das Richtige rauskommt.

01:08:10.177 --> 01:08:16.057
Aber jetzt so im Kleinen könnte ich dann bei Anfix auch sagen,

01:08:16.057 --> 01:08:23.017
bevor ich jetzt überhaupt 5 min eine Nachricht schreibe, entscheide ich, ich fix das in 15 min.

01:08:23.512 --> 01:08:29.617
Ohne eben jetzt Produkt und Customer und Experience-Crews zu fragen.

01:08:32.397 --> 01:08:39.847
Ja, würde ich sagen, aber es ist ja eine Frage von, auch da eher Autonomie und Alignment.

01:08:39.847 --> 01:08:48.647
Also das, sag ich mal so, das Anfix ist schon eng verbunden auch mit der agilen Sichtweise auf Produktentwicklung

01:08:48.647 --> 01:08:52.847
und auch so das dahinterstehende Wertesystem.

01:08:53.021 --> 01:08:59.447
Und da geht es nicht darum, jetzt einen riesengroßen Bürokratie-Layer einzuführen in der Organisation.

01:08:59.447 --> 01:09:11.247
Und ich würde sagen, wenn dein Team gut erleint ist und selber gut beurteilen kann, wie wichtig dieser Bugfix tatsächlich ist,

01:09:11.247 --> 01:09:15.047
dann sollen sie es selbstverständlich auch selbst entscheiden können.

01:09:15.671 --> 01:09:22.647
Aber wenn du in großen Organisationen natürlich zusammendenkst, und ich kenne das Beispiel genau, was du sagst,

01:09:22.647 --> 01:09:28.647
Also stell dir vor, der direkte Draht vom Kundensupport ins Dev-Team kommt,

01:09:28.647 --> 01:09:34.647
und du hast jetzt ein Produkt, was von hunderttausenden Leuten halt irgendwie benutzt wird,

01:09:34.647 --> 01:09:42.647
dann wirst du schon in irgendeiner Weise da einen Filter- oder Bewertungsmechanismus einführen müssen.

01:09:42.647 --> 01:09:51.647
Und dann gibt es natürlich unterschiedliche, ich sag mal, Autonomiegrade von so einem Team auch tatsächlich.

01:09:51.647 --> 01:10:00.687
Also Selbstorganisation heißt ja erst einmal gar nicht unbedingt, die entscheiden selber komplett,

01:10:00.687 --> 01:10:05.487
was sie machen, sondern sie entscheiden selber, wie sie es machen. Das ist so im Besonderen der

01:10:05.487 --> 01:10:15.007
erste Schritt. Und wie detailliert und wie fein gerade die Arbeit in so einem Team dann eingesteuert

01:10:15.007 --> 01:10:21.447
wird, das würde ich sagen, das ist Verhandlungssache. Ich persönlich hätte keine Lust auf so eine kleine

01:10:21.447 --> 01:10:27.447
Ebene da den Informationsfluss dann eben sicherzustellen. So und wenn das bekannt wird.

01:10:30.183 --> 01:10:38.645
Und man hat ein gutes Gefühl, das soll man machen. Aber das ist für mich jetzt nicht spezifisch zu anfällig, sondern das ist ein gesunder Menschenverstand.

01:10:39.050 --> 01:10:47.710
Aber wenn es sich häuft und wenn es eben tausend solche Anfragen gibt, dann hast du vielleicht ein Qualitätsproblem in deinem Produkt.

01:10:48.124 --> 01:10:56.033
Aber eben auch dann wird irgendjemand in der Firma, der für die allgemeine Zielverantwortung zuständig ist,

01:10:56.033 --> 01:11:03.633
dann irgendwann auch vielleicht fragen, was macht man hier eigentlich mit der Zeit? Also warum fixt

01:11:03.633 --> 01:11:08.153
ihr nur Kundenanfragen und wir haben doch eigentlich andere Ziele? Und dann muss man

01:11:08.153 --> 01:11:15.073
mal ein anderes Gespräch führen. Wir sind hier zu schnell durchgepeitscht und das kommt ständig.

01:11:15.636 --> 01:11:18.913
Wir müssen ja vielleicht erstmal in unsere Gruppe ist halt irgendwie weiter reingucken.

01:11:18.913 --> 01:11:29.073
Dann eine ganz andere Frage. Wir hatten davor die Kritikpunkte an anderen Frameworks,

01:11:29.073 --> 01:11:32.073
beziehungsweise ich glaube, Anfik sagt ja auch über sich selber, dass es gar kein

01:11:32.073 --> 01:11:39.833
Framework in dem Sinne sei, aber dennoch die Kritiken an anderen. Jetzt gar nicht,

01:11:39.833 --> 01:11:44.993
dass es zu unflexibel wäre, sondern eher auf den Punkt, dass...

01:11:48.241 --> 01:11:53.151
Ja, zum Beispiel, wir machen jetzt safe, Punkt, und jetzt viel Spaß.

01:11:53.310 --> 01:11:55.151
So dieses Ungelernte.

01:11:55.151 --> 01:12:00.811
Und dann gibt man oft die Kritik an dem Framework, aber weiß vielleicht auch wirklich gar nicht, worum es geht.

01:12:00.811 --> 01:12:04.411
Und es war jetzt gar nicht das Problem, dass es zu inflexibel wäre,

01:12:04.411 --> 01:12:07.411
sondern dass auch gar kein Wissen geherrscht hat.

01:12:07.687 --> 01:12:12.411
Und ich denke auch, wenn man jetzt von heute auf morgen, selbst wenn das Wissen darüber da ist,

01:12:12.411 --> 01:12:16.411
man sagt, man hat da jetzt irgendwie, keine Ahnung, zwei, drei Stunden Schulung,

01:12:16.411 --> 01:12:23.111
jedem, wie es geht. Aber es ist von heute auf morgen ein großer Kontrast zu vorher. Denkst du,

01:12:23.111 --> 01:12:28.671
diese Gefahren würden auch bei Unfix herrschen? Oder ist es vielleicht sogar in diesem,

01:12:28.671 --> 01:12:34.711
nicht Framework, schon drinnen, dass man vielleicht gar nicht so viele Änderungen

01:12:34.711 --> 01:12:40.051
auf einmal machen muss? Oder dass es auch gar nicht so viele komplizierte Begriffe gibt,

01:12:40.051 --> 01:12:45.111
dass man es quasi nicht falsch machen kann? Oder würdest du schon eher sagen,

01:12:45.111 --> 01:12:51.060
Wenn man das machen möchte, sollte es auf jeden Fall ein paar Personen sein, die das mal voll durchgeblickt haben,

01:12:51.537 --> 01:12:57.442
um es dann auch tatsächlich richtig, im Sinne von richtig für diese Organisation eben zu machen.

01:12:57.937 --> 01:13:09.469
Also ich glaube ehrlicherweise, dass so Strukturierungs- und Transformationsprozesse,

01:13:09.991 --> 01:13:15.194
Ich glaube, es kommt nicht so stark auf das Modell an, tatsächlich, sondern es kommt darauf an.

01:13:17.049 --> 01:13:27.096
Wie man sie einführt und wie man die Personen, die davon betroffen sind, dann einbindet und mit denen kommuniziert.

01:13:27.339 --> 01:13:33.541
Und genau das, was du beschreibst, hey Leute, von heute auf morgen, wir machen jetzt alles anders,

01:13:33.947 --> 01:13:38.843
das funktioniert im Alltag nach meiner Erfahrung nicht so gut.

01:13:39.537 --> 01:13:47.671
Und dann muss man eben ganz viel auch wirklich erklären, warum machen wir das denn jetzt so?

01:13:47.671 --> 01:13:51.591
Und auch nach meiner Erfahrung fehlt es ja auch total hinzuhören und zu sagen,

01:13:51.591 --> 01:13:56.471
Leute, seht ihr hier was, was wir vielleicht übersehen haben?

01:13:56.471 --> 01:14:03.871
Also weil die Grundprinzipien auch in Anfix oder auch von Agila-Vorgehensweise,

01:14:04.428 --> 01:14:11.314
oder auch von dem einen Modell, was wir noch nicht erwähnt haben, ist auch von Holacracy zum Beispiel.

01:14:12.305 --> 01:14:18.851
Du versuchst Entscheidungsmechanismen, also Stichwort Autonomie.

01:14:20.479 --> 01:14:31.786
So weit wie möglich in die Teile deines Unternehmens zu verlagern, die direkt davon betroffen sind oder die direkt den Informationszugang haben.

01:14:32.191 --> 01:14:44.489
Und deswegen ist es meistens, nicht immer, aber meistens eine schlechte Idee, von oben herab komplett krasse Detailplanung zu machen und zu sagen,

01:14:44.489 --> 01:14:48.953
mal Leute, wir haben uns ausgedacht, wo wir hinwollen und genau so kommen wir dahin. Und.

01:14:49.409 --> 01:14:58.849
Dann hast du eigentlich in der Regel, überlässt du deinen Mitarbeitenden wenig Gestaltungsspielraum

01:14:58.849 --> 01:15:05.169
und das kann sich eben auch auf Motivation niederschlagen. Und eventuell verpasst du

01:15:05.169 --> 01:15:14.312
auch Chancen, weil du bestimmte Informationslücken halt gar nicht siehst. Insofern würde ich

01:15:14.449 --> 01:15:21.209
ich sagen, nee, gibt keine Garantie für, dass das mit unfix dann auch total gut klappt, sondern ich

01:15:21.209 --> 01:15:27.129
glaube nur bei unfix ist eben der Anspruch, ich gebe dir keinen konkreten Bauplan, den du jetzt

01:15:27.129 --> 01:15:32.609
nur eins zu eins umsetzen musst und dann wird alles gut. Das ist vielleicht eher das Problem

01:15:32.609 --> 01:15:37.769
dann, es ist noch ein bisschen schwieriger, weil es dir nicht den konkreten Bauplan gibt und dann

01:15:37.769 --> 01:15:48.689
das alles gut, sondern du bist quasi gezwungen, das über einen größeren Zusammenhang im Team

01:15:48.689 --> 01:15:55.049
auszuarbeiten. Hört man Leute, wie wollen wir das dann jetzt machen? Und für diese Frage,

01:15:55.049 --> 01:16:02.330
wie wollen wir das denn jetzt machen, da bietet es dir sehr viele verschiedene Muster an, die du.

01:16:02.609 --> 01:16:03.609
Nutzen kannst.

01:16:03.609 --> 01:16:14.089
Ja, ich finde vor allem diese Balance schon spannend zwischen nicht alles von oben herab

01:16:14.089 --> 01:16:21.649
vorgeben und in dem Sinne auch nicht micromanagen und die Teams können autonom für sich selber

01:16:21.649 --> 01:16:26.329
entscheiden, vielleicht nicht was, sondern wie sie etwas arbeiten, wie sie sich strukturieren,

01:16:26.329 --> 01:16:31.129
wahrscheinlich auch solche Fragen, wie sie sich wann wie treffen und über die Arbeit sprechen.

01:16:31.129 --> 01:16:39.169
Im Gegensatz zu wie viel Wissen, wie viel Informationen können jetzt die einzelnen

01:16:39.169 --> 01:16:45.689
Teams haben, ohne eben, dass der Kopf platzt, um dann diese richtigen Entscheidungen aber

01:16:45.689 --> 01:16:51.609
auch zu treffen. Das ist auf jeden Fall eine spannende Sicht da drauf und es klingt für

01:16:51.609 --> 01:16:54.089
Für mich jetzt so, als hätte unfix hier den...

01:16:55.453 --> 01:17:00.903
Die gleichzeitige Herausforderung, aber auch Vorteil, dass man sich irgendwie damit auseinandersetzen muss.

01:17:00.903 --> 01:17:04.903
Es kann vielleicht auch ganz einfach sein zu sagen, wir arbeiten jetzt nach diesem Prozess.

01:17:04.903 --> 01:17:08.803
Also sagen wir mal, wir haben jetzt fünf Tage in der Woche ein Daily,

01:17:08.803 --> 01:17:11.117
weil irgendjemand hat mal gesagt, das wäre gut.

01:17:12.495 --> 01:17:16.743
Aber wenn man das nicht so für sich selber entschieden hat, wozu man das jetzt eigentlich nutzen will,

01:17:17.086 --> 01:17:21.303
ich meine, wir kennen wahrscheinlich alle, entweder haben wir es selber im eigenen Leib erfahren müssen

01:17:21.303 --> 01:17:24.103
oder wir kennen Erzählungen von Freunden und Freundinnen darüber,

01:17:24.216 --> 01:17:30.263
Wie es heißt, ja, keine Ahnung, Dev1 hat gesagt, ich arbeite an Ticket1, danach arbeite ich an Ticket2.

01:17:30.303 --> 01:17:32.463
So, ja gut, schon klar.

01:17:32.858 --> 01:17:37.845
Ja, deswegen finde ich das schon auf jeden Fall spannend. Ich denke aber auch,

01:17:38.790 --> 01:17:44.983
man kann wahrscheinlich nicht davon ausgehen zu sagen, wir machen jetzt dieses Ding, und dann läuft's einfach.

01:17:45.023 --> 01:17:47.504
Denn die Frage ist ja auch, wie du am Anfang schon meintest,

01:17:47.943 --> 01:17:53.140
wie viel Zeit hat man denn eigentlich im Alltag, um sich mal nebenbei um so was zu kümmern?

01:17:53.580 --> 01:17:59.315
Hast du da die Erfahrung gemacht oder wie war das bei euch so im Sinne, gab es da jetzt dedizierte Personen,

01:17:59.675 --> 01:18:06.283
die da mal kurzfristig zumindest irgendwie Vollzeit daran gearbeitet haben oder sogar langfristig

01:18:06.652 --> 01:18:09.703
Vollzeit an Organisationen arbeiten?

01:18:09.992 --> 01:18:14.448
Oder schafft man das irgendwie sogar nebenbei verschiedene Personen?

01:18:15.303 --> 01:18:16.572
Wie war es bei euch?

01:18:18.319 --> 01:18:27.243
Ich glaube, der größte Schritt bei uns war quasi von keiner bewussten Organisationsform zu einer.

01:18:27.243 --> 01:18:31.607
Also das war schon ein verhältnismäßig großer Schritt.

01:18:32.110 --> 01:18:44.743
Weil damit kommen dann eben auch solche Fragen. Es macht nicht mehr jeder alles, sondern dann fängt man ja auch an, so ein bisschen Grenzen einzuziehen zum Unternehmen.

01:18:44.743 --> 01:18:50.743
Und das hat immer Redebedarf. Also das halt dann, ist das dann jetzt noch Teil von meinem Job oder nicht?

01:18:50.743 --> 01:18:56.743
Und da war es definitiv nicht so ein Ding, was wir so mal eben gemacht haben,

01:18:56.743 --> 01:19:02.743
sondern da haben wir uns wirklich mehrfach dann mit dem Management und mit dem Leadership-Team zusammen

01:19:02.743 --> 01:19:10.743
eingeschlossen und viele Sachen gemeinsam erarbeitet und dann eben halt auch gesprochen,

01:19:10.743 --> 01:19:14.421
wie wir die Sachen dann kommunizieren und wie wir sie tatsächlich einführen.

01:19:14.871 --> 01:19:17.968
Und ansonsten ist es bei uns so ein... Naja, also für...

01:19:19.390 --> 01:19:26.840
Jetzt Organisationsentwicklung in dem Sinne und Change, da gibt es jetzt schon feste Prozesse.

01:19:26.840 --> 01:19:32.340
Es ist jetzt gerade keine, also bei uns steht jetzt, ist jetzt auch noch nicht in Stein gepeistet,

01:19:32.340 --> 01:19:37.040
wie am fix wird es jetzt hier als nächstes so, sondern das ist das, was ich aktuell am spannendsten finde

01:19:37.040 --> 01:19:41.140
und wo ich mir gut vorstellen kann, dass wir uns daraus bedienen.

01:19:41.590 --> 01:19:48.040
Aber es gibt jetzt nicht die eine riesengroße Change-Initiative, in der wir sagen,

01:19:48.040 --> 01:19:53.040
Wir müssen jetzt alle Strukturen, die wir bei uns haben, überprüfen und alle Teams neu basken.

01:19:53.040 --> 01:19:54.679
So was gibt's jetzt gerade nicht.

01:19:55.291 --> 01:20:01.040
Und wenn es die gebe, dann könnte, würde ich mir vorstellen,

01:20:01.040 --> 01:20:03.033
würde es bei uns eher so laufen, dass wir,

01:20:03.799 --> 01:20:08.921
das auch eher so graduell ausrollen und dann eben nochmal vorfühlen,

01:20:09.040 --> 01:20:12.040
tatsächlich in den Teams und Strukturen,

01:20:12.620 --> 01:20:16.040
wie gut funktioniert's denn gerade, wo fehlt euch vielleicht mal Information,

01:20:16.040 --> 01:20:22.200
Informationen, weil was super spannend ist, was du auch beschrieben hast Vanessa, es gibt halt das

01:20:22.200 --> 01:20:31.240
offizielle Organigramm in der Firma und es gibt das informelle. Und die Leute.

01:20:33.236 --> 01:20:38.796
Besorgen sich immer alle Informationen, die sie brauchen, um ihren Job machen zu können.

01:20:38.908 --> 01:20:45.101
Und das geht eigentlich immer kreuz und quer und links oben, geradeaus, rechts unten und,

01:20:45.659 --> 01:20:51.780
bildet in den allerwenigsten Fällen zum Beispiel den Hierarchie-Layer tatsächlich ab in der Firma.

01:20:52.006 --> 01:20:56.660
Und lässt sich auch überhaupt nicht vermeiden. Das ist auch nicht schlimm.

01:20:57.110 --> 01:21:08.716
Aber es ist natürlich so, wenn du zum Beispiel merkst, dass du im Alltag häufiger mit Leuten außerhalb von deinem Team sprechen musst als mit deinem Team,

01:21:08.885 --> 01:21:12.855
dann könnte es angebracht sein, dass du eigentlich in einem anderen Team sitzen musst.

01:21:13.098 --> 01:21:22.556
Weil mit deinem Team selber hast du eigentlich keinen Informationsaustausch, sondern du redest eigentlich immer mit der Kraft aus dem anderen Team.

01:21:22.556 --> 01:21:25.756
Und ihr habt da eigentlich irgendeine Initiative, die macht ihr gemeinsam oder so.

01:21:25.756 --> 01:21:28.897
Das wären dann Punkte, wo das spannend wäre, das zu erfahren.

01:21:29.464 --> 01:21:37.556
Alles klar. Gibt es denn ansonsten noch Punkte, auf die du speziell eingehen möchtest?

01:21:38.656 --> 01:21:44.156
Na ja, also ich finde, wie gesagt, ich finde spannend, die verschiedenen Arten von Crews.

01:21:44.840 --> 01:21:50.156
Ich finde aber auch spannend, aber da würde ich auch exemplarisch vielleicht nur zwei,

01:21:50.156 --> 01:22:00.516
Sachen nehmen. Was die eben auch noch zur Hand geben, sind so Modelle und Hilfsmittel tatsächlich

01:22:00.516 --> 01:22:07.556
dann zur Prozessorganisation. Die sind aber auch nicht so stark, also weil wir jetzt so viel darüber

01:22:07.556 --> 01:22:12.450
gesprochen haben, so, wann mache ich meine Dailies und Retros und so. Ne, die gehen tatsächlich

01:22:12.716 --> 01:22:16.564
noch mal so ein bisschen in eine andere Richtung. Die gehen tatsächlich ans Eingemachte, zum Beispiel,

01:22:17.156 --> 01:22:19.139
Beispiel.

01:22:20.012 --> 01:22:29.982
Wie delegiere ich Arbeit in einem Unternehmen? Und da gibt es zum Beispiel, das ist auch eins zu eins aus diesem Management 3.0 Buch übernommen,

01:22:29.982 --> 01:22:37.182
da gibt es so eine ganz lustige Übung, aber die ist auch wirklich hilfreich.

01:22:37.539 --> 01:22:42.222
Das nennen sie Delegation Levels oder Delegation Poker.

01:22:42.617 --> 01:22:47.901
Und da kannst du zum Beispiel mit einem Team halt eine Übung machen und sagen,

01:22:48.432 --> 01:22:53.702
Hört mal, Leute, ist euch klar, also Führungskraft mit dem Team,

01:22:53.987 --> 01:22:57.782
nach was für einem Delegationsmuster hier eigentlich Sachen gerade entschieden werden.

01:22:57.782 --> 01:23:01.662
Und das kann man tatsächlich auch so, ähnlich wie, das werdet ihr vielleicht mal gemacht haben,

01:23:01.662 --> 01:23:05.702
wie so Planning-Poker kann man dann Delegation-Poker spielen.

01:23:05.702 --> 01:23:09.062
Das ist eigentlich ganz lustig und ganz schön.

01:23:09.452 --> 01:23:16.420
Und zwar Delegation im Sinne von, da gibt's dann so unterschiedliche Level, sieben Stück,

01:23:16.807 --> 01:23:20.002
von Leute, ich erzähle es euch, wie es jetzt gemacht wird,

01:23:20.084 --> 01:23:25.242
bis hin zu ihr macht es komplett eigenständig und müsst mir auch nicht erzählen, was ihr da treibt.

01:23:25.782 --> 01:23:34.002
Und dazwischen gibt es eben aber Graubereiche. Und das finde ich ist das Tolle bei unfix, weil es diese Graubereiche versucht auszufüllen.

01:23:34.002 --> 01:23:42.002
Also zu sagen, in den und den Bereichen könnt ihr komplett eigenständig agieren

01:23:42.176 --> 01:23:46.202
Oder ihr informiert mich zumindest, was ich halt irgendwie mache,

01:23:46.202 --> 01:23:49.108
jetzt aus der Perspektive der Führungskraft gesprochen.

01:23:49.729 --> 01:23:57.402
Aber in diesem und jenem Bereich möchte ich bitte auch noch weiterhin das letzte Wort haben.

01:23:57.402 --> 01:24:03.902
Aber ich committe mich darauf, bevor ich eine Entscheidung treffe, zum Beispiel das Team anzuhören.

01:24:04.042 --> 01:24:08.502
Das ist eine andere Vorgehensweise, als zu sagen, ich mache es komplett alleine.

01:24:09.173 --> 01:24:17.023
Und das ist ein ganz, finde ich, schönes und sympathisches Ding und was ich mir vorstellen kann, was die Arbeit erleichtert.

01:24:17.023 --> 01:24:21.023
Und am Ende ist das Ziel natürlich davon, dass das Team autonomer wird.

01:24:21.023 --> 01:24:27.023
Also muss der Führungskraft auch bereit sein, Dinge dann abzugeben, aber eben auch Klarheit darüber zu haben.

01:24:27.023 --> 01:24:34.023
Weil das sind ja immer dann die Sachen, wo es so ein bisschen pritzelt vielleicht in der unternehmischen Gestaltung.

01:24:34.023 --> 01:24:43.143
Ist so, bin ich jetzt genügend einbezogen worden? Das Gefühl, das kennt ihr bestimmt auch im Alltag,

01:24:43.143 --> 01:24:50.343
ist das jetzt ohne mich Erfolg? Warum denn eigentlich? Oder eben auch nicht?

01:24:50.809 --> 01:25:01.494
Ich kenne das auch andersrum. Also ich kenne auch die Erfahrungen, in denen man in alles mit einbezogen wird.

01:25:01.756 --> 01:25:07.382
Und ich glaube, ich gelte schon immer gerne so ein bisschen als die Dev-Beschützerin.

01:25:07.598 --> 01:25:11.743
Ich versuch's nicht zu stark zu machen, aber ich frag mich eben auch manchmal,

01:25:11.783 --> 01:25:16.623
wo diese Grenze ist an zu viel Information, wenn man grade wieder zur kognitiven Load geht.

01:25:16.870 --> 01:25:23.863
Und muss jede Person immer an alles einbezogen werden? Das ist jetzt sehr von eigenen Erfahrungen abhängig.

01:25:23.903 --> 01:25:28.249
Also, ich kann mir vorstellen, dass mir grade 50 Leute sehr stark widersprechen wollen.

01:25:28.826 --> 01:25:37.980
Das sind natürlich immer Extrembeispiele dann. Apropos persönliche Erfahrungen, ich habe jetzt gerade schon relativ viele Fragen gestellt.

01:25:38.395 --> 01:25:47.263
Hans, hast du noch Einschätzungen dafür? Gefallen dir diese Grauzonen ganz persönlich?

01:25:47.361 --> 01:25:52.051
Oder siehst du das eher bei diesen, es ist doch eigentlich auch ganz gut, wenn es ein Regelwerk gibt

01:25:52.263 --> 01:25:54.869
und wir halten uns einfach alle da dran und dann ist es gut.

01:25:57.092 --> 01:26:18.401
Ja, also ich glaube, das Problem ist ja eben schon ein bisschen angeklungen, auch es gibt halt nicht diese eine Regel im Normalfall, die für alle Szenarien gilt, also man muss halt häufig mal irgendwie situativ reagieren, ne, und mit einer Information oder einer Entscheidung macht man halt eher so nach dem Motto.

01:26:18.986 --> 01:26:21.802
Die muss halt demokratisch gefällt werden.

01:26:21.802 --> 01:26:24.702
Manche Sachen willst du halt hierarchisch fällen müssen.

01:26:25.018 --> 01:26:29.602
Und das kommt halt so ein Stück weit einfach drauf an, was ist der Kontext, in dem du gerade unterwegs bist.

01:26:29.602 --> 01:26:31.274
Wenn deine Website down ist,

01:26:31.832 --> 01:26:34.602
und du jetzt aber erst noch mal mit allen diskutieren möchtest,

01:26:34.602 --> 01:26:39.602
wie du denn am besten jetzt den Bug anfasst, und dafür brauchst du halt irgendwie eine Stunde,

01:26:40.160 --> 01:26:44.402
dann ist das vielleicht nicht so die ideale Vorgehensweise, sondern dann ist es vielleicht ganz gut,

01:26:44.402 --> 01:26:46.884
eine gewisse Struktur zu haben, ja.

01:26:47.298 --> 01:27:03.827
Und wenn die aber vorher gemeinschaftlich bestimmt wurde und da vielleicht die ausreichend sozusagen Demokratie geherrscht hat, dann führt das halt vielleicht dazu, dass du halt dieses, also dass du dahinter stehst, wie es dann abläuft.

01:27:04.106 --> 01:27:12.902
Und ich glaube, das ist so ein Stück weit, was man halt für viele Szenarien, die jetzt gerade schon beschrieben wurden oder so, halt gut anwenden kann.

01:27:12.902 --> 01:27:15.662
Es ist halt immer situativ, es kommt auf das Unternehmen an.

01:27:15.662 --> 01:27:21.262
Wir haben vorhin schon mal angesprochen, es gibt halt auch Unternehmen, bei denen das vielleicht anders gar nicht funktioniert.

01:27:21.262 --> 01:27:25.382
Ich nehme mal eine Feuerwehr oder das Militär wurde irgendwann mal,

01:27:25.382 --> 01:27:28.502
haben wir, glaube ich, einfach mal gesagt am Anfang.

01:27:29.600 --> 01:27:34.142
Das sind halt so, ja, und da muss man halt sehr, sehr gut einfach drauf gucken,

01:27:34.142 --> 01:27:40.422
in welchem Kontext macht es einfach Sinn, wie sich, also wie organisiert man sich auch?

01:27:40.422 --> 01:27:44.222
Und ich glaube, das ist für mich so ein bisschen das, was wir jetzt auch mal gehört haben,

01:27:44.222 --> 01:27:46.182
auch mit den unterschiedlichen Ansätzen.

01:27:46.182 --> 01:27:55.462
Und bei Anfix, glaube ich, Ein Ansatz, der versucht, viele sehr gute Praktiken zu bündeln.

01:27:57.723 --> 01:28:12.373
Ja, so würde ich es auch sagen. Also ich glaube auch, in Anfieber ist nicht drin, also im Gegenteil, jeder redet mit jedem jederzeit.

01:28:12.373 --> 01:28:18.933
Also ein bisschen so aus dem Nähkästen kann ich sagen, bei uns findet das manchmal statt.

01:28:18.933 --> 01:28:29.333
Also, da würde ich sagen, das ist eher ein relativ hoher Austausch, von dem ich vielleicht dann auch manchmal ein bisschen betroffen bin und dann manchmal denke,

01:28:29.333 --> 01:28:34.933
okay, Moment, muss das jetzt wirklich alle Leute jetzt irgendwie da angehen oder nicht?

01:28:34.933 --> 01:28:45.933
Also, sondern eher wirklich das aktiv zu gestalten und darüber Klarheit zu machen oder Klarheit herzustellen.

01:28:47.010 --> 01:28:53.653
Und Bassan sagt, klar, man muss auch situativ immer noch Entscheidungen treffen können

01:28:53.653 --> 01:28:57.213
oder auch schnell reagieren können.

01:28:57.948 --> 01:29:05.133
Und wenn ihr diese Delegationsskala eigentlich anguckt, die so von eins bis sieben da geht,

01:29:05.133 --> 01:29:08.173
wenn ihr euch diese Kärtchen anguckt – ich kann es euch auch nochmal schicken –,

01:29:08.173 --> 01:29:20.953
so, dann ist eigentlich das Schwierigste eigentlich immer, wenn keine direkte Delegation stattfindet,

01:29:20.953 --> 01:29:24.853
also wenn man sich in der Mitte treffen muss, ist eigentlich immer das Schlimmste. Also wenn

01:29:24.853 --> 01:29:30.293
alle Beteiligten übereinstimmen müssen, dann ist eigentlich klar, dann braucht es ewig,

01:29:30.293 --> 01:29:34.933
um eine Entscheidung finden zu können. Und deswegen sind meistens eigentlich die Verfahren,

01:29:34.933 --> 01:29:41.413
die just good enough sind, also die dann eher andersherum sind. Die Führungskraft berät mit

01:29:41.413 --> 01:29:47.493
dem Team oder mit einzelnen Mitgliedern aus dem Team, holt da die Expertenmeinung ein und trifft

01:29:47.493 --> 01:29:53.693
dann die Entscheidung. Oder andersherum, das Team trifft die Entscheidung, aber holt den Rat der

01:29:53.693 --> 01:29:58.653
Führungskraft ein. Nach meiner Erfahrung, die funktionieren dann auf jeden Fall schneller.

01:29:59.029 --> 01:30:10.353
So, das ist einfach völlig klar. Wenn man das aber eben im Vorfeld weiß, dann kann man auf jeden Fall mehr Klarheit darüber im Leben auch herstellen.

01:30:11.218 --> 01:30:20.653
Also das ist auf jeden Fall ein Modell, was ich ganz schön fand und was ich direkt daran anschließend vielleicht noch vorschlagen würde, uns nochmal anzugucken, ist tatsächlich, wo wir auch schon darüber gesprochen haben,

01:30:21.417 --> 01:30:28.713
wäre Entscheidungsfindung. Also wir haben eben über Delegation gesprochen und das andere ist

01:30:28.713 --> 01:30:30.713
Entscheidungsfindung.

01:30:33.480 --> 01:30:51.241
Und auch da gibt es quasi so eine Art Spielkarten oder Modell, wo sich ein Team überlegen kann oder eben auch die Führungskraft oder die Organisationsentwickler,

01:30:51.790 --> 01:30:58.057
in welchen Bereichen wollen wir nach was für einem Verfahren eine Entscheidung treffen?

01:30:58.130 --> 01:31:10.066
Also eigentlich genau das, was du gerade meintest, Hans. Also wann ist es quasi urdemokratisch oder wann wird das hier autokratisch durchgeführt?

01:31:10.750 --> 01:31:15.470
Und da ganz viele Sachen kennt man bestimmt auch aus dem Alltag daraus.

01:31:15.470 --> 01:31:18.670
Das ist jetzt nicht so revolutionär da drin.

01:31:19.130 --> 01:31:24.350
Aber es ist schon spannend, da als Team drüber zu reflektieren.

01:31:24.350 --> 01:31:31.970
Und gerade wenn man in, was weiß ich, Scrum-Teams arbeitet und dann auch jemanden hat, der Prozessbegleitung macht,

01:31:32.175 --> 01:31:38.150
dann können solche Sachen eben in einem Team halt auch vereinfacht werden oder abgekürzt werden.

01:31:38.150 --> 01:31:51.930
Und dann sagt man, die super schwerwiegenden Entscheidungen zur Architektur, da muss es in einstimmig oder Mehrheitsvoting

01:31:51.930 --> 01:32:00.330
mindestens irgendwie dazu kommen und in vermeintlich einfacheren Entscheidungen oder nicht so schwerwiegenderen Sachen,

01:32:00.330 --> 01:32:14.630
da kann auch jede Dev alleine das entscheiden. Oder ein Verfahren, was ich in der Vergangenheit relativ häufig auch in so Community of Practices angewandt habe, Das ist so dieses...

01:32:15.692 --> 01:32:20.122
Konsentmodell, ich weiß nicht, ob ihr das kennt oder schon mal was von gehört habt.

01:32:20.122 --> 01:32:25.362
Also die Frage, die man da stellt, also sprich, ihr habt im Dev-Team irgendwie

01:32:25.612 --> 01:32:34.902
heftige Diskussionen über, wie soll dieser Customer-Dialog implementiert werden oder irgendwas anderes, lässt sich ja über alles

01:32:34.902 --> 01:32:43.702
vertrefflich streiten, aber irgendwann muss man eben halt auch zu einer Entscheidung kommen und dann ist die Frage, welche Güte

01:32:43.702 --> 01:32:48.582
ein Einführungszeichen hat, diese Entscheidung. Und dann ist es eben was anderes zu sagen,

01:32:49.693 --> 01:32:54.742
wir sind alle einer Meinung, genau das ist es, was wir machen wollen, als zu sagen,

01:32:54.742 --> 01:33:00.502
also das wäre dann eben Konsens. Als im Konsent stellt man dann immer die Frage.

01:33:01.676 --> 01:33:07.342
Guck mal, wir haben hier den und den Vorschlag, ist das gut genug, als dass wir es ausprobieren

01:33:07.342 --> 01:33:14.962
sollten. Und wenn nicht, dann ist die Frage, die man immer stellt, gibt es irgendwelche kritischen

01:33:14.962 --> 01:33:19.222
Einwände an dieser Stelle? Also fällt uns der Himmel auf den Kopf, wenn wir das jetzt wirklich

01:33:19.222 --> 01:33:24.262
so machen. Dann tretet jetzt bitte vor, dann müssen wir uns leider immer noch unterhalten.

01:33:24.262 --> 01:33:30.482
Aber wenn nicht, lasst uns doch mit diesem Vorschlag weitergehen und dann lernen wir

01:33:30.482 --> 01:33:36.382
gemeinsam, ob der gut ist oder nicht. Und das ist eine ganz andere Diskussion und damit kann man

01:33:36.382 --> 01:33:42.122
auch viele Sachen echt auch abkürzen. Also man kann sagen, pass auf, das ist zwar nicht meine

01:33:42.122 --> 01:33:48.762
Lieblingslösung, ich würde es vielleicht anders machen, aber ich kann damit auch leben mit diesem

01:33:48.762 --> 01:33:54.473
Vorschlag, mit dieser Lösung, die ein anderer Teammember vorgeschlagen hat und das ist gut,

01:33:54.922 --> 01:34:02.202
genug. Und aber auch solche Verfahren, also das ist zum Beispiel ein Verfahren, was in der Holokratie

01:34:02.202 --> 01:34:10.282
relativ häufig zur Anwendung kommt. Also, sprich, Holography, Schöpf ja uns vorhin nochmal erwähnt.

01:34:11.254 --> 01:34:22.922
Aber auch da, es ist halt eine feine Linie zwischen qualitativ hochwertige Entscheidungen

01:34:22.922 --> 01:34:29.882
treffen und Dinge tot diskutieren. Dann muss man eben ein gutes Mittelmaß oder ein gesundes

01:34:29.882 --> 01:34:37.602
Mittelmaß finden. Und wenn man das aber als Team aktiv reflektiert, dann glaube ich, ist man in der

01:34:37.602 --> 01:34:42.842
Lage, da schneller das richtige Verfahren einzufinden, überhaupt darüber zu sprechen. In dem Team hört

01:34:42.842 --> 01:34:48.001
mal nach was nach was für einer form wollen wir das denn jetzt eigentlich entscheiden beim Mail.

01:34:50.477 --> 01:34:58.480
Regelt man es ja eigentlich nicht oder wie kennt ihr es? Oder habt ihr solche Diskussionen oder auch Vorgaben im Alltag?

01:34:58.624 --> 01:34:59.083
Also.

01:35:00.416 --> 01:35:09.967
Nee, also eigentlich kenne ich das aus Teams auch nicht, dass man sich da so ein Regelwerk festlegt, aber vielleicht ist es halt das, was es genau viel einfacher machen würde.

01:35:10.417 --> 01:35:21.310
Also meistens ist es ja, man diskutiert und diskutiert und irgendwann ist es dann jemand leid und dann sagt man, so jetzt lasst uns doch mal zu einer Entscheidung kommen und dann es geht halt trotzdem immer jemand raus,

01:35:21.778 --> 01:35:28.502
der dann irgendwie sich nicht so wohl vielleicht fühlt, also bei einer kritischen Sache, ja gibt auch vieles, wo sich Leute einfach allein,

01:35:28.980 --> 01:35:33.687
aber es geht ja hier um die Sachen, wo es das leider nicht, wo das leider nicht möglich ist.

01:35:33.841 --> 01:35:43.347
Und ich glaube, da jemanden auch zu haben, in Anführungsstrichen als Schiedsrichter, Schiedsrichterin, so, ja, was Agile Coaches anbelangt oder Scrum Master anbelangt,

01:35:43.860 --> 01:35:54.591
und da dann so ein Regelwerk als Grundlage zu haben, wo man sich in einer, zu besseren Zeiten in Anführungsstrichen mal drauf committed hat,

01:35:55.149 --> 01:36:00.758
das ist ja das, was hilft, ne, weil wir machen es ja immer von den Konfliktfall aus, so wie man es bei Verträgen ja auch macht.

01:36:01.261 --> 01:36:06.375
Wir verstehen uns eigentlich immer gut, aber wenn es dann doch mal zum Konflikt kommt, dann haben wir wenigstens hier unser Regelwerk.

01:36:06.708 --> 01:36:12.287
Und wenn wir uns da drauf committed haben, glaube ich, dann beugt das halt dem Konflikt vor.

01:36:12.287 --> 01:36:15.062
Und das wiederum führt zu einer besseren Team Health.

01:36:15.503 --> 01:36:18.987
Das wiederum führt dann dazu, dass du schneller Entscheidungen treffen kannst.

01:36:19.392 --> 01:36:23.687
Und vor allem das führt dazu, dass du einfach mehr Stuff dann bekommst.

01:36:23.687 --> 01:36:26.306
Und das ist ja, glaube ich, unser aller Ziel irgendwo, ne?

01:36:29.547 --> 01:36:35.807
Ja, also, ich finde das cool. Ich habe das noch nie in Practice irgendwo gesehen.

01:36:36.244 --> 01:36:46.237
Aber ich werde das auf jeden Fall auch mal mitnehmen und gerade für neuere Teams, die sich bei uns auch hoffentlich bald gestalten,

01:36:46.588 --> 01:36:53.214
oder die sich bei uns gestalten, wird das wieder sehr interessant werden, wenn man sich dann doch nochmal unterhält,

01:36:53.322 --> 01:36:57.987
Wie ist denn ein Team so aufgesetzt? Wie funktioniert denn ein Team in sich?

01:36:57.987 --> 01:37:05.889
Aber auch, sagen wir mal, auf einer, sagen wir mal, wenn man viel mit Stakeholdern redet oder in Leadership-Runden, ja,

01:37:06.060 --> 01:37:18.600
Wo leider, leider muss man ja sagen, diese Themen, so meine Fächer, häufig auch mal ein bisschen kürzer treten und man sehr, sehr viel redet.

01:37:20.266 --> 01:37:31.249
Und dann aber doch vielleicht sich gar nicht auf die Best Practices, die man so an anderer Stelle vielleicht auch mitnimmt, ja, sei es jetzt aus dem agilen Kontext oder ähnlichem, dann vielleicht hinten runterfallen.

01:37:31.996 --> 01:37:49.136
Ja, also, ich meine, es ist ja auch immer wirklich auch eine Abwägung von, also, wie viel willst du regulieren und formalisieren und wie viel eben halt auch nicht in einem Unternehmen, so.

01:37:49.730 --> 01:37:56.869
Also jede Regel kommt natürlich dann auch wieder mit einem Overhead.

01:37:57.382 --> 01:38:06.716
Aber – oder andersherum – jede Regel, die du einführst, ist sehr schwer dann wieder zu revidieren zu einem späteren Zeitpunkt.

01:38:06.716 --> 01:38:12.253
Und für Leute, die dazukommen und so, die die Entstehungsgeschichte nicht kennen, kann es auch schwerer werden.

01:38:12.596 --> 01:38:19.316
Aber es sind dann eben Verfahren, die dir solche Dinge dann, die helfen, das abzukürzen und da Klarheit drüber zu schaffen.

01:38:19.316 --> 01:38:26.316
So wie, wo liegt es denn jetzt eigentlich und in welchem Ermessen und wer wird da einbezogen und so.

01:38:27.126 --> 01:38:31.216
Das finde ich grundsätzlich gut. So, und dann kommt man eben hin.

01:38:31.216 --> 01:38:39.584
Es geht ja immer darum, wie enable ich meine Teams, Crews,

01:38:40.089 --> 01:38:51.611
dass sie möglichst gut ihren Job im Sinne des Unternehmens machen und dabei sich mit allen relevanten,

01:38:52.170 --> 01:38:55.653
Stakeholdern austauschen können.

01:38:55.923 --> 01:39:00.010
Und das sind die entscheidenden Fragen.

01:39:02.036 --> 01:39:11.606
Ja, auf jeden Fall super, super spannendes Thema. Genau, ich kann das leider gar nicht so zur Anwendung bringen

01:39:11.646 --> 01:39:13.865
in unserem Team, das ist echt ziemlich klein.

01:39:14.586 --> 01:39:21.769
Also wir sind da wahrscheinlich noch eher holokratisch. Aber tatsächlich, so Konfliktlösungsansätze, die sind immer gut.

01:39:22.625 --> 01:39:32.986
Also das hat man da ja auch, dass man gucken muss, dass man sich dann nicht totoptimiert für die beste Lösung,

01:39:32.986 --> 01:39:38.986
sondern irgendwann sagt, wir arbeiten ja auch agil, wir können ja immer noch mal verbessern später,

01:39:38.986 --> 01:39:39.756
aber lass uns mal machen.

01:39:41.061 --> 01:39:46.986
Genau. Aber ich glaube, mich würde vielleicht auch noch mal interessieren,

01:39:46.986 --> 01:39:49.486
was unsere Hörerinnen und Hörer,

01:39:49.486 --> 01:40:02.086
wo die sich in ihrer Organisation hinentwickelt haben Und ob das, wo sie gerade sind, für sie gut funktioniert und was da gut funktioniert.

01:40:02.086 --> 01:40:09.966
Ob ihr Hörer vielleicht auch schon tatsächlich anfix mal implementiert habt bei euch oder

01:40:09.966 --> 01:40:12.886
dass in eurem Unternehmen vielleicht gelebt wird.

01:40:13.145 --> 01:40:21.126
Das würde dich ja auch interessieren, denke ich mal, Milan. Was da so eure Erfahrungen sind und wo das vielleicht auch irgendwie doof ist.

01:40:21.126 --> 01:40:26.466
Vielleicht ist es ja auch blöd, dass es keine Guardrails gibt,

01:40:26.506 --> 01:40:28.728
so viele wie ... Und Vorgaben ...

01:40:30.529 --> 01:40:35.588
Ist ja bei so Frameworks auch so, ne? Manche finden das sehr gut, nicht so viel drüber nachzudenken,

01:40:36.398 --> 01:40:39.909
sondern einfach zu machen, wie das vorgegeben wird, oder eben andersrum.

01:40:41.151 --> 01:40:47.345
Und natürlich auch, wie ihr es safe findet. Das interessiert vor allem die Vanessa.

01:40:49.064 --> 01:40:57.246
Und den Hans. Den Hansen interessiert es auch. Um uns das zu erzählen, gibt es immer noch Twitter.

01:40:57.490 --> 01:41:01.246
Es gibt Mastodon und wir haben ja auch unseren Community Slack,

01:41:01.550 --> 01:41:04.686
die ihr alle verlinkt auf unserer Seite findet.

01:41:06.321 --> 01:41:11.671
Genau. Und dir, Milan, sagen wir vielen Dank für ein tolles Thema,

01:41:11.948 --> 01:41:15.071
für die Anregung, das hier mal irgendwie zu besprechen.

01:41:16.782 --> 01:41:27.171
Genau, vielen Dank und euch auch viel Erfolg beim weiteren, sozusagen bei der weiteren Evolution und beim Forschen

01:41:27.171 --> 01:41:29.899
und Weiterentwickeln.

01:41:30.529 --> 01:41:34.171
Das hört sich auf jeden Fall sehr spannend und auch sehr cool an,

01:41:34.171 --> 01:41:36.020
an, dass ihr euch da so viele Gedanken macht.

01:41:36.317 --> 01:41:39.171
Ja, vielen Dank und sehr gerne.

01:41:39.612 --> 01:41:42.160
Schönen Rapport zusammen. Dankeschön.

01:41:43.171 --> 01:41:47.507
Dann hören wir uns nächste Woche wieder. Bis dahin, vielen Dank.

01:41:48.488 --> 01:41:51.441
Tschüss. Ciao. Ciao. Tschüss!

Revision 560: TypeScript 5.0

17. März 2023 | Keine Kommentare

Nach einer Pause nehmen Stefan und Peter wieder das allquartalige Besprechen der neuesten TypeScript-Version auf. Und möglicherweise gibt es noch andere semi-relevante Themen wie React-Beef, Klassenkampf und PHP.

Schaunotizen

[00:01:01] TypeScript 5.0
Wie gewohnt rekapitulieren für anlässlich der Beta einer neuen TypeScript-Version das TypeScript-Versionierungs-Schema und tauchen danach tief in die spannenderen neuen Features ein. An erster Stelle stehen die neuen, dem ECMAScript-Standard entsprechenden Decorators. Diese ergänzen in TypeScript die weiterhin verfügbaren Legacy Decorators, deren Unterschiede zum Standard und Herkunft aus den Ruinen von AtScript wir besprechen. const Type Parameters halten wir für eine sinnvolle Ergänzung, ebenso die Änderungen am Config-File-Format und die neue Unterstützung export type *. Die in 5.0 anstehenden Änderungen an Enums sind auch nicht schlecht, Enums selbst hingegen schon.
[00:42:27] Hidden Bonus Track/dt>

In einer etwas außer Kontrolle geratenen Vorbesprechung sprechen wir über den aktuellen React-Beef in der Frontend-Welt, Peters jüngste Erfahrungen
mit PHP und Laravel sowie die Beziehung zwischen (und die Qualität von) React, Next.js und Vercel.
Transkript
WEBVTT

00:00:00.261 --> 00:00:14.214
Es ist eine Major Version, also TypeScript hat ja jetzt nicht diese, oh wow wir haben Breaking Changes mit einer Major Version Idee, sondern sie sagen TypeScripts Grundidee ist Breaking Changes zu verursachen, deswegen sagen sie einfach noch 4.9 ist 5.0 dran.

00:00:15.573 --> 00:00:22.298
Also so ein Typparameter kann ja schon sehr wortreich sein und wenn ich jetzt hier so sehe, Konz T, Extents Read Only, irgendwas?

00:00:22.631 --> 00:00:26.610
Ich bin da, wie sagt man das, Kampf geprüft. Ich schreibe Last.

00:00:26.943 --> 00:00:31.057
Also was da im generischen Umfeld passiert, das ist wild.

00:00:32.444 --> 00:00:35.414
Aber es ist so gut, du sagst so viel richtige Sachen. mach ich, ob ich das vermisse.

00:00:35.600 --> 00:01:00.560
Music.

00:01:00.737 --> 00:01:03.577
Hallo und herzlich willkommen zu Working Draft Revision 560.

00:01:03.577 --> 00:01:08.381
Heute am Start der Stefan. Hallo Servus. Und meine Wenigkeit der Peter.

00:01:08.858 --> 00:01:14.577
Was mag wohl das Thema sein, wenn die zwei sich alleine im Working Draft Studio einfinden?

00:01:14.577 --> 00:01:19.217
Jawoll, der Microsoft hat wieder gekreist und gebar uns eine neue TypeScript Version,

00:01:19.217 --> 00:01:20.977
speziell jetzt die Version 5.0.

00:01:20.977 --> 00:01:25.617
Peter und wir zwei ehemaligen Langzeiturlauber dachten uns, lassen wir doch mal die Tradition

00:01:25.617 --> 00:01:30.897
wieder auferleben und sprechen darüber, was es da so alles Neues gibt und ob uns das interessiert

00:01:30.897 --> 00:01:32.177
und wie wir das finden und so weiter.

00:01:33.011 --> 00:01:41.177
Genau. Es ist eine Major Version. Also TypeScript hat ja jetzt nicht diese Oh wow, wir haben Breaking Changes mit einer Major Version Idee, sondern sie sagen,

00:01:41.177 --> 00:01:46.977
TypeScripts Grundidee ist Breaking Changes zu verursachen. Deswegen sagen sie einfach noch

00:01:46.977 --> 00:01:54.217
4.9 ist 5.0 dran. Es erlaubt ihnen aber, troch diverses Verhalten von grundlegenden

00:01:54.217 --> 00:01:59.737
Features neu zu überdenken. Und ich glaube, von dem sehen wir diesmal einige Sachen. Oder zumindest,

00:02:01.143 --> 00:02:05.473
Okay, was würdest du sagen, fällt da so in die Kategorie rein?

00:02:05.968 --> 00:02:08.012
Decorators und Inams.

00:02:08.615 --> 00:02:12.953
Aber meinst du nicht, dass das mit den Decorators eher was damit zu tun hat, dass jetzt der

00:02:12.953 --> 00:02:17.273
ECMAScript-Standard sich mal aufgerafft hat? Ich hätte gemeint, das trifft sich gut.

00:02:17.986 --> 00:02:23.713
Das wäre meine Idee gewesen. Also Decorators, also gut, von vorne.

00:02:23.713 --> 00:02:28.553
Ich wollte gerade sagen, du als Klassenfeinschmecker solltest doch erstmal erklären, was Decorators sind.

00:02:28.553 --> 00:02:37.473
Genau, Decorators. anfangen. Wer von euch schon Angular 2 Plus geschrieben hat, kann sich vielleicht daran

00:02:37.473 --> 00:02:43.093
erinnern, dass Angular diese Decorator Syntax sehr stark verwendet hat. Du hast dieses Add.

00:02:43.364 --> 00:02:50.173
Something über einer Klasse, über eine Methode und kannst damit deine Klasse mit neuen Features

00:02:50.173 --> 00:02:54.093
ausstatten. Oder im Falle von Angular wird heute der Compiler aktiv und sagt, oh wow,

00:02:54.093 --> 00:02:57.613
das ist etwas, das muss ich ein bisschen anders behandeln und da muss ich ein paar zusätzliche

00:02:57.613 --> 00:03:02.493
Compiler-Dinge starten. Und das ist ja ein Feature, das kennt man aus anderen

00:03:02.493 --> 00:03:07.213
Programmiersprachen genauso. Also vor allem in C-Sharp und in Java,

00:03:07.213 --> 00:03:10.893
Java heißt es glaube ich Annotation, sind diese Sachen vorhanden.

00:03:10.893 --> 00:03:14.933
Du kannst einfach sagen, hey, dieses eine fällt, diese eine Methode, diese eine

00:03:14.933 --> 00:03:19.653
Klasse, ich behandle sie jetzt etwas anders, ich füge weitere Eigenschaften

00:03:19.653 --> 00:03:23.173
hinzu oder lese aus diesen Eigenschaften etwas Spezielles raus.

00:03:23.173 --> 00:03:26.573
Basierend auf dem Decoretor Pattern, das ist ein Pattern aus der objektorientierten

00:03:26.573 --> 00:03:32.253
Programmierung halt in Syntax gegossen. Das ist glaube ich der spannende Unterschied zum

00:03:32.253 --> 00:03:38.973
eigentlichen Software Pattern. Und das Thema war das, dieser Decorator, der trägt ja eine Geschichte

00:03:38.973 --> 00:03:43.573
mit sich. Das ist ja fantastisch, weil ursprünglich hat es niemand auf dem Schirm gehabt, außer Google

00:03:43.573 --> 00:03:47.213
für Angular und Angular hat gesagt, hey, lass uns doch unsere eigene Programmiersprache machen,

00:03:47.213 --> 00:03:55.573
AddScript, Add wegen diesem Decorator Add Symbol, mit der wir eben Decorators schreiben können und

00:03:55.573 --> 00:03:58.641
die für unser Framework Angular besonders dienlich sind.

00:03:58.803 --> 00:04:02.573
Und dann hat TypeScript, das TypeScript-Team, gesagt, hey, coole Idee,

00:04:02.573 --> 00:04:07.573
nur 90 Prozent eurer neuen Sprache sind TypeScript, es geht eigentlich wirklich nur um die Decorators.

00:04:08.021 --> 00:04:13.573
Lass uns doch zusammenarbeiten. Anders Heilsberg mit Kollegen ist runtergeflogen nach Mountain View,

00:04:13.573 --> 00:04:20.573
die haben sich mal zwei Wochen eingesperrt in einem Meetingraum und haben noch entschieden, passt, wir können Decorators experimentell unterstützen

00:04:20.573 --> 00:04:24.573
in TypeScript und es braucht keine neue Programmiersprache dafür.

00:04:24.846 --> 00:04:27.340
Und so ist TypeScript überhaupt einmal in Angular reingemandert.

00:04:27.439 --> 00:04:30.813
Und das Spannende war noch, was gesagt haben, hey, okay, Decorators sind das Tier, dass

00:04:30.813 --> 00:04:33.253
auch andere Framework-Hersteller, wie z.B.

00:04:33.253 --> 00:04:38.573
Ember, gemeint haben. Also, coole Idee, wollen wir jetzt auch für unsere Dinge, ist eh in TypeScript, d.h. wir

00:04:38.573 --> 00:04:43.853
brauchen dort nicht irgendwie andere Programmiersprache entdecken, aber Yehuda Katz vom Ember-Team

00:04:43.853 --> 00:04:45.885
hat gesagt, das muss ein sauberer Standard werden.

00:04:46.119 --> 00:04:49.818
War da ein Proposal gemacht und das Proposal liegt jetzt seit keine Ahnung, acht Jahren

00:04:49.863 --> 00:04:52.636
herum oder so. Es hat ewig gedauert.

00:04:52.681 --> 00:04:57.293
Was spannend ist, weil es hat tatsächlich für dieses eine Proposal in ECMAScript ja

00:04:57.293 --> 00:04:59.493
sehr sehr viele Real-World Beispiele gegeben.

00:05:00.351 --> 00:05:03.361
Großes Problem war, es hat sich mit der Modul-Syntax geclasht.

00:05:03.421 --> 00:05:07.058
Das heißt, die Modul-Syntax hat gesagt Export und dann etwas.

00:05:07.751 --> 00:05:12.041
Und die experimentellen Decorator haben gesagt, der Decorator kann über dem Export Keyword sein.

00:05:12.630 --> 00:05:16.641
Und die tatsächlichen ECMAScript Decorators haben gesagt, na ja, eher nach dem Export.

00:05:16.717 --> 00:05:21.321
Das war, glaube ich, dieser große, große Unterschied mit Ausnahme von einigen Details

00:05:21.321 --> 00:05:27.106
in wie solche Decorators implementiert werden sollen. Aber das war der große, große Unterschied.

00:05:27.304 --> 00:05:34.353
Naja, und das ist ja auch immer so Abwärtskompatibilitäts-Fragen mit zum Beispiel irgendwie so private Klassenfelder. Ja, genau.

00:05:34.659 --> 00:05:45.561
Wie spielt das zusammen, wie kann man sowas dekorieren? Also, es ist halt in sich, weil halt so eine Klasse in ECMAScript schon eine hart komplizierte Angelegenheit ist, extra schwierig, so was da noch anzuflanschen.

00:05:45.561 --> 00:05:50.961
Syntaktisch sicherlich, aber halt eben auch semantisch und das Ganze irgendwie zukunftssicher zu gestalten.

00:05:50.961 --> 00:05:55.688
Ich hatte mich ja zwischenzeitlich sogar mal zu der Annahme versteift, das wird eh niemals was.

00:05:56.057 --> 00:05:56.444
Ja.

00:05:56.840 --> 00:06:00.837
Aber es hat halt noch nur irgendwie eine Dekade gedauert und dann ist es was geworden. Ja.

00:06:01.261 --> 00:06:07.341
Das Spannende ist das, also ich weiß nicht, ich glaube, dass der Trend zu eher mehr Funktionen

00:06:07.341 --> 00:06:15.133
nutzen in JavaScript hat einfach das Proposal einschlafen lassen, da war einfach nicht mehr der Nutzen da.

00:06:15.341 --> 00:06:19.701
Und tatsächlich ist es aber nicht so doofes Feature, also gerade wenn man Klassen schreibt,

00:06:19.701 --> 00:06:25.101
wenn man meint, Klassen schreiben zu müssen, dann kann man damit doch einiges Tolles anstellen.

00:06:25.630 --> 00:06:31.021
Und jetzt sind die Decorators hier. Also Decorators sind in ECMAScript jetzt schon länger in Stage 3,

00:06:31.021 --> 00:06:35.421
deswegen ist das, was ich gemeint habe, ich glaube, dass das Scythe Script schon auf die 5.0 gewartet

00:06:35.421 --> 00:06:38.621
hat, bis das die Implementierung endlich landet, weil ich glaube, es ist schon seit über einem Jahr

00:06:39.025 --> 00:06:44.381
das Proposal dort, wo es sein soll. Und es ändert sich in Wirklichkeit nicht großartig viel für

00:06:44.381 --> 00:06:48.381
euch zu entwickeln. Es ist jetzt dem Standard entsprechend, das heißt ihr braucht dieses

00:06:48.381 --> 00:06:52.781
Experimental Decorators Feature nicht mehr. In der Nutzung ändert sich fast nichts. Ich glaube,

00:06:52.781 --> 00:06:59.621
in der Implementierung gibt es andere Methoden oder Funktionsschnittstellen. Ich kann das aber

00:06:59.621 --> 00:07:04.141
nicht genau sagen, weil ich einfach selbst nie Decorators geschrieben habe, weil ich selten

00:07:04.141 --> 00:07:10.941
Klassen schreibe. Na ja, es ist halt insofern, was als ECMAScript schon sich Mühe macht mit den.

00:07:11.469 --> 00:07:16.661
ECMAScript-Features, vor allen Dingen halt eben privaten Feldern nach Art eben von ECMAScript,

00:07:16.661 --> 00:07:21.741
nicht so sehr nach denen von TypeScript, sich da irgendwie zusammen zu finden. Dazu gehört halt

00:07:21.741 --> 00:07:26.181
eben auch dieses neue Accessor Keyword für Jetta und Zeta, die halt dann auf ein privates

00:07:26.181 --> 00:07:32.581
Feld zugreifen, was halt in der Welt von TypeScript, wo Privatheit eben per Compile-Time-Feature

00:07:32.581 --> 00:07:36.061
implementiert wird, einfach keine Rolle spielt und insofern ist das da alles nicht drin.

00:07:36.061 --> 00:07:42.707
Aber die generelle Idee, so aus Perspektive derjenigen, die das am Ende anwenden, ist

00:07:43.101 --> 00:07:44.101
es tatsächlich das Gleiche.

00:07:44.101 --> 00:07:47.261
Ich habe irgendwie ein Klassenfeature, die ganze Klasse oder eine Methode oder ein Feld

00:07:47.261 --> 00:07:51.988
oder weiß Gott was und da klatsche ich dann halt eben Annotationen, add irgendwas davor

00:07:52.366 --> 00:07:56.913
und die helfen dann diesen jeweiligen Features gewisse Funktionen über.

00:07:58.281 --> 00:08:07.091
Als Alternative zum guten alten Class A Extents B. Was ja so ein bisschen Häkeln mit Ofenhandschuhen ist.

00:08:07.091 --> 00:08:16.691
Also geht halt schon, macht halt keinen Spaß. Und da wird halt so das Versprechen von Wiederverwendbarkeit und Komposition besser eingelöst durch so einen Dekorator.

00:08:16.781 --> 00:08:22.803
Der ist im Prinzip einfach nichts weiter als eine Higher Order Function, die halt auf den Klasselementen operiert.

00:08:23.109 --> 00:08:26.091
Also bis da wieder eine Funktion schreibt, könnte ein Dekorator schreiben.

00:08:26.091 --> 00:08:29.651
Solange TypeScript nicht mitspielt, weil das Typing von diesen Dingern ist dann schon ein

00:08:29.651 --> 00:08:35.604
bisschen advanced. Aber ja, das ist jetzt da und das kommt und das wird und ja.

00:08:36.469 --> 00:08:38.629
Wenn man halt meint, Klassen schreiben zu müssen, sagst du, ne?

00:08:38.854 --> 00:08:42.771
Ja, also ich bin ja mittlerweile auch nicht mehr so ein Hardliner wie ich es früher war,

00:08:42.771 --> 00:08:46.451
weil es mir eigentlich mittlerweile sehr wurscht ist, wie jemand entwickelt.

00:08:46.451 --> 00:08:52.700
Es gibt ja Nutzen für Klassen. Wenn du komplexen State verwalten musst und es.

00:08:53.627 --> 00:08:58.651
Gut ist, diesen State über angehängte Methoden zu verwalten, bitte gar schon

00:08:58.651 --> 00:09:03.531
machen wir eine Klasse. Also absolut sinnvoll zum Beispiel Bilderobjekte oder

00:09:03.531 --> 00:09:08.171
Bilderklassen. Herrlich, wo du einfach nicht weißt, hey, gibt es irrsinnig viele

00:09:08.171 --> 00:09:12.487
Varianten, die noch zum finalen Objekt führen können. Mach ein Bilderpattern, wo

00:09:12.811 --> 00:09:15.931
du einfach mit jedem Methodencall etwas vom internen State änderst und dann hast du

00:09:15.931 --> 00:09:19.651
Bilder und du kriegst ein finales Objekt raus. Fantastisch, super, funktioniert sehr

00:09:19.651 --> 00:09:24.691
gut. Überleg halt, ob du diesen State brauchst. Also das ist etwas, was ich bei vielen meiner

00:09:24.691 --> 00:09:30.771
Kunden schrägstrich Kollegen, je nachdem wo ich gerade bin, mitbekommen ist, dass einfach die

00:09:30.771 --> 00:09:35.491
Klasse immer so das erste Mittel ist zu dem Skyfen. Einfach weil sie es so kennen. Und

00:09:35.491 --> 00:09:41.731
dann denkst du, hey cool, du laufst dort in State Maintenance Probleme rein, die du

00:09:41.731 --> 00:09:45.811
alle nicht brauchst, wenn du einfach schaust, hey du kriegst shit in, shit out. Also eine ganz

00:09:45.811 --> 00:09:53.811
Funktion. Du hast Inputparameter, du hast auch Inputparameter. Und man soll halt... also es gibt ja für

00:09:53.811 --> 00:10:00.291
jedes Werkzeug einen Verwendungs-Track und das ist nicht jeder Verwendungs-Track. Und genauso gibt es

00:10:00.291 --> 00:10:04.011
Funktionen, gibt es Dinge, die besser in Objekten, Dinge, die besser in Klassen, Dinge, die besser in

00:10:04.011 --> 00:10:11.571
Funktionen aufgehoben sind. Genau. Ja, also so als wichtigsten Anwendungsfall von Klassen würde ich

00:10:11.571 --> 00:10:15.571
einfach mal in den Raum werfen, irgendwelche anderen Tools, die mit Klassen arbeiten.

00:10:17.375 --> 00:10:22.425
Die Entscheidung ist ja nicht zu 100% dir überlassen, du musst ja mit irgendwas zusammenarbeiten.

00:10:22.632 --> 00:10:27.025
Und wenn du zum Beispiel jetzt hingehst und sagst, ich mach jetzt eine React-Anwendung, Gott bewahre.

00:10:27.548 --> 00:10:33.210
Dann würdest du wahrscheinlich einfach eine klassische Funktion schreiben, die halt irgendwelches JSX ausspuckt, weil das ist halt wie es da gemacht wird.

00:10:33.505 --> 00:10:36.397
Sagst du hingegen, ich möchte jetzt lieber Web-Components bauen.

00:10:37.504 --> 00:10:45.345
Dann wirst du um eine Klasse schlecht herumkommen. Also die Welt da draußen wirkt ja auf deinen Code sich auch aus, würde ich sagen.

00:10:45.345 --> 00:10:51.865
Das sind auch diese Workarounds, die mit diesen Takt-Template-Literals-Orbeten in Webcomponents nicht ausgegoren.

00:10:51.865 --> 00:10:54.985
Also da kommst du an der Klasse nicht vorbei. Das Spannende ist sogar, dass...

00:10:54.985 --> 00:10:56.985
Nicht ausgegoren, aber was Special Interest triggert.

00:10:57.615 --> 00:11:05.185
Das ist nur ein Edicated Guessing. Wir reden ja davon, dass ich mich sowieso nicht mehr auskenn und eigentlich nur versuche,

00:11:05.185 --> 00:11:08.185
klug zu scheißen. Aber das ist... Entschuldige.

00:11:08.823 --> 00:11:14.385
Also ich meine halt nur, so Workarounds, für was?

00:11:15.521 --> 00:11:20.202
Also, so die meisten Web Component Libraries, die ich so sehe, die versuchen halt Web Components

00:11:20.283 --> 00:11:24.334
zu verwenden anstelle von einem Single Page App Framework, a la Angular oder React.

00:11:25.603 --> 00:11:28.545
Und die bauen dann halt irgendwie so Tech Template Tutorials, da schreibt es halt eben

00:11:28.545 --> 00:11:31.305
HTML Fragment dran, dann fabriziert ihr das halt irgendwie, ne?

00:11:31.305 --> 00:11:33.237
Genau. Deine Output oder so. Ja, genau.

00:11:34.305 --> 00:11:37.630
Ist ja alles irgendwie ganz nett, aber das ist meines Erachtens einfach ein Kategoriefehler.

00:11:37.828 --> 00:11:43.305
Weil solche Konstruktionen sind eine Abstraktion über HTML Elemente, quasi ein Templating

00:11:43.305 --> 00:11:47.803
Mechanismus und Web-Components sind ein Mechanismus, um HTML-Elemente in die Welt zu setzen.

00:11:48.235 --> 00:11:48.640
Ja, ja.

00:11:49.522 --> 00:11:54.745
Korrekt. Und das kommt, glaube ich, aus der Ecke von React, wo du wirklich einfach die Idee ist,

00:11:54.745 --> 00:11:58.305
dass du HTML bündelst, weil du ja diesen Framework-Charakter hast.

00:11:58.425 --> 00:12:03.145
Und eigentlich sollte genau das, was du sagst, schon vorher erledigt werden.

00:12:04.718 --> 00:12:07.745
Bevor überhaupt die Web-Komponente greift. Ja, genau.

00:12:07.745 --> 00:12:13.810
Also was halt dem Web sozusagen fehlt, wäre halt ein Art Templating-Mechanismus.

00:12:14.269 --> 00:12:22.137
Also so Handlebars-mäßig. Das würde halt diese Aufgabe, die ja eine Relevante ist.

00:12:22.525 --> 00:12:25.225
Ich will halt einfach nur irgendwie sagen, es gibt da jetzt irgendwie so ein Widget und

00:12:25.225 --> 00:12:29.825
dieses Widget besteht halt irgendwie aus einem Diff mit drei Buttons drin, render das mal da rein.

00:12:29.825 --> 00:12:32.945
Dafür gibt es halt eben keine native Lösung und Web-Components kann man dazu verwenden,

00:12:32.945 --> 00:12:36.945
aber es ist halt einfach schon so ein bisschen wie, keine Ahnung, ich fahre jetzt mit meinem

00:12:36.945 --> 00:12:41.865
Ein kaufen je nach gegebenheit markt funktionieren aber so richtig optimal ist das nicht.

00:12:44.305 --> 00:12:50.465
Für. Ein mensch wie mich der schon lange weg ist vor dem thema da gab es doch mal ein proposal das genau das versucht hat umzusetzen,

00:12:51.719 --> 00:12:53.996
so handelbar style templates,

00:12:54.705 --> 00:12:59.565
Im handelbar style templates oder natürlich gibt es auch bemühungen die,

00:13:00.465 --> 00:13:02.785
jsx syntax einfach sozusagen zu domestizieren,

00:13:03.944 --> 00:13:07.785
ja Also einfach als alternative Funktur für Funktions.

00:13:07.785 --> 00:13:12.559
Da gab es ja sogar mal eine Implementierung von Firefox, nicht dieses...

00:13:13.792 --> 00:13:18.879
Ah, e-Eggmascript. Ja, e-Eggmascript, genau. Eggmascript vor XML oder so, genau.

00:13:19.860 --> 00:13:25.642
Genau. Gab's im Sinne von, das hat mal halt irgendwer mal aufgeschrieben, aber das ist

00:13:25.642 --> 00:13:29.642
glaube ich so aus den 2000ern, aus dem... Na, aber da gab's sogar eine Implementierung.

00:13:29.642 --> 00:13:33.606
Das ist nicht nur irgendwo eine Idee, sondern da gab's eine Implementierung. Ist wahrscheinlich schon längst wieder rausgefallen.

00:13:35.642 --> 00:13:39.642
Ja, ja, das ist auf jeden Fall nicht mehr aktuell. So, was haben wir denn hier noch?

00:13:39.642 --> 00:13:47.282
Ich hab letztens irgendwas gesehen, wo irgendwer was gebaut hatte, das finde ich jetzt eh nicht wieder, im Prinzip ein Proposal gebaut hat,

00:13:47.282 --> 00:13:51.882
wie man das in ECMAscript halt einbauen könnte. Man müsste halt irgendwie, also die Details entgehen

00:13:51.882 --> 00:13:56.282
mir da, weil ich da nicht tief genug drin stecke, aber de facto ist ja das JSX, so wie es heute ist,

00:13:56.724 --> 00:14:02.562
irgendwie relativ spezifisch auf React ausgerichtet in seiner ganzen Art und Weise,

00:14:02.562 --> 00:14:06.762
wie es funktioniert und wenn man das in Vue oder so verwendet, dann bringen halt diese ganzen

00:14:06.762 --> 00:14:11.282
Frameworks eine ganze Menge von Workarounds, damit hat irgendwie funktioniert. Aber so eine Art

00:14:11.282 --> 00:14:15.442
Mechanismus wäre halt glaube ich etwas was man mal machen könnte und was halt

00:14:15.442 --> 00:14:19.518
sicherlich auch sinnvoll wäre aber Web Components sind das halt eben nicht und

00:14:19.722 --> 00:14:24.202
deswegen ist das was du da so... deswegen war ich gerade so etwas etwas angepiekst

00:14:24.202 --> 00:14:29.882
von... Ja das stimmt. Du hast richtig mit der Ansage diese Workarounds greifen

00:14:29.882 --> 00:14:33.508
nicht, aber das Problem ist nicht dass die nicht funktionieren sondern das Das Problem ist, dass man das versucht.

00:14:33.760 --> 00:14:35.506
Die Ausgangssage ist falsch.

00:14:37.198 --> 00:14:42.048
Genau. Eine andere Sache, die ich spannend fand, Nobby, du hast dem gesagt, man macht den React

00:14:42.048 --> 00:14:47.218
halt einfach nur Funktionen DJ6 auspucken. Früher hat es auch noch Klassen gegeben, macht man mittlerweile nicht mehr.

00:14:47.470 --> 00:14:51.568
Aber früher war genau das in einer Komponente, in einer Klassenkomponente, du hast die Klasse

00:14:51.568 --> 00:14:54.368
geschrieben und du hast InternState verwaltet.

00:14:54.672 --> 00:15:02.008
Macht sich ja Sinn. Tatsächlich ist ja eigentlich dieser useState Hook, der jetzt existiert, der ja grausamst

00:15:02.008 --> 00:15:05.368
implementiert ist, wo du halt einfach nur Glück hast, dass du tatsächlich den State

00:15:05.368 --> 00:15:09.048
zurückkriegst oder intern halt wirklich sehr stark wuchführen musst, damit du

00:15:09.048 --> 00:15:13.289
wieder die Komponenteninstanz zum State rückführen kannst.

00:15:13.424 --> 00:15:19.608
Ist ja eigentlich abscheulich im Vergleich zu ich habe eine Klasse und mach einfach

00:15:19.608 --> 00:15:25.408
das Punkt x ist irgendwas. Also genau für solche Dinge wäre ja eigentlich

00:15:25.408 --> 00:15:34.368
eine Klasse das perfekte Mittel. Ja ja halt eben nicht, weil du halt eben Funktionalität nicht so gut teilen kannst. Also useState ist ein einmal implementierter

00:15:34.368 --> 00:15:39.288
unendlich oft recycelbarer Mechanismus. Das kannst du halt mit normalen Klassen nicht machen,

00:15:39.458 --> 00:15:46.808
es sei denn natürlich, Ustate wäre ein Dekorator. Ha! Bingo! Ah, cool und wieder zurückgeführt.

00:15:46.808 --> 00:15:51.968
Also, haha. Ich meine, ich meine, das ist ja genau das Ding. Die adressieren das gleiche Problem.

00:15:51.968 --> 00:15:55.808
Die beiden Mechanismen. Da machst du einfach add tracked drauf oder sonst irgendwas, fertig.

00:15:56.508 --> 00:16:01.168
Ja, genau. Und dann weißt du halt eben, ah, okay, ich muss halt irgendwie da Mechanismen generieren,

00:16:01.168 --> 00:16:04.808
um halt irgendwie diese private Variable zu ändern. Wenn die sich ändert, mache ich halt irgendwie

00:16:04.808 --> 00:16:09.808
meinen wie auch immer in der Klassenmethode implementierten Vergleich. So, entweder mache

00:16:09.808 --> 00:16:12.968
ich irgendwie einen Deep Compare oder ich mache halt so einen Shallow Check, weil Immutability und

00:16:12.968 --> 00:16:17.718
Zeug und dann weiß ich halt eben, ob ich mich neu rendern muss oder nicht. Wunderschön. Könnte ich

00:16:18.048 --> 00:16:21.968
mir vorstellen, dass das funktioniert, weil also ich glaube nicht, dass ich jemals in ReactUseFact

00:16:21.968 --> 00:16:25.688
richtig verwenden würde, wenn ich nicht irgendwie eher es lint hätte, dass mich permanent anplärt.

00:16:25.688 --> 00:16:30.408
Ja, ja, ja. Und wobei es dann die Brücke auch zwischen Framework Code und anderem Code einfach

00:16:30.408 --> 00:16:38.508
leichter, weil die Grenze zum Framework eindeutiger wird. Also dann brauchst du diese Use Effect

00:16:38.508 --> 00:16:42.388
Workarounds nicht, wie du gesagt hast, und dann kannst du auch imperativen Canvas Code

00:16:42.388 --> 00:16:44.490
zum Beispiel schreiben in einem deklarativen Universum.

00:16:44.688 --> 00:16:46.408
Halleluja, das wäre ja mal was.

00:16:46.688 --> 00:16:47.542
Ja, wow.

00:16:47.920 --> 00:16:52.768
Dieses witzige Weis, ich habe immer so diesen Softspot für die Ember Menschen, das ist

00:16:52.768 --> 00:16:57.188
ja das, was Ember eigentlich machen wollte. Aber sie haben halt einfach nicht das richtige

00:16:57.188 --> 00:16:58.120
Markthilm gehabt dazu.

00:16:59.569 --> 00:17:05.628
Nicht das richtige oder nicht genug? Das trau ich mir jetzt nicht sagen.

00:17:05.628 --> 00:17:09.607
Was haben die denn so an Corporate Backer?

00:17:09.715 --> 00:17:12.767
Also den von React kenn ich, der ist ziemlich groß und hat ziemlich tiefe Taschen.

00:17:13.685 --> 00:17:20.094
Ja, und da ist einfach das Outlet vor Skylight am kleinen Ruby und Rails Monitoring Shop.

00:17:21.841 --> 00:17:27.388
Wobei ja dann einer der größeren Backer LinkedIn war. Vielen Dank für's Zuschauen!

00:17:26.963 --> 00:17:31.113
Okay, groß. Und die aber jetzt auch mittlerweile Alternativen suchen, meine,

00:17:31.573 --> 00:17:37.253
meine noch. Ja, okay. War mir auch zum Beispiel gar nicht bekannt, was ja auch

00:17:37.253 --> 00:17:50.413
schon für sich spricht. Ja, das zeigt das Symptom wieder recht gut. Zu den Decorators hätte ich noch eine Anmerkung, wo ich glaube, dass das

00:17:50.413 --> 00:17:53.333
tatsächlich auch ganz eine ganz gute Rolle spielen könnte, weil jetzt unser

00:17:53.333 --> 00:17:58.213
hypothetisches State Management in React, das jetzt die Klassen wieder belebt,

00:17:58.213 --> 00:18:04.333
ich meine, das wäre ja eigentlich ganz gut, wäre ja relativ on-brand, was so JavaScript angeht.

00:18:04.449 --> 00:18:07.493
Klassen sind das Mittel der Wahl. Nee, Klassen sind jetzt doof und riechen nach Luluh. Nee,

00:18:07.493 --> 00:18:08.333
jetzt haben wir wieder Klassen.

00:18:08.500 --> 00:18:12.973
Man bittet ja, lass das Pendel schwingen. Wir brauchen das, ansonsten stirbt die

00:18:12.973 --> 00:18:16.813
Programmiersprache. Wenn es nicht ständig Meinungen gibt von Richtung 1 nach Richtung 2,

00:18:16.813 --> 00:18:18.447
dann schreibt keiner mehr JavaScript.

00:18:18.519 --> 00:18:21.613
So sieht es nämlich aus. Naja, also da glaube ich jetzt nicht unbedingt dran,

00:18:21.613 --> 00:18:24.362
dass das passieren wird. Die sind mit ihrem Krams hier schon ganz gut bedient und Zeug.

00:18:24.653 --> 00:18:29.933
Das ist nicht passiert genug. Ne, aber tatsächlich glaube ich, das könnte ein nützliches Werkzeug

00:18:29.933 --> 00:18:38.093
sein, um tatsächlich Web Components Library gestützt zu bekommen. Weil Web Components

00:18:38.093 --> 00:18:43.733
sind ja notwendigerweise Klassen. Man muss ja immer von HTML Element extenden, damit man halt

00:18:43.733 --> 00:18:48.453
irgendwie bei den Build-Ins, also sowas wie HTML Element und HTML Diff Element und Zeug,

00:18:48.453 --> 00:18:52.293
Die sind ja nicht wirklich Klassen, das sind ja irgendwelche Build-ins, aber wenn ich von

00:18:52.293 --> 00:18:54.501
denen extende, triggern die irgendwelche Logik.

00:18:54.690 --> 00:18:59.632
Und um mich halt irgendwie da ranzuklingen, muss ich halt eben das machen.

00:18:59.822 --> 00:19:05.907
Und bei den Decorators ist es halt, glaube ich, so, dass so HTML-NAS-Verhalten tatsächlich

00:19:06.006 --> 00:19:12.173
in Form von einer Microlibrary bereitgestellt werden könnte, die einfach nur besteht aus

00:19:12.173 --> 00:19:16.093
einem Haufen von Decorators, womit ich dann zum Beispiel sagen kann, es gibt hier irgendwie

00:19:16.093 --> 00:19:21.433
Excessor, irgendwie auf meinem HTML Element, ist jetzt irgendwie so ein Feld Disabled und da kann

00:19:21.433 --> 00:19:27.013
ich dann halt wirklich so Dinge machen wie, dass die entsprechenden Getter und Setter fabriziert

00:19:27.013 --> 00:19:31.253
werden und das Attributänderungsmonitoring und das alles einigermaßen einheitlich wird,

00:19:31.253 --> 00:19:36.293
dass ich einfach deklarieren kann. Ich habe jetzt hier zum Beispiel ein Attribut, so was wie Disabled

00:19:36.632 --> 00:19:41.813
und das ist ja eigentlich ein Boolshes Attribut. Also das ist entweder da oder nicht da, aber was

00:19:41.813 --> 00:19:44.167
Das ist dann zum Beispiel, wenn ich sowas sage wie Disabled gleich False.

00:19:45.166 --> 00:19:56.977
Wie will ich das bewerten also wenn man jetzt ganz nach der reinen leere geht würde man wahrscheinlich sagen das meint dass das ist ablet attribute gesetzt ist auf true weil es ist ja auf was gesetzt also es ist da.

00:19:57.516 --> 00:20:02.436
Möglicherweise will man das ja irgendwie komplizierter gestalten content edit ist ja auch so ein ding da drin oder.

00:20:03.378 --> 00:20:07.870
Attribute die halt mehr so eine art in am state haben mit drei möglichen werten oder so das ist alles.

00:20:08.167 --> 00:20:13.216
Irre kompliziert, auch irgendwie sowas, verarbeitet diese Zahl, dieses Attribut als Zahl.

00:20:13.216 --> 00:20:15.756
Ich kann ja jedes HTML-Attribut alles reinschreiben, was ich lustig bin.

00:20:15.882 --> 00:20:17.880
Käsekuchen, interpretiere das bitte schön als Zahl.

00:20:18.240 --> 00:20:24.407
Wie soll das gehen? Soll da noch der Number rauskommen oder soll da, wenn da noch der Number rauskäme, irgendwie null rauskommen oder irgendwie so Krams, ne?

00:20:24.560 --> 00:20:31.023
Wenn man das einmal schreibt, ist ja gut, aber wie recycle ich das in, wenn ich jetzt drei Komponenten habe und die haben alle drei Attribute?

00:20:32.005 --> 00:20:38.306
Das ist halt im moment wirklich nur möglich indem ich das alles von hand aufschreibe und in den jeweiligen gettern zettern attribut händler diese.

00:20:39.376 --> 00:20:43.616
Ganzen inputs durch entsprechende parsing funktionen durchschicken und wenn das

00:20:43.616 --> 00:20:47.216
alles dekorators werden dann wäre das echt weniger schlimm als es jetzt

00:20:47.216 --> 00:20:52.016
aktuell ist oder das klingt ja klassisch schreibe ich einfach drüber ad web

00:20:52.016 --> 00:20:55.816
component und dann macht das ding automatisch ein so ein define mit der

00:20:55.816 --> 00:20:59.616
component registry aber nur wenn es ist schon gecheckt hat bin ich definiert oder

00:20:59.616 --> 00:21:06.176
nicht und so zeug das könnte alles das ist genau das was litt macht nicht dieses komponent web

00:21:06.176 --> 00:21:11.417
component framework die machen genau das du kannst et custom element schreiben mit dem tag name und,

00:21:12.136 --> 00:21:19.296
die klasse drunter wird als custom element registriert oder du hast am property decorator mit dem wird,

00:21:19.762 --> 00:21:26.216
das mapping zwischen html und deiner dem steht einer klasse gemacht also die richtung gibt schon

00:21:26.216 --> 00:21:27.999
aber jetzt gibt es das halt nach tiefen Schauskripten.

00:21:28.656 --> 00:21:34.976
Erstens das und zweitens ist dieses Lit Zeug halt wieder ein komplett Buy-in, wo ich halt nicht nur ein paar Funktionen habe,

00:21:34.976 --> 00:21:36.976
sondern ich muss halt eben diese Klasse extenden von denen.

00:21:37.298 --> 00:21:38.973
Dieser Custom Element Decorator.

00:21:40.161 --> 00:21:43.258
Denn würde ich mir zutrauen, ihn in der nächsten halben Stunde zu schreiben.

00:21:44.113 --> 00:21:47.948
Und dann funktioniert er, dass du, wenn du da irgendein Element hast, das du ableitst, dass du das registrierst.

00:21:48.830 --> 00:21:52.368
Ja, das ist tatsächlich ein Zehntseiler, den habe ich hier irgendwo rumliegen.

00:21:52.674 --> 00:21:57.841
Cool, erster Framework Code ist da. Und dann hast du dann Bunch of Decorators und haust die rein und schreibst einfach schöner.

00:21:58.715 --> 00:22:01.514
Genau, und das ist halt eben kein Framework, sondern ist halt mehr so eine Art Lowdash.

00:22:01.586 --> 00:22:05.196
Also, greif in diesen Werkzeugkasten rein und du willst irgendwie einen Attribut haben,

00:22:05.430 --> 00:22:10.651
dass irgendwie sowas wie Content Editable ist, nimmst du das, willst das Ding als Custom Element definieren, nimmst du das.

00:22:10.651 --> 00:22:14.691
Aber es ist halt immer noch eine Web Component und du könntest jederzeit jede von diesen Funktionen ersetzen

00:22:14.865 --> 00:22:17.809
oder sein lassen, deine eigene daneben schreiben, das Ganze irgendwie rappen.

00:22:17.853 --> 00:22:25.487
Es wäre halt tatsächlich modular. Es wäre halt, ne, nach der Idee von useState, wo halt eben es auch Libraries von Hooks gibt da draußen für React,

00:22:25.776 --> 00:22:29.211
könnte es halt eben Libraries von Attributimplementierungen geben.

00:22:29.211 --> 00:22:31.891
Und das muss alles gar nicht groß zusammenspielen, weil es halt einfach nur,

00:22:32.527 --> 00:22:36.851
Dinge dekoriert, also Dinge, die ohnehin da sind, in das ohnehin vorhandene, in die

00:22:36.851 --> 00:22:39.971
ohnehin vorhandene Mechanik für Web Components einbindet. Und ich denke, das

00:22:39.971 --> 00:22:43.971
ist schon ziemlich was wert. Gekauft will ich haben.

00:22:43.971 --> 00:22:52.251
Absolut. Okay, ich arbeite halbwegs ich dran. Ja, bitte. Das erste, was du brauchst, ist ein Name und das

00:22:52.251 --> 00:22:58.051
zweite, was du brauchst, ist ein Gizabrepo und dann weiß ich's. Dann kommen nicht die Contributor.

00:22:58.598 --> 00:23:02.651
Ja, dann kommen die Contributors, dann haben die Bugs und dann muss ich das fixen.

00:23:02.651 --> 00:23:05.131
Und dann hab ich auch da Issues, wo drin steht, ist das schon tot?

00:23:05.131 --> 00:23:08.014
Und ich so, nee, ich hab halt nur auf was anderes zu tun.

00:23:08.140 --> 00:23:13.211
Das sollten Leute mit stabileren Nerven machen, als ich das bin.

00:23:13.370 --> 00:23:15.144
Aber, ja.

00:23:15.612 --> 00:23:23.507
Und dieses Interludium wurde Ihnen präsentiert von Burnout-Gefährdeten in 30ern, Anfang 40ern. So ist es.

00:23:24.533 --> 00:23:28.584
Aber, nächste Punkt. Nächster Punkt. Hey, Stefan. Ja.

00:23:29.160 --> 00:23:32.931
Wie viele Use Cases für das Keyword Konst gibt's in TypeScript? Go! Um...

00:23:34.328 --> 00:23:42.578
Gibt aber, ein spannendes Thema ist, also das const-Keyword existiert in JavaScript und in TypeScript.

00:23:42.578 --> 00:23:46.058
In JavaScript definiert es ein konstantes Binding.

00:23:46.229 --> 00:23:50.658
Das heißt, du hast jetzt nicht ein variables Binding, wo du den gleichen Namen neu zuweisen kannst,

00:23:50.658 --> 00:23:53.350
sondern du hast ein konstantes Binding. Das heißt, die Zuweisung ist erfolgt.

00:23:53.818 --> 00:23:58.238
Das heißt, du kannst nichts mehr ändern. Wenn du jetzt einen primitiven Datentyp hast, wird er nicht geändert.

00:23:58.418 --> 00:24:03.498
Wenn du einen komplexen Datentyp hast, wie ein Objekt oder Array, dann kannst du zu einem neuen Element ändern,

00:24:03.498 --> 00:24:05.498
aber nicht mehr vom Objekt auf etwas anderes.

00:24:06.378 --> 00:24:14.738
Das ist der JavaScript Teil und das gibt es auch in TypeScript als Typ Modifier und es gibt es als Typ Assertion.

00:24:15.538 --> 00:24:18.418
Da fällt mir gerade der deutsche Name dazu nicht ein, wo du sagen kannst,

00:24:18.418 --> 00:24:25.898
hey, dieses eine Objekt, dieses eine JavaScript Objekt oder diesen einen JavaScript Wert nennen wir mal so, behandle ich im Typ System

00:24:26.325 --> 00:24:27.810
als Literal Wert.

00:24:27.927 --> 00:24:39.498
Das heißt, TypeScript ist das so. du hast ein Typ und zu diesem Typ passt eine Menge an möglichen Werten und dieser Typ kann sehr breit

00:24:39.498 --> 00:24:44.258
sein, diese Menge kann sehr groß sein oder dieser Typ kann sehr schmal sein, also die Menge kann

00:24:44.258 --> 00:24:55.978
sehr klein sein und mit s-Konst fixierst du den Wert, den du gerade hast, als diesen einen Wertetyp.

00:24:56.239 --> 00:25:01.258
Das heißt, der kann keine andere Form annehmen. Zu dieser Menge ist nur ein einziger Wert kompatibel

00:25:01.258 --> 00:25:06.458
und das ist der, den du gerade definiert hast. Und das ist toll, das ist großartig, falls du

00:25:06.458 --> 00:25:12.098
wirklich auf diese Werte typen zugreifen willst, wenn du die tatsächlichen Strings, die tatsächlichen

00:25:12.098 --> 00:25:17.578
Nummern brauchst und nicht einfach jeden String oder jede Nummer, du entsprechende Keys vielleicht

00:25:17.674 --> 00:25:24.058
brauchst von deinem Objekt, dann hilft es, dass du einfach sagen kannst, hey, mit s-Const hat dieser

00:25:24.058 --> 00:25:26.458
Wird die Bedeutung, dass er sich nicht ändert?

00:25:27.918 --> 00:25:32.230
Und ist dem Typ-System auch als Rotkrist zu behandeln. Genau.

00:25:32.401 --> 00:25:41.128
Und dieses Konst-Schlüsselwort aus dem Typ-System findet jetzt Einzug in GenericType-Parameters.

00:25:42.043 --> 00:25:44.728
Das sind Generics, wo du sagen kannst, hey, du hast hier dieses eine T,

00:25:44.728 --> 00:25:46.841
diesen generischen Typ.

00:25:46.949 --> 00:25:51.688
Aber wenn dieser Typ kommt, dann behandle ihn als Konstant.

00:25:52.608 --> 00:25:55.488
Das geht teilweise schon mit primitiven Werten sehr, sehr gut, wo du einfach sagst,

00:25:55.488 --> 00:26:01.362
du fügst jetzt tatsächlich den literal string Stefan zum Beispiel ein für dieses t, dann ist

00:26:01.648 --> 00:26:04.963
es auch dieser Wert und es kann nur mehr Stefan sein und es kann nicht string werden unter.

00:26:06.328 --> 00:26:10.808
Gewissen Voraussetzungen. Wenn du dort noch jetzt zum Beispiel ein String Array hast, du hast jetzt

00:26:10.808 --> 00:26:15.168
Stefan und Peter in einem Array, dann merkt TypeScript Theo es ist doch eher ein String Array,

00:26:15.387 --> 00:26:21.048
weil das ist wahrscheinlich das nächste was du machen möchtest. Und mit const t kannst du jetzt

00:26:21.048 --> 00:26:26.368
hey, nein, wenn ich dort das Array-Steffen und Peter reingebe, dann behandle ich das auch als

00:26:26.368 --> 00:26:33.168
das Array-Steffen und Peter. Das ist so die Idee. Und es gibt aber ganz coole Use Cases dafür.

00:26:33.168 --> 00:26:38.448
Eine, die ich gesehen habe ist zum Beispiel, du hast einen React-Router, jetzt haben wir wieder

00:26:38.448 --> 00:26:42.608
in dieser Ecke gelandet, wo du halt deine ganzen Routes definierst in einer Funktion,

00:26:42.608 --> 00:26:47.008
defineRoutes, da hast du mit einem const t die ganzen Routen definiert und dann willst du eine

00:26:47.008 --> 00:26:50.848
Methode schreiben oder eine Funktion schreiben, wo du von einer auf die andere dich bewegen kannst,

00:26:51.396 --> 00:26:57.688
über JavaScript, dann kannst du halt dort ein Autocomplete kriegen für genau die Einträge,

00:26:57.688 --> 00:26:59.894
die du Daten eingegeben hast. Ist recht nett.

00:27:01.794 --> 00:27:05.935
Hab ich was vergessen? Ja, Konstiganz.

00:27:06.244 --> 00:27:14.524
Okay, cool. Ah, ja gut. Ja. So, wenn ich vergessen bin, hab ich verdrängt.

00:27:14.524 --> 00:27:22.804
Wir können später nochmal was über ihn am reden. Aber ich meine, die wichtigen Use Cases, die wirklich Menschen nutzen, sind tatsächlich

00:27:22.804 --> 00:27:27.124
ja die, die Konstvariable und die Konst Assertion und das jetzt Konst im Typparameter, was

00:27:27.124 --> 00:27:32.924
das ja im Prinzip bloß ein Mechanismus ist, dass man den Effekt von S-Konst kriegt, ohne

00:27:32.924 --> 00:27:36.516
dass diejenigen, die das am Ende aufrufen, das immer dahinschreiben müssen.

00:27:37.002 --> 00:27:43.524
Ist ja im Prinzip bloß sozusagen eine Justage der Typ-Inferenz.

00:27:43.524 --> 00:27:47.524
Normalerweise würde ja die Typ-Inferenz sagen, irgendwie, hey, hast du dir ein Wert reingesteckt?

00:27:47.524 --> 00:27:50.685
Ich interpretiere den jetzt mal so großzügig, wie ich kann.

00:27:51.414 --> 00:27:54.524
Das ist ja das Type-Widening und S-Konst macht ja im Prinzip das Gegenteil.

00:27:54.524 --> 00:27:58.644
Interpretiere das so engstirnig, wie ich kann. Also Array von drei Strings ist halt eine Liste

00:27:58.644 --> 00:28:03.244
von exakt den drei Strings in der Reihenfolge und nichts anderes. Aber dazu muss ich ja

00:28:03.244 --> 00:28:06.624
als Const irgendwo da reinschreiben und wenn eine Funktion will, dass irgendwelcher Input so

00:28:06.624 --> 00:28:11.644
engstirnig interpretiert wird, kann das jetzt halt eben in Typparameter wandern und dann steht

00:28:11.644 --> 00:28:19.924
halt eben das Const auch noch möglicherweise da oben drin. Genau. Ja, ist, sagen wir so, ist, ja.

00:28:21.068 --> 00:28:29.044
Ja finde ich gut also ich habe ich hatte noch keine use cases dafür aber jetzt wo ich es hier

00:28:29.044 --> 00:28:35.884
was das zu fallen use cases sein das ist immer gutes zeichen wenn ich vorher keinen leidensdruck

00:28:35.884 --> 00:28:38.901
hatte und dann plötzlich wird er entwickelt indem ich erstmal was sehe.

00:28:41.179 --> 00:28:46.789
Frage ich mich ob da wirklich ein problem gelöst wird oder sozusagen hier hier hast

00:28:46.789 --> 00:28:51.189
ein problem und die lösung verkaufe ich dir gleich mit also ich sehe das gerade bei diesem

00:28:51.189 --> 00:28:56.869
feature eher so es macht einfach sinn oder es ergibt sinn dass das ding auch in generic

00:28:56.869 --> 00:29:01.589
type parameters landet es ist es macht das typ system meiner meinung stimmig meiner meinung

00:29:01.589 --> 00:29:06.949
noch stimmiger weil warum soll soll nicht die gleichen regeln innerhalb von generischen typ

00:29:06.949 --> 00:29:08.456
wie Brameter gelten wie außerhalb.

00:29:09.437 --> 00:29:14.949
Und deswegen macht es für mich absolut Sinn. Das ist eine ganz, ganz saubere Lösung dafür, dass es,

00:29:15.253 --> 00:29:17.584
dass ein fehlendes Puzzleteil dazu gebracht worden ist.

00:29:17.949 --> 00:29:24.678
Ja, und das macht natürlich auch einen möglichen Verwirrungspunkt für weniger informierte Nutzerinnen und Nutzer weg,

00:29:25.101 --> 00:29:28.459
den du dann ja nicht mehr sagen musst. Schreibt es konstanter, dann funktioniert es.

00:29:29.044 --> 00:29:33.949
Ja. Dass es ja nicht offensichtlich ist und nicht alle haben auf dem Schirm, was das tut.

00:29:33.949 --> 00:29:38.669
Sozusagen die Arbeit verfrachten zu denen, die unter diesen Umständen halt arbeiten wollen,

00:29:38.669 --> 00:29:50.069
also Autoren der Funktion, macht halt insofern schon Sinn. Es macht es halt tatsächlich auch

00:29:50.069 --> 00:29:55.509
relativ, sagen wir mal, macht es halt relativ wortreich. Also so ein Typ Parameter kann ja

00:29:55.509 --> 00:30:00.269
schon sehr wortreich sein. Und wenn ich jetzt hier so sehe, Konst T, Extents Read Only, irgendwas.

00:30:01.236 --> 00:30:06.709
Ich bin da, wie sagt man das, kampfgeprüft, ich schreibe Last. Also was da im generischen

00:30:06.709 --> 00:30:09.680
Umfeld passiert, das ist wild.

00:30:13.488 --> 00:30:21.978
Generic Constraint plus Cent plus Sync plus Tick Static. Und du brauchst eigene Zeile dafür und es gibt Sündtags, dass du das in eigene Zeile packen kannst.

00:30:22.140 --> 00:30:26.298
Also du wirst irgendwann mal.

00:30:27.037 --> 00:30:34.938
Irgendwann freust du dich, wenn du ein einfaches Konstigstens schreiben kannst. Also, ja.

00:30:35.688 --> 00:30:41.138
Kleine Typ-Systeme haben alle für und wieder. Absolut. Ja, ich würde tatsächlich auch sagen, das ist sozusagen,

00:30:41.178 --> 00:30:46.258
auch wenn ich persönlich nicht vom Hocker gehauen werde, weil ich vorher keinen Leidensdruck hatte,

00:30:46.298 --> 00:30:49.641
würde ich zumindest sagen, für die meisten Entwicklerinnen und Entwickler,

00:30:50.098 --> 00:30:52.338
hat das keinen Effekt, und das ist gut so.

00:30:52.378 --> 00:30:57.284
Die meisten werden davon profitieren, ohne das sozusagen im Arbeitsspeicher ihres Hirns haben zu müssen.

00:30:57.658 --> 00:30:58.094
Mhm.

00:30:59.697 --> 00:31:03.778
Das ist was anderes als Decorators, das ist ein Feature, mit dem man sich auseinandersetzen muss.

00:31:03.955 --> 00:31:05.778
Mit hier hast du weniger Notwendigkeit,

00:31:05.778 --> 00:31:15.818
überall es konntest, hinter zu schreiben und das ist ja eigentlich gut. Genau. Cool. Cool. So, das sind

00:31:15.818 --> 00:31:23.178
wohl glaube ich die beiden Flagship-Features aus dieser Release. Ja, ich schaue gerade auch über diese Liste drüber.

00:31:23.178 --> 00:31:32.898
Es gibt, das sind die beiden Flagship-Features, es gibt dann sehr viel Compiler-Fu oder so Projektzeug,

00:31:32.898 --> 00:31:38.178
wo du die Projekte besser konfigurieren kannst und Tooling, wie auch immer,

00:31:38.178 --> 00:31:40.778
also dass du bessere Unterstützung im VS Code und so weiter hast.

00:31:40.778 --> 00:31:43.698
Aber es gibt einen Feature, der ist noch sehr sehr interessant,

00:31:43.698 --> 00:31:48.258
ist eben diese 5.0 Veröffentlichung rechtfertigt meiner Meinung nach.

00:31:49.254 --> 00:31:53.269
Und das sind diese Inums. Und ich glaube, über das möchte ich noch mal ganz kurz reden. Schließ los.

00:31:53.765 --> 00:31:59.384
Also Inums sind ja ein bisschen so, kommt davon, woher du kommst natürlich, aber Inums sind

00:31:59.384 --> 00:32:04.064
ein sehr gern gesehenes Feature, je nachdem, woher du kommst, weil sie erlauben dir, dass

00:32:04.064 --> 00:32:09.344
du mit einer schönen Syntax mehrere Varianten, also mehrere Ausprägungen eines Typs definieren

00:32:09.344 --> 00:32:15.184
kannst. Es gibt Nummern-Inums und String-Inums in TypeScript. Nummern-Inums ist halt wirklich

00:32:15.184 --> 00:32:18.924
Enumeration so im klassischen C-Sinne, wo du jetzt sagst, du startest bei 0 und zählst

00:32:18.924 --> 00:32:23.484
weit hoch und hinter einem sprechenden Namen steckt halt ein Zahlenwert und das kannst

00:32:23.484 --> 00:32:28.464
du verwenden, um diverse Dinge zu lösen. Oder die String-Enam sagt einfach hinter einem.

00:32:29.369 --> 00:32:33.844
Feld oder hinter einem Property oder hinter einer Ausprägung steckt ein Stringwert und

00:32:33.844 --> 00:32:40.063
das kannst du dann so lösen. Das kann man nicht mischen. Und eigentlich schöne Syntax mit,

00:32:40.504 --> 00:32:44.424
Kunst innen, das ist eben das fehlende Kunst, verschwindet das sogar nachher nach dem Typ,

00:32:44.789 --> 00:32:49.424
nach dem Type Check, also nach dem Compile Schritt ist das weg und da hast du eigentlich

00:32:49.424 --> 00:32:55.344
keine Spuren mehr davon. Aber sie kommen mit einigen Einschränkungen mit, bis jetzt. Oder

00:32:55.344 --> 00:33:01.184
sagen wir so nicht mit einigen Einschränkungen, mit einigen eigenen Eigenschaften, genau Eigenheiten,

00:33:01.184 --> 00:33:07.984
die einfach im Sinn vom TypeScript Typ System nicht mehr richtig sind oder herausstechen,

00:33:07.984 --> 00:33:14.064
sagen wir mal so. Punkt Nummer eins bei den Number Enums, sie sind nicht Hypsif. Das ist das,

00:33:14.064 --> 00:33:19.664
was mich einmal total vom Hocker g'haut hat, weil du kannst dort beliebige Zahlen definieren,

00:33:19.664 --> 00:33:24.644
aber du kannst dann, wenn du irgendwo ein Enum als Funktionsparameter erwartest, einfach jede

00:33:24.644 --> 00:33:29.584
x-beliebige Nummer reingeben, weil in der originalen Spezifikation für Enums vorgesehen ist,

00:33:30.251 --> 00:33:35.424
dass du auch mit diesen rechnest. Dass du sagst, du machst jetzt eine Bitmaske und machst Bitvergleich

00:33:35.424 --> 00:33:39.984
zwischen Eintrag A und Eintrag B und da kommt dann eine Zahl aus, die du nicht definiert hast,

00:33:39.984 --> 00:33:43.104
aber die muss genauso gut funktionieren. Okay.

00:33:44.132 --> 00:33:48.462
Spannende Use-Kits hat es sicher mal gegeben, aber der Punkt von TypeScript war,

00:33:48.462 --> 00:33:51.982
damit Sie diesen Use-Kits unterstützen können, lasst mir einfach jede beliebige Zahl zu.

00:33:51.982 --> 00:33:55.313
Das heißt, Number-Inams nicht typsicher.

00:33:55.970 --> 00:34:00.813
Also das eine. Das andere String-Inams, wo jetzt zwischen hinter jedem Wert ein Stringwert steht.

00:34:02.209 --> 00:34:05.612
Das sind die einzigen nominellen Typen in TypeScript.

00:34:05.819 --> 00:34:08.822
Also TypeScript hat aus Druck für Redes Typsystem, das heißt, so wie der Wert gleich ist,

00:34:08.822 --> 00:34:11.622
geht man davon aus, dass auch der Typ gleich ist, das passt.

00:34:11.733 --> 00:34:15.482
Wenn du aber jetzt zum Beispiel in eine String-Innam schreibst,

00:34:15.482 --> 00:34:21.942
die heute zwei Ausprägungen hat, ab, und dann schreibst du eine zweite String-Innam auch mit einer Ausprägung ab,

00:34:21.942 --> 00:34:23.535
dann sind die nicht zueinander kompatibel.

00:34:24.102 --> 00:34:28.730
Und das ist wie gesagt das einzige nominelle Feature in TypeScript.

00:34:29.567 --> 00:34:35.877
Und bricht halt einfach auch mit der Idee vom strukturierten Typ-System.

00:34:36.142 --> 00:34:38.942
Jetzt gibt es Änderungen in den Innams.

00:34:38.942 --> 00:34:45.822
Wir einführen natürlich auch Runtime-Artifakte aus TypeScript und Tux, die jetzt keine ECMAScript-Entsprechung haben,

00:34:45.822 --> 00:34:49.422
was normale Inams ja machen. Die Pulsat sind ja wirklich eine Runtime-Lookup-Table.

00:34:49.597 --> 00:34:52.874
Ist auch nicht mehr in dem Vibe, den TypeScript heutzutage verfolgen möchte.

00:34:53.477 --> 00:34:59.662
Genau. Genau, weil TypeScript ja nur diese dünne Leer an Typinformation ist. Ist ganz richtig.

00:35:00.003 --> 00:35:07.800
Es gibt jetzt ein paar Änderungen. Zum einen, Number-Inams sind jetzt nicht mehr oder können jetzt nicht mehr.

00:35:09.231 --> 00:35:12.342
So breit genutzt werden wie vorhin. Das heißt, wenn du eine NumberInnum hast,

00:35:12.342 --> 00:35:16.782
dann muss auch tatsächlich ein Innam-Wert reingegeben werden. Das ist einmal das eine,

00:35:16.782 --> 00:35:20.422
das passiert. Das ist schon mal richtig, richtig gut. Und das andere, das passiert,

00:35:20.422 --> 00:35:25.542
das auch sehr spannend ist, ist, dass die Einträge einer Innam, egal ob das jetzt NumberInnum oder

00:35:25.542 --> 00:35:32.342
StringInnum ist, jetzt als Einträge eines Union-Types zu werten sind. Das heißt,

00:35:32.556 --> 00:35:37.982
die können jetzt als Typ wiederverwendet werden. Das heißt, es ist ganz easy, dass du noch einen

00:35:37.982 --> 00:35:42.182
Union-Type schreibst, der auf die gleichen Felder zugreift und mit denen noch kompatibel ist.

00:35:42.422 --> 00:35:46.982
Aber ist ein Inam als eine Auflistung von Werten nicht das Gleiche wie eine Union,

00:35:47.319 --> 00:35:49.642
was eine Auflistung von Werten ist? Ja.

00:35:51.244 --> 00:35:53.058
Meine Meinung nach schon. Warum würde ich das dann machen wollen?

00:35:53.058 --> 00:35:59.378
Das verstehe ich nicht ganz. Also die lösen beide das gleiche Problem.

00:35:59.643 --> 00:36:04.018
Eine Union und ein Inam lösen das gleiche Problem. Warum brauche ich denn denn Inams?

00:36:04.018 --> 00:36:04.775
Also für was sind die gut?

00:36:05.027 --> 00:36:08.018
Eigentlich für nichts. Die sind eine Relikt aus alter Zeit.

00:36:08.018 --> 00:36:14.178
Aber die Änderungen, die jetzt dort sind, gleichen sich schrittweise dem Verständnis

00:36:14.178 --> 00:36:15.299
vom Typ-System heute an.

00:36:15.587 --> 00:36:16.865
Das ist das, was ich eigentlich damit sage.

00:36:17.218 --> 00:36:20.618
Und darum finde ich die Änderung gut. Ich würde immer noch keine Inams nehmen.

00:36:20.618 --> 00:36:22.978
Es gibt einen Pattern, das kann ich gerne in die Schau-Notizen packen.

00:36:24.178 --> 00:36:30.818
Das ich ja in meinem Blog beschreibe, wo du mit einem JavaScript-Wert und einem davon abgeleiteten Typen

00:36:31.215 --> 00:36:34.298
das gleiche Verhalten erzeugen kannst, aber du 100 Prozent beim Typ-System bist

00:36:34.298 --> 00:36:38.407
und die gleichen Eigenschaften hast und die gleichen Features hast und die gleichen Typechecks hast.

00:36:38.542 --> 00:36:45.618
Und das Schöne ist jetzt mit dieser Änderung in Inams ist der Unterschied zwischen diesen Dingen nicht mehr so groß.

00:36:46.138 --> 00:36:49.338
Du hast immer nur die nominellen Features und das kann tatsächlich etwas sein,

00:36:49.338 --> 00:36:53.098
wo ich mir denke, okay, das will ich, wenn ich sicherstellen will, dass es einen Unterschied

00:36:53.098 --> 00:36:59.658
gibt zwischen Inam A und Inam B, dann ist die Inam das einzige, mit dem du das machen kannst.

00:37:00.535 --> 00:37:06.738
Aber ansonsten ist die Angleichung zwischen diesen Welten besser. Und wenn du irgendwo

00:37:06.738 --> 00:37:11.538
Inam Union Werte erwartest, dann kannst du auch von einer Inam, die vielleicht schon in deinem

00:37:11.538 --> 00:37:15.258
Code existiert, leichter hingehen. Also der Migrationsschritt ist meiner Meinung nach.

00:37:15.258 --> 00:37:20.498
Und deswegen bin ich happy, dass dieses Feature kommt. In Wirklichkeit hätte ich gern ein

00:37:20.498 --> 00:37:26.098
Feature, das man sagt, disallow Enums im Compiler und sie verschwinden. Das wäre das Allerbeste.

00:37:27.236 --> 00:37:32.338
Aber zudem lassen sie es nicht hin. Weil, meine Meinung nach, werden sie zu stark genutzt.

00:37:32.338 --> 00:37:37.738
Also ich habe Projekte, die ich sehe, wo Enums teilweise den Compiler in die Knie zwingen,

00:37:37.738 --> 00:37:41.978
einfach nur durch deren bloße Existenz. Ach, sind die so aufwendig?

00:37:42.701 --> 00:37:44.458
Ja, wir haben ihn mit 2000 Einträgen.

00:37:46.311 --> 00:37:52.001
Autogeneriert für irgendeinem Code Generator. Aber wäre eine Union mit 2000 Einträgen dann besser?

00:37:52.001 --> 00:37:57.121
Ja, wäre besser wegen der Syntax, weil nicht sofort alle Einträge evaluiert werden müssen,

00:37:57.121 --> 00:38:00.328
sondern nur der Typ Check interessant ist. Aber wenn du eine Inam definierst,

00:38:00.688 --> 00:38:05.639
dann muss die ganze Inam gepasst werden, damit überhaupt mal bekannt ist, was da ist.

00:38:07.223 --> 00:38:10.921
Und weil du ja Syntax zur Verfügung stößt, mit der du das nutzt.

00:38:11.130 --> 00:38:13.993
Und das ist einfach bei 2000 Strings in einer Union ganz was anderes.

00:38:14.209 --> 00:38:17.648
Also da muss ich einfach sagen, hey da ist der Typcheck schon, bin ich dort drinnen.

00:38:17.963 --> 00:38:22.627
Der Ray includes ist halt so schnell wie dein Compiler. Aber das Ganze aufzubereiten, puh, schwierig.

00:38:23.158 --> 00:38:27.443
Meistig aus Erfahrung, hat für irrsinnig viel Diskussion gesorgt in einem Projekt, in dem ich mal wieder da war.

00:38:27.641 --> 00:38:34.851
Okay, finde ich gut. Ich nehme gerne immer weitere Munition gegen Inams zur Hand.

00:38:36.427 --> 00:38:43.431
Damit ich da pro Union argumentieren kann. Nehme ich gerne mit, war mir gar nicht klar, aber ist logisch.

00:38:43.890 --> 00:38:54.323
Kunst ändert auch nichts dran. Das ist nämlich auch witzig. Also die Inam frisst einfach Kompilzeit, egal ob so Kunst Inam ist oder nicht.

00:38:55.242 --> 00:38:59.361
Das ist interessant. Das hätte ich jetzt auch nicht unbedingt erwartet, aber macht ja immer noch irgendwie Sinn,

00:38:59.361 --> 00:39:04.091
auch wenn es halt ein Artifakt macht. Das ist jetzt das einzige, was Kunst Inam tut. Ich kenne ihn auch.

00:39:07.359 --> 00:39:11.446
Das sind meine Two-Sense dazu. Also ich bin froh, dass das Ding existiert.

00:39:11.609 --> 00:39:17.297
Also diese Annäherung existiert. Es macht sicher einige Dinge einfacher und es sorgt nicht mehr für so viele Verwirrungen.

00:39:17.387 --> 00:39:22.849
Also das war eigentlich das größte Problem, wo du gehst halt dann innerhalb deiner Inam

00:39:22.849 --> 00:39:26.649
aus, wenn du zum Beispiel das Which-Case-Statement machst bei einer Number-Inam, dann musst

00:39:26.649 --> 00:39:30.849
du jeden Case betreuen und dann hast du halt bei einer Inam mit drei Einträgen, hast

00:39:30.849 --> 00:39:35.609
du halt nur drei Cases und das Problem ist aber, dass von oben viel, viel mehr reinkommen kann.

00:39:35.609 --> 00:39:40.169
Bitter, dass du diese Typ-Sicherheit nicht hast. Ja. Weil das willst du ja von TypeScript,

00:39:40.169 --> 00:39:44.849
zu dem existiert es. Und das kann ich dir nicht bitten und das ist halt traurig.

00:39:45.285 --> 00:39:50.489
Ja gut, okay. Dann wärme ich mich so langsam gegenüber dem Feature auf. Ich meine, das löst

00:39:50.489 --> 00:39:54.129
immer noch ein Problem, das am besten Fall gar nicht da ist, aber das kann man sich ja nicht

00:39:54.129 --> 00:39:57.049
ausprobieren. Aber hey, du weißt, du kennst die Ursprünge von TypeScript, das war jetzt sehr

00:39:57.049 --> 00:40:00.769
stark angelehnt. Ein Objekt orientierte Programmiersprachen, wie es hier schafft.

00:40:00.769 --> 00:40:02.768
Wunsch für Java-Entwickler, die jetzt Web machen müssen.

00:40:03.074 --> 00:40:11.489
Ja, genau. Und ich meine, wer hat's denn geschrieben? Das war irgendwie vorherzusehen und das ist ja

00:40:11.489 --> 00:40:18.369
jetzt nicht das Problem, sage ich jetzt mal. Und das Problem ist, wirst du auf lange Sicht damit

00:40:18.369 --> 00:40:23.369
umgehen und da hat es ja schon viele, viele Annäherungen gegeben. Namespaces haben nimmer

00:40:23.369 --> 00:40:27.689
die Wertigkeit wie vorher, Modules haben nimmer die Wertigkeit wie vorher, da gibt es jetzt einfach

00:40:27.689 --> 00:40:31.129
die ECMAScript Modules, die Triple Slash Directives haben nicht mehr die Wertigkeit wie

00:40:31.129 --> 00:40:35.289
vorher und jetzt endlich haben Inams auch nicht mehr die Wertigkeit wie vorher. Es ist eine weitere

00:40:35.289 --> 00:40:41.249
Annäherung und das ist immer das Beste, um über kurz oder lang wegzukommen davon und deswegen ist

00:40:41.249 --> 00:40:47.369
gut, dass es jetzt per Default in 5.0, sind es vorhin von Inams ändert, weil noch jeder und

00:40:47.369 --> 00:40:53.689
jede hoffentlich merkt, dass der Einsatz einer Inam es wahrscheinlich nicht wert ist. Also notwendige

00:40:53.689 --> 00:40:57.509
Vorarbeit für möglicherweise eines Tages wirklich das Compiler-Flag.

00:40:57.509 --> 00:40:59.709
Genau, das wäre meine Hoffnung.

00:41:02.282 --> 00:41:08.932
Gut, die restlichen Features, so irgendwie JS-Doc und so Zeug, haut mich jetzt auch nicht vom Hocker,

00:41:08.932 --> 00:41:09.932
irgendwie exportiert.

00:41:09.932 --> 00:41:14.129
Na, in guter Style, danke schön. Vielleicht mal verwenden, irgendwie so Multi-Extension-Config-Files,

00:41:14.309 --> 00:41:16.132
ist ja auch nur, was man sowieso haben möchte.

00:41:16.132 --> 00:41:23.132
Ja, mit dem Release von dieser Revision, also wenn ihr das hört,

00:41:23.132 --> 00:41:25.580
sollte das TypeScript 5.0 veröffentlicht sein.

00:41:26.291 --> 00:41:30.632
Falls ihr es anders seht, falls ihr große Inams-Fans seid, lasst es uns wissen.

00:41:30.632 --> 00:41:34.152
Verfolgt uns auf Twitter und wenn es das noch gibt zu dem Zeitpunkt, wir nehmen das

00:41:34.152 --> 00:41:38.512
deutlich vor der Veröffentlichung aus, also wer weiß was sich der Elmo bis dahin

00:41:38.512 --> 00:41:44.992
noch ausdenkt. Ansonsten gibt es uns ja auch noch auf Mastodon und unseren Slack-Channel Community Draft gibt es noch. Also lasst uns wissen,

00:41:44.992 --> 00:41:49.312
überzeugt uns davon, dass Inams voll gut sind und wir komplett falsch liegen.

00:41:49.312 --> 00:41:51.875
Ich wäre sehr interessiert an diesbezüglichem Input.

00:41:54.711 --> 00:41:59.716
Stefan, es war mir wieder ein großes großes Vergnügen. Ja, es war ein Volksfest.

00:42:00.184 --> 00:42:06.612
Danke fürs Zuhören. Wir sehen uns dann in dieser Konstellation nächstes Quartal wieder, wenn es dann um TypeScript 5.1 geht.

00:42:06.918 --> 00:42:09.754
Bis dahin, danke fürs Zuhören und Tschüssi.

00:42:10.105 --> 00:42:10.735
Ciao!

00:42:29.343 --> 00:42:38.872
Das passt. Also ich hab so ein fancy neues Mikro. Und das steht jetzt auf so einem Stand und da muss ich immer ganz nahe hingehen, damit man mich auch anständig versteht.

00:42:39.191 --> 00:42:43.188
Und ich hoffe das passt. Und die darf nicht so am Sessel hin und her rutschen.

00:42:43.521 --> 00:42:47.464
Ach so, ein bisschen Rassel und Ambience und so Knarz kommt da schon rüber.

00:42:47.806 --> 00:42:49.400
Okay. Das ist wahrscheinlich das Bewegen.

00:42:50.129 --> 00:42:53.991
Das ist wahrscheinlich... also ich habe jetzt gerade auch das Mikrofon gestreichelt, weil ich Staub entfernt habe.

00:42:54.036 --> 00:42:58.032
Das ist natürlich auch Knarz. Das muss ja sein. Das wäre dann das hier.

00:42:58.456 --> 00:43:02.432
Ja, genau. Man muss das Mikrofon ja streicheln, damit es hinterher schön zart wird.

00:43:02.669 --> 00:43:06.512
Genau, ganz genau. Ich streichle jetzt nicht mehr, es ist genug gestreichelt.

00:43:06.828 --> 00:43:08.098
Gut.

00:43:08.862 --> 00:43:13.792
Jetzt sind drei Minuten drin und schon eine ganze Outtake Sendung geschafft.

00:43:13.792 --> 00:43:17.752
Ich glaube, so viel haben wir jetzt ja gar nicht mit aufgezeichnet.

00:43:17.752 --> 00:43:23.512
Außerdem, was erwartest du auch, wenn hier die beiden Clowns vom Dienst in der Sendung sind?

00:43:24.599 --> 00:43:28.352
Ah ja. Verdammt. Ja, es ist cool, dass ich wieder mal dabei bin.

00:43:28.352 --> 00:43:35.512
Ich bin eh so komplett weg eigentlich davon, weil Kinder und alles und alles eigentlich.

00:43:35.512 --> 00:43:40.560
Das ist jedes Problem. Ja, ich war ja auch weg, aber...

00:43:41.748 --> 00:43:48.238
Irgendwann haben dann die Katastrophen aufgehört sich sozusagen aufzutürmen und nachdem dann sozusagen

00:43:48.635 --> 00:43:51.713
genug davon abgetragen war, dass man auch mal wieder was anders machen konnte,

00:43:51.918 --> 00:43:55.089
geht auch mal wieder was in Richtung Podcast.

00:43:55.467 --> 00:43:57.736
Ich hab keine Ahnung wann dieser Zeitpunkt bei mir sein wird.

00:43:57.799 --> 00:44:01.998
Vor allem diese regulären Mietungen. So auswärtig wie das geht, das passt.

00:44:01.998 --> 00:44:11.050
Aber ich sehe bei meinen Kindern keine Chance, dass die Abendrituale sich zu meinen Gunsten in den nächsten Jahren verändern werden.

00:44:11.374 --> 00:44:14.597
Ja und das muss ich heute mal fressen.

00:44:15.200 --> 00:44:22.060
Ja ich mein man könnte ja hin und wieder auch mal bei äh also zur Diskussion stellen, ob vielleicht ein anderer Zeitslot, ein anderes Aufnahmeregime vielleicht...

00:44:22.591 --> 00:44:26.849
Ja aber da bin ich tatsächlich auch, sag mal, der weakest link und das ist okay.

00:44:27.245 --> 00:44:35.510
Es ist ja auch sogar so, dass ihr von uns jetzt am wenigsten Ahnung habt vor dem ganzen, weil ich einfach schon so lange nichts mehr gemacht hab in dem Bereich.

00:44:35.671 --> 00:44:43.197
Also da haben Leute wie die Vanessa einfach viel mehr Insights und die Vanessa kennt sich irrsinnig.

00:44:43.242 --> 00:44:44.926
Jedenfalls muss ja der Übernerd sein. Also ich meine.

00:44:46.339 --> 00:44:55.558
Ja, so generell Hugscheißen geht schon. Es ist ja nun tatsächlich so, ich weiß ja nicht, ich glaube wir sind ja ungefähr gleich

00:44:55.558 --> 00:44:59.267
lange, also wir sind ja zu ungefähr gleichen Zeitpunkt haben wir ja die Segel gestrichen

00:44:59.636 --> 00:45:02.030
und haben gesagt so Podcast bestellen wir jetzt mal hinten an.

00:45:02.840 --> 00:45:08.179
Da hatte ich ja in der zeit tatsächlich auch ein etwas anderer vibe in den sendungen niedergeschlagen,

00:45:09.340 --> 00:45:14.278
Ich weiß nicht, wie kein Zeug gehört. Ich sehe mir immer so leid wenn ich dann sendungen höre wo ich nicht dabei bin

00:45:14.638 --> 00:45:19.198
Ne aber das sind halt dann so sachen drin wie irgendwie tech recruiting imposter syndrome ausbildung.

00:45:20.958 --> 00:45:30.478
Oder halt so kram wie die backup revision war auch eine ganz neueste weil da war halt einfach nur so ein Typ dabei, der hat halt über Backups erzählt und Backups

00:45:30.478 --> 00:45:33.934
Das betrifft dich halt, ob du jetzt irgendwie web machst oder nicht, ja ohnehin immer.

00:45:35.311 --> 00:45:40.767
Oder die aktuelle wo hans und ich da über ai debattiert haben.

00:45:41.037 --> 00:45:42.000
Das kannst du ja immer machen.

00:45:43.801 --> 00:45:47.761
Ja stimmt. ich glaube der hans selber steckt ja auch nicht mehr ganz so tief im schützengraben

00:45:47.761 --> 00:45:49.517
drin wie das schon mal der fall war.

00:45:50.345 --> 00:45:54.841
Da würde ich mich jetzt nicht von abhalten lassen, von wegen keine ahnung haben.

00:45:55.036 --> 00:45:59.281
Weil wenn du keine ahnung hast, hast du eine meinung. und wenn du keine meinung hast, kannst du immer noch witz machen.

00:45:59.281 --> 00:46:03.083
Meinungen habe ich viel. wo ist denn scheiß?

00:46:03.281 --> 00:46:05.964
Was? Mein Hauptmeinung gerade überwandt.

00:46:06.594 --> 00:46:12.905
Ja, gut. Das führt uns ja mehr oder weniger direkt in den TypeScript rein.

00:46:13.553 --> 00:46:16.029
Ja. Na, aber jetzt streiten sie wieder.

00:46:16.947 --> 00:46:27.281
Die Communitys, die React-Community bettelt sich jetzt wieder mit der traditionellen Web-Dev-Community, weil irgendwer gesagt hat,

00:46:27.281 --> 00:46:32.107
hey, Server-Set-Rendering ist total cool. Und jeder sagt, ja, ist eh cool.

00:46:32.281 --> 00:46:34.281
Das ist man seit 10 Jahren.

00:46:35.348 --> 00:46:40.281
Und das sind so mühselige Diskussionen. Wird er denn zurückgebattelt?

00:46:40.281 --> 00:46:43.281
Also ich sehe das jetzt eigentlich, das mag auch daran liegen, wen ich da verfolge, aber

00:46:43.281 --> 00:46:47.951
ich sehe halt die Traditionenlisten, die halt eben in letzter Zeit echt die Samthandschuhe abgelegt haben.

00:46:48.842 --> 00:46:53.281
Also kommt da aus der React-Seite irgendwas zurück? Ich nehme die ja nicht wahr.

00:46:53.281 --> 00:46:55.864
Nein, die React-Seite ist, also das Thema, das ich jetzt sehe, das ist auf Mastodon,

00:46:56.521 --> 00:46:59.762
und die React-Seite ist nicht auf Mastodon, die ist immer nur drüben.

00:47:00.281 --> 00:47:04.929
Und die Meinungen sind unterschiedlich, je nachdem, welche Seiten du aufmachst.

00:47:05.073 --> 00:47:13.922
Die Trommeln schlagen schon sehr laut gerade im Moment. Ich finde, ich bin dieser Diskussion überdrüssig.

00:47:14.436 --> 00:47:19.243
Das ist die ehrlichste Antwort, die ich geben kann.

00:47:20.224 --> 00:47:26.427
Ich bin letztens auch zu dem Ergebnis gekommen, aber ich denke, lasse halt die Reaktleute so ein bisschen spielen.

00:47:26.561 --> 00:47:32.062
Ich hab letztens hier mal so geguckt, was können die eigentlich bei PHP mit ihren Server-seitigen Frameworks oder so?

00:47:32.683 --> 00:47:38.721
Und da hab ich dann irgendwie Laravel aufgemacht und einfach mal so, okay, hallo Welt und Zeug.

00:47:39.444 --> 00:47:43.321
Und nachdem ich jetzt ja was betreibe, was so mit Next.js gebaut ist, wenn ich das so

00:47:43.321 --> 00:47:47.401
vergleiche mit dem, was mir da PHP liefert, also wo ich weder die Sprache noch das Framework

00:47:47.401 --> 00:47:50.801
kenne, aber wenn ich einfach so auf drei Knöpfe drücke und irgendwie alles ist da, was ich

00:47:50.801 --> 00:47:55.921
brauche, was ist, ich muss halt irgendwie ein extra Modul für Session-Management installieren

00:47:55.921 --> 00:48:00.281
auf eine bestimmte Version fest pinnen, damit das im Zusammenspiel mit Next.js und dem und jenem und

00:48:00.281 --> 00:48:03.066
und solchen irgendwie funktioniert. Versus, das geht einfach.

00:48:04.803 --> 00:48:08.608
Ja okay, es wird jetzt auch serverseitig gerendert, aber ich kann ja auch serverseitiges Rendering haben,

00:48:08.827 --> 00:48:15.120
ohne irgendwie groß was dafür zu tun und das ist schon echt ein bisschen armselig, was man da so in JavaScript-Land geboten bekommt.

00:48:15.363 --> 00:48:16.848
Richtig einsteinisch.

00:48:17.208 --> 00:48:23.456
Du hast da auch die Königin der Frameworks ausgesucht, weil Laravel ist halt wirklich krass, was das angeht.

00:48:23.717 --> 00:48:26.652
Also die machen irrsinnig gute Sachen.

00:48:26.994 --> 00:48:30.528
Und es gibt einen Kollegen, den Christoph Rumpel, der war ja schon mal bei uns,

00:48:30.528 --> 00:48:35.168
der sich viel damit beschäftigt und da immer so Code Screenshots rauf stellen,

00:48:35.168 --> 00:48:40.848
wo man denkt, da ist ja kein Code drauf, das sind ja drei Zeilen und du hast einfach diese Funktionalität implementiert.

00:48:40.848 --> 00:48:47.048
Und dann komme ich her bei meinen Ras Snippets, der alles so, ich hätte bitte gerne größere Screenshots

00:48:47.048 --> 00:48:51.568
oder könnt ihr bitte diese Tweets nur auf einem 28 Zoll Monitor anschauen,

00:48:51.568 --> 00:48:54.768
weil ansonsten seht ihr halt einfach nicht, was ich da geschrieben habe.

00:48:54.768 --> 00:48:59.933
Das ist schon beeindruckend, da wird wirklich sehr viel Wert auf Effizienz gelegt, das ist toll.

00:49:00.446 --> 00:49:04.108
Ja, also ich bin sicher, dass das total nervt, wenn man irgendwie was machen möchte, was außerhalb der Reihe ist.

00:49:05.010 --> 00:49:09.608
Aber für noch nicht einschreibzeichen die Datenbank und klemme da halt irgendwie noch, weiß ich nicht,

00:49:10.646 --> 00:49:11.906
1, 2, 3 Services dran.

00:49:12.347 --> 00:49:20.528
Ja, reicht's. Das ist schon echt nicht schlecht. Ich kann halt eben 0 PHP mehr. Ich habe das ja, ich habe das halt irgendwie 15 Jahren nicht mehr rezipiert.

00:49:21.917 --> 00:49:28.068
Aber es ist halt, sagen wir so, dass das Framework erfüllt halt auch relativ gut die Philosophie. So hier sitzt halt jemand, der keine Ahnung hat.

00:49:28.263 --> 00:49:32.568
Ich copy und paste irgendwie Kram und pass den so an und der reimt sich mit Kram, den ich schon mal gesehen habe.

00:49:33.566 --> 00:49:39.363
Und das funktioniert am Ende. Dann hast du vielleicht noch Tooling, irgendwelcher Autokomplete und du lernst die Sündungsturnalarm.

00:49:39.568 --> 00:49:42.478
Das passt. Und die PRP-Sündung ist jetzt nicht so schwierig.

00:49:42.946 --> 00:49:47.568
Also ich würde behaupten, ich konnte nie PRP. Ich habe zwar viel PRP entwickelt, aber ich konnte es nicht wirklich.

00:49:47.568 --> 00:49:54.496
Das war eigentlich immer der Punkt, wo ich sage, mit denen das halt, wenn man ein bisschen schiebt, schaut so aus wie C oder Java,

00:49:54.649 --> 00:49:59.105
eben auch JavaScript, weil es heute ähnliche Syntaxprimitive hat, komme ich weit genug.

00:50:00.203 --> 00:50:01.680
Damit der Output passt.

00:50:01.995 --> 00:50:06.688
Aber dass jetzt irgendwie jemals Best Practices adoptiert hat oder sonst irgendwas, war unmöglich.

00:50:06.688 --> 00:50:08.928
Ich habe ja hauptsächlich WordPress gemacht, das ist sowieso unmöglich,

00:50:08.928 --> 00:50:13.688
weil da rennst du in der WordPress-Loop und versuchst halt irgendwie Dinge rein zu quetschen.

00:50:14.248 --> 00:50:18.248
Aber es ist trotzdem beeindruckend, wie niederschwellig das Ganze nach wie vor ist.

00:50:18.433 --> 00:50:27.748
Also dass das überhaupt möglich ist, dass es einfach irgendwen hinsetzt und und er oder sie können einfach los starten und werken und resultat,

00:50:28.479 --> 00:50:33.548
dann das ist halt immer echt so die stärke von dem ganzen ökosystem gewesen das ist ja immer noch

00:50:33.548 --> 00:50:37.828
der grund warum ich bei allen möglichen leute sagen die mir die mich irgendwie fragen ich will

00:50:37.828 --> 00:50:41.388
irgendwie eine webseite haben aber irgendwie so square space ist mir dann doch ein bisschen zu

00:50:41.388 --> 00:50:47.188
blöd ich möchte gerne irgendwie ein bisschen extra sein geht zu wordpress weil du musst halt nur

00:50:47.188 --> 00:50:51.388
irgendeine irgendein brecheisen finden dass du an irgendeiner stelle ein ansetzen kannst in diesem

00:50:51.388 --> 00:50:54.328
ganzen System und dann kannst du deine Funktionalität die du haben willst da

00:50:54.328 --> 00:50:57.241
irgendwie rein prökeln. Ich weiß zwar nicht wie, aber ich,

00:50:57.808 --> 00:51:01.168
weiß dass du es hinkriegen wirst. Musst du ein Theme installieren, ein Plugin oder

00:51:01.168 --> 00:51:03.525
Irgendetwas selber irgendwo reinpasten, aber es wird funktionieren.

00:51:04.974 --> 00:51:13.464
Und wenn ich das halt wie gesagt vergleiche mit ich darf halt irgendwie meine meine Suppe Library die eine von drei Komponenten für Session Management in meinem Next.

00:51:13.464 --> 00:51:20.576
Konstruktor ist nicht updaten auf die Version so und so weil sonst geht alles kaputt ist halt echt schwach ist halt nicht mega schwach.

00:51:21.024 --> 00:51:33.564
Das ist ja das Problem also also du kommst ja nicht mit dem Patch nach gerade wenn du jetzt sagst du hast irgendwie ein Hobby Projekt oder irgendein Projekt das du nicht regelmäßig anschaust das vielleicht einmal ein CMS hängt und du hoffst dass ich die Seiten automatisch aktuellisieren.

00:51:33.791 --> 00:51:38.319
Du hast per Default einfach noch zwei Wochen einen Security-Bridge irgendwo.

00:51:38.508 --> 00:51:46.564
Die einzigen Security-Nachrichten, die ich kriege, sind von React-Projekten oder Projekten,

00:51:46.564 --> 00:51:50.391
die halt frontendlastig sind, aber stark auf MPM oder MPM-Tooling legen.

00:51:50.444 --> 00:51:55.464
Und da gibt es ja diese Diskussion, die ist mir auch wieder irrsinnig angangen, also so

00:51:55.464 --> 00:52:02.124
nervig, wo ich gesagt habe, aber es ist doch egal, weil da ist ja nur der Dev-Server betroffen

00:52:02.124 --> 00:52:06.044
dem Security Breach und der ist jetzt nicht kritisch, weil wer würde denn ein

00:52:06.044 --> 00:52:10.084
Development Server im Production deployen? Das macht auch keiner. Das ist die

00:52:10.084 --> 00:52:14.652
Annahme von dem Maintainer gewesen. Ja, haha, du Kind, wirklich super, dass du so.

00:52:15.004 --> 00:52:20.284
Blauäugig ins Leben gehst, weil natürlich jeder, der sich nicht auskennt, haut den

00:52:20.284 --> 00:52:24.404
Dev Server live, weil ein Resultat und ich möchte das Resultat weiter nutzen.

00:52:24.404 --> 00:52:34.044
Also und du kannst ja nicht von allen erwarten, dass sie Profis sind, die überhaupt daran denken, dass das ein Problem sein könnte. Genau. Und das ist halt schon bitter,

00:52:34.044 --> 00:52:37.244
ne? Und das ist wirklich bitter. Und wir sind mittlerweile an einem Punkt, also die

00:52:37.244 --> 00:52:41.644
Scriptconf-Webseite, die haben wir seit 2019 nicht mehr betreut, aus Gründen, ne? Wo haben

00:52:41.644 --> 00:52:47.519
wir so ein bisschen Pandemie dazwischen. Die können wir nicht mehr zum Leben erwecken,

00:52:47.604 --> 00:52:53.564
ist glaube ich die richtige Wortwahl dazu. Oh. Weil... Ja, festgefahren. Extrem kurze

00:52:53.564 --> 00:53:00.284
Ja, also total festgefahren. Es ist Notweiter, es ist Nächstweiter, es gibt keine Migrationsfahrt,

00:53:00.284 --> 00:53:06.924
nichts. Mit Mühe und Not kriegen wir die alte Version noch hin, dass wir sie starten können,

00:53:06.924 --> 00:53:12.364
aber von dort jetzt weg zu migrieren mit fast drei, dreieinhalb Jahren Pausen, unmöglich.

00:53:13.221 --> 00:53:19.524
Und tatsächlich ist es so, um am Ball zu bleiben, brauchst du.

00:53:21.296 --> 00:53:25.546
Iterations zügeln für zwei wochen das ist das was ja bei uns in der firme sie,

00:53:26.724 --> 00:53:31.666
wir kriegen bläck tags kennst das ist das ist so ähnlich wie das was du von die pender pot kriegst und.

00:53:32.666 --> 00:53:38.139
Fehler update security ist irgendwas keine ahnung ist halt echt schon übel.

00:53:38.746 --> 00:53:45.586
Du musst es halt auch updaten können das ist also im moment so mein problem mit meinem aktuellen nextjs stack da wohnt halt eine version von der library drin

00:53:45.890 --> 00:53:52.466
Und da ist halt ein bekannte großes Security-Lücke, kein Problem, ist auch gefixt, aber bei dem

00:53:52.466 --> 00:53:56.946
Major Update ist halt auch was eingebaut worden, was halt im Zusammenspiel mit einer anderen.

00:53:57.431 --> 00:54:01.186
Relevanten Library, die ich halt für meine Konstruktion brauche, halt eben einfach zu

00:54:01.186 --> 00:54:06.826
einem Fehler führt. Und das ist halt auch bekannt und gemeldet und etc. Und da gibt's irgendwie

00:54:06.826 --> 00:54:11.186
Workaround-Diesen, Workaround-Jenen, alle mit so Nachteilen. Aber es ist halt überhaupt gar

00:54:11.186 --> 00:54:16.586
nicht das Ziel, das wieder zum Funktionieren zu bringen in diesem Zusammenspiel. Und das ist

00:54:16.586 --> 00:54:21.186
halt, glaube ich, das Problem, wo halt dieses ganze Micro-Library-Krams mit halt auch seinem

00:54:21.186 --> 00:54:26.066
Semantic Versioning und was nicht allem einfach kaputt geht, weil selbst wenn man jetzt sagt,

00:54:26.066 --> 00:54:31.586
alle halten sich da an diese Versionskontakte, selbst wenn sie das probieren, hast du ja dann

00:54:31.586 --> 00:54:36.186
ja trotzdem als ein so ein ganz kleiner Baustein in einem so riesigen Ökosystem im Prinzip ja

00:54:36.186 --> 00:54:39.946
unendlich viele Berührungspunkte mit unendlich vielen Libraries, mit denen du interagieren

00:54:39.946 --> 00:54:43.786
können müsstest und das kannst du halt entweder nicht leisten das willst du

00:54:43.786 --> 00:54:50.386
möglicherweise nicht leisten möglicherweise ist einfach komplett unmöglich zu allem kompatibel zu sein und wie gesagt ich vergleiche das mit

00:54:50.625 --> 00:54:59.146
tipp dieses paste diesen kommand hier in dein terminal und dann hast du da irgendwie dein laravel mit irgendwie authentifizierung drin und session

00:54:59.146 --> 00:55:02.506
management drin und die datenbank packen wir dir gleich mit rein hier ist eine

00:55:02.506 --> 00:55:04.552
docker compose nicht mal das musste selber schreiben

00:55:04.885 --> 00:55:08.801
Ja. Okay, ich vermisse halt echt irgendwie so ordentliches Typsystem.

00:55:09.773 --> 00:55:14.106
Oh, versuchst du jetzt gerade einen auf Überleitung zu machen?

00:55:14.274 --> 00:55:17.946
Ich weiß gar nicht, ehrlich gesagt, ich meine, die Aufnahme läuft ja eh schon.

00:55:18.514 --> 00:55:22.306
Ja, ja, wir sind schon mitten drin. Eigentlich ja, ich würde sagen, wir machen das.

00:55:22.306 --> 00:55:25.386
Also das ist halt so wirklich mein einziges wirkliches Problem damit.

00:55:25.386 --> 00:55:27.786
Also ich weiß nicht, was ich tue, aber das ist okay, weil wie du richtig sagtest,

00:55:27.786 --> 00:55:32.466
es ist ja kaum Code. Du schreibst irgendwie drei Zeilen, deklarierst da was hin, bäm,

00:55:32.466 --> 00:55:36.933
funktioniert und wenn nicht ist halt auch der Vorteil der gesamte Stack wird,

00:55:37.706 --> 00:55:43.106
halt auch benutzt von Leuten die keine Ahnung haben die halt die exakten Fehlermeldungen so oft in irgendwelche Foren und so reingepastet haben

00:55:43.106 --> 00:55:49.546
du findest das hast du irgendwie ein Problem mit Next.js brauchst du ja Next.js plus Versionsnummer plus dieses plus dieses plus solches in der

00:55:49.546 --> 00:55:52.777
Kombination manifestiert sich dieses Problem und da gibt es halt eben exakt

00:55:52.840 --> 00:55:56.746
niemanden der das schon gemacht hat. Und wenn der Mond ein Grad schief steht dann

00:55:56.746 --> 00:56:00.986
funktioniert schon immer und du kriegst andere Fehlermeldungen. Es ist halt ja. Ja.

00:56:00.986 --> 00:56:04.586
Das ist richtig. Also das, was mich halt eben interessiert, ist wirklich...

00:56:06.784 --> 00:56:12.420
Also das ist mir dann ja aufgefallen und ich hatte jetzt so irgendwie so den den verdacht dass das ohnehin schon immer so ist.

00:56:12.987 --> 00:56:16.849
Weil ich erinnere mich an irgendwie so ein ganz altes cake php projekt dass ich vor.

00:56:17.668 --> 00:56:27.076
20 jahren oder so mal gemacht habe und erinnerte mich da wie ich da so sagte ich denke einfach die datenbank tabelle und siehe da da fällt ein rudimentäres user interface raus und irgendwie funktioniert alles.

00:56:28.111 --> 00:56:31.735
Das war vor 20 Jahren, dann baue ich halt irgendwie vor ein paar Jahren, fange ich halt so an und

00:56:31.735 --> 00:56:35.415
NextJail sieht gut aus, lass mal anfangen. Ah, okay, du bist also ein Framework und alles,

00:56:35.415 --> 00:56:39.255
was du machst, ist React-Komponenten anzeigen. Und alles, was irgendwie interessant ist,

00:56:39.255 --> 00:56:45.215
muss ich da irgendwie selber mir zurecht basteln. Geht's noch?

00:56:45.863 --> 00:56:51.975
Ja. Aber trotzdem habe ich es geschluckt, ab das gemacht und jetzt stehe ich halt vor dem Problem,

00:56:51.975 --> 00:56:55.135
dass ich halt hier so den alten Stack habe, das soll zu meinem neuen Stack irgendwie werden,

00:56:55.135 --> 00:57:02.135
Aber jetzt muss ich halt eben eine Migration beschreiten von halt wirklich dem einen, was ich loswerden will, zu dem anderen, wo ich hin will.

00:57:02.419 --> 00:57:11.961
Aber das Delta zwischen denen ist halt einfach so groß, weil natürlich mit seinen eigenen Konventionen daher, dass ich halt einfach jetzt riesig viel Arbeit habe, die ohne Zweifel zu bewältigen sein wird und dies ohne Zweifel wert sein wird.

00:57:12.699 --> 00:57:17.135
Aber ich meine, wie bin ich in dieses Loch überhaupt reingerannt? Warum check ich das nicht?

00:57:17.218 --> 00:57:22.475
Nicht. Vielleicht bleiben wir ganz kurz noch bei Next.js bevor wir weitergehen, weil du sagst

00:57:22.475 --> 00:57:27.675
ein paar sehr interessante Sachen. Das Ding ist halt so, wenn du jetzt Next.js angeschaut hast von

00:57:27.675 --> 00:57:34.035
vor vier, fünf Jahren, sagen wir mal so. Da war es ja richtig cool, weil in Wirklichkeit hat Next.js

00:57:34.035 --> 00:57:41.195
gesagt, du kannst ReaComponenten schreiben, aber diesen ganzen Mist mit Routing oder Server-Site-Rendering

00:57:41.195 --> 00:57:46.535
Rendering und State-across-Sessions-weiten und so weiter übernehmen wir für dich.

00:57:46.701 --> 00:58:00.573
Das war halt auch der nächste

00:57:59.043 --> 00:58:06.677
Hosting-Ökosystem transformiert, wo das Framework entscheidet, was die beste Hosting-Variante ist.

00:58:06.830 --> 00:58:09.830
Und da gibt es leider ein kleines Problem. Am Anfang war es halt noch richtig cool, weil du sagst,

00:58:09.830 --> 00:58:14.830
das ist halt React-Batteries included, das ist eigentlich das, was du haben willst, ganz leichtes Tooling,

00:58:14.830 --> 00:58:20.830
ein paar Prozesse oder ein paar Konventionen, aber du hast schnell unter das Framework blicken können

00:58:20.830 --> 00:58:22.746
und hast noch sehr gut verstanden, was da eben passiert.

00:58:22.935 --> 00:58:27.830
Und jetzt hast du halt das Problem, was ursprünglich ein Open-Source-Projekt, eine Start-up war,

00:58:27.830 --> 00:58:31.811
Startup-Sore ist jetzt der Hauptfunnel für Kunden.

00:58:32.261 --> 00:58:37.473
Also Next.js ist jetzt das Produkt. Es ist ein Open Source Produkt, ja, aber es ist das Produkt.

00:58:37.670 --> 00:58:39.580
Also Vercell verkauft Next.js.

00:58:39.958 --> 00:58:43.150
Sie machen Geld über das Hosting, aber das Produkt ist Next.js.

00:58:43.150 --> 00:58:48.024
Und das Problem ist, wie du ein Produkt hast und du eine Firma bist, die ein Produkt hat,

00:58:48.230 --> 00:58:49.230
brauchst du eine Produkt-Roadmap.

00:58:49.798 --> 00:58:53.350
Das heißt, du musst irgendwie schauen, dass Features reinkommen oder dass die Dinge ändern.

00:58:53.350 --> 00:58:56.710
Du kannst nicht einfach nein sagen, weil es nicht irgendeiner Philosophie entspricht oder

00:58:56.710 --> 00:59:01.590
Sondern das Problem ist halt, du hast ein Roadmap, du hast Investoren, die müssen klar sein,

00:59:01.590 --> 00:59:05.443
was wann wie kommt, wie sich das aufs Business auswirkt und das versaut halt alles.

00:59:05.804 --> 00:59:08.510
Das ist halt wirklich ein Problem, weil im Moment kannst du das nicht mehr machen, du

00:59:08.510 --> 00:59:15.769
hast so viel Semantik in jeder Entscheidung und musst halt einfach und das Framework abstrahiert

00:59:15.832 --> 00:59:21.530
dir so viele Dinge weg, zwingt dich aber dann trotzdem zu Entscheidungen einfach nur, weil,

00:59:22.030 --> 00:59:25.500
sie diesen starken Teil haben zur Plattform Verselbe.

00:59:26.030 --> 00:59:31.510
Ist der Grund. Und ich meine das coole ist, das Projekt wird weiterentwickelt, das ist ja besser

00:59:31.510 --> 00:59:35.310
als wenn ihr stirbt, aber du musst halt jede Entscheidung und jedes Feature, das reinkommt,

00:59:35.310 --> 00:59:42.767
musst du halt echt für dich hinterfragen, ob es das Framework immer noch für dich bringt oder,

00:59:43.244 --> 00:59:47.430
ob du immer noch mit diesen Entscheidungen einverstanden bist oder vielleicht eine andere

00:59:47.430 --> 00:59:50.950
Lösung nicht besser wäre für dich. Weil wenn das Framework das Produkt ist und das ist...

00:59:52.138 --> 00:59:58.692
Dann, dann kaufst du dich früh oder später halt zum Betreiber ein und nicht zum Framework.

00:59:58.872 --> 01:00:02.248
Ja, weiß ich nicht so sehr.

01:00:02.509 --> 01:00:08.882
Also, weil zum einen, ich halte das ja für keine so bescheuerte Idee, sozusagen.

01:00:09.765 --> 01:00:16.877
Also, das Framework löst ja irgendwie so dein Problem. Du willst irgendwie dein Produkt da entwickeln, aber dazu gehört halt eben auch, das irgendwo

01:00:16.930 --> 01:00:17.908
zum Laufen zu bekommen.

01:00:18.578 --> 01:00:25.068
Und halt irgendwie eine sozusagen mit dem Framework gut zusammenspielende Hostingplattform

01:00:25.068 --> 01:00:31.109
anzubieten, man gibt es ja bei Lavarel genauso, halte ich jetzt erstmal nicht für eine per se beknackte Idee.

01:00:31.348 --> 01:00:36.388
Also ich würde das ja tatsächlich mehr so als Einheit sehen.

01:00:37.294 --> 01:00:42.632
Also, weißt du, das ist jetzt getrennt so operationell und sicherlich auch im Marketing,

01:00:42.828 --> 01:00:44.415
aber de facto ist es wie du sagst.

01:00:45.333 --> 01:00:54.308
Und man sollte das glaube ich auch so sehen dass nextjs Eigentlich zu diesem anderen ding dazugehört und man kann das auch unabhängig davon betreiben aber das kostet halt eben weil es ein nicht

01:00:54.308 --> 01:00:58.308
so gedachte Einsatz von diesem Tool ist.

01:01:01.690 --> 01:01:05.858
Aber trotzdem ist das mein Hauptproblem, das macht ja nichts.

01:01:06.596 --> 01:01:13.456
Das tut nichts, das macht nichts, was ich haben will und ich muss aktiv dagegen ankämpfen, um simpelste Dinge zu tun.

01:01:13.951 --> 01:01:17.066
Sehr viel Code für das, dass es nichts tut.

01:01:17.579 --> 01:01:23.620
Ja, pass auf, ich habe hier so User Interface und in dem User Interface hast du so dein Projekt und da schraubst du drin rum.

01:01:23.620 --> 01:01:29.030
Und dann kannst du aber auch aus dem User Interface sagen, mach mir einen Falk von diesem Projekt.

01:01:29.354 --> 01:01:32.900
Dass du wirklich so ein neues Projekt mit neuer ID und was nicht allem hast.

01:01:33.909 --> 01:01:38.800
Ich weiß ja nicht, was verkehrt mit mir ist, aber ich dachte so, ah wunderbar, dann machst

01:01:38.800 --> 01:01:43.080
du einfach einen Button da so rein in das User Interface, das nimmt den aktuellen Projekt

01:01:43.080 --> 01:01:47.890
State, so was da alles so eingefüllt ist in die Felder und macht einen Post zum Server.

01:01:49.015 --> 01:01:52.440
Weil dann geht der Server nämlich hin, tut das neu in die Datenbank, kriegt eine neue

01:01:52.440 --> 01:01:54.911
ID und redirectet dich dann auf die neue ID zurück.

01:01:55.830 --> 01:02:00.120
Das ist so radikal grundlegend, dass das eigentlich funktionieren müsste.

01:02:00.120 --> 01:02:04.800
Ja geht halt nicht. Also wobei es geht, aber pass auf, es ist halt so, das ist definitiv nicht vorgesehen.

01:02:04.800 --> 01:02:10.215
Weil die halt total ihre Single Page Application Brain Poison noch am Start haben.

01:02:10.566 --> 01:02:14.482
Ich hab das Projekt jetzt mal auf, dann kann ich dir genau sagen, wie ich das rausgehackt habe.

01:02:14.720 --> 01:02:19.160
Du kennst dich ja mit dem Next.js zumindest ein wenig aus. Oh, drei Jahre kein Next.js mehr.

01:02:19.160 --> 01:02:21.594
Es ist leider wirklich so. Aber erzähl.

01:02:22.107 --> 01:02:27.180
Ja, pass mal auf hier. Ich hab hier in meiner index-file irgendwie so ein...

01:02:28.670 --> 01:02:30.220
Wo ist denn das? Wo ist denn das?

01:02:31.730 --> 01:02:35.340
Fionna. Moment, ich muss mal kurz hier eine Katze bremsen, die ist gerade ein bisschen lästig.

01:02:36.520 --> 01:02:38.340
Lass die noch abpennen, du Nerfsack!

01:02:39.626 --> 01:02:40.980
Ich habe gesehen, dass der Napf wieder funktioniert.

01:02:42.902 --> 01:02:48.100
Irgendwie kriegt der Napf... die haben ja alle hier sensorgesteuerte Futterautomaten wegen diverser diätischer Einschränkungen.

01:02:48.340 --> 01:02:51.620
Und Ira hat gestern Abend gesponnen, da musste ich Futterautomaten debatten.

01:02:52.427 --> 01:02:55.740
Irgendwie so reset frequenzerweiterung blabla katzepfüttern war früher auch

01:02:55.740 --> 01:03:02.260
einfacher so wo haben wir es denn da guck ich

01:03:02.260 --> 01:03:12.740
finde es schon gar nicht wieder doch hier haha pass form ich habe ich also eine library genommen die heißt formidable die macht halt ein post passt

01:03:12.740 --> 01:03:16.500
halt so form data aus dem request raus und die habe ich dann halt irgendwie so

01:03:16.500 --> 01:03:27.643
mühsam in meine get server site props glaube ich reingesteckt genau wo ich halt so gucke wenn es ein post request ist und das ist halt wirklich alles so,

01:03:28.490 --> 01:03:35.820
ich gucke mir manuell das request objekt rein und gucken ob da die method irgendwie post ist und wenn ja mache ich halt so ein paar sich die form

01:03:35.820 --> 01:03:38.940
speichere das abkriegt eine neue id und redirected an manuell weil ich muss halt

01:03:38.940 --> 01:03:49.860
manuell in diesem request objekt rumfummeln weil es hat nicht einfach die Möglichkeit gibt zu sagen wenn post mach was und redirect dann. Ja ja ja das ist ich verstehe was

01:03:49.860 --> 01:03:53.156
was du machen musst und ich verstehe, wo dein Problem ist. Das ist Spitze, weil da bricht

01:03:53.580 --> 01:03:54.290
denke ich genau.

01:03:55.596 --> 01:04:02.437
Genau dieses grundlegende Feature von HTTP, dass du Daten hinschicken kannst und dass du nachher auch mit der Response den Output steuern kannst,

01:04:02.491 --> 01:04:10.936
durch die vielen Einstiegspunkte in diesem Framework, und halt einfach der Fakt, dass das Ding nicht für solche einfachen Sachen gemacht ist.

01:04:11.458 --> 01:04:17.093
Weil die Alternative des Dostes, dass du halt mit einer API redest, das heißt, das ist irgendeine Serverless Function, die du schreibst,

01:04:17.446 --> 01:04:20.433
und das rennt ja irgendwo, wie willst du da Redirects machen?

01:04:20.550 --> 01:04:25.646
Oder wie kannst du das sauber redirects machen? Weil das ist ja komplett detached von dem Rest deiner Software.

01:04:25.646 --> 01:04:29.966
Machst das du über die Seiten, die du rendest, hast du das Problem, dass du halt nur den

01:04:29.966 --> 01:04:34.886
Initialpunkt kriegst, aber nie den verarbeiteten Daten, die über einen Request reinkommen.

01:04:35.160 --> 01:04:39.126
Also ich kann mir vorstellen, dass das irrsinnig mühselig ist, das reinzukriegen.

01:04:39.374 --> 01:04:42.606
Ja, das hört sich alles sehr richtig an, was du sagst, aber trotzdem, ich mache halt

01:04:42.606 --> 01:04:44.343
hier am Ende des Tages immer noch eine Web-Applikation.

01:04:44.685 --> 01:04:50.246
Wenn ich mir ein Bein ausreißen muss, um Post zu machen, dann bin ich unwillig zu, da irgendwie

01:04:50.246 --> 01:04:54.948
Konzessionen bezüglich dessen zu machen, dass ich halt hier im Recht bin und dass die Blödsinn bauen.

01:04:55.632 --> 01:05:06.344
Ja, da hat Gott sei Dank versiell den Riesenvorteil, dass so Dinge wie HTTP-Post sowieso nicht mehr auf dem Schirm der meisten Entwicklerinnen und Entwickler heutzutage ist.

01:05:07.020 --> 01:05:08.955
Und das ist ein bisschen bitter.

01:05:09.630 --> 01:05:16.026
Ich bin halt zum Ergebnis gekommen, dass dieser ganze React-Kram, also das ist halt mehr so inklusive Ökosystem,

01:05:16.220 --> 01:05:21.026
Das darf man halt nicht wirklich als Web-Framework bezeichnen und mit Web-Erwartungen herangehen,

01:05:21.026 --> 01:05:24.026
sondern das ist halt irgendwie sein eigenes Ding. Das ist so semi-native.

01:05:24.214 --> 01:05:29.026
Und wenn man halt irgendwie so sein Gehirn vergiftet hat mit so Dingen wie Postrequests

01:05:29.026 --> 01:05:33.026
oder irgendwie so der Web-Animation-API, meinem Lieblings-, ich heiße React-Beispiel.

01:05:34.000 --> 01:05:36.367
Wo man halt irgendwie imperativ einen Effekt auslösen kann.

01:05:38.401 --> 01:05:43.891
Wenn man weiß, dass das da ist, dann ist man frustriert. Wenn man vergisst, dass das da ist und einfach nur so stumpf sagt,

01:05:43.891 --> 01:05:47.296
okay, wie macht man das im React nicht? Wie macht man das in einem Webbrowser?

01:05:48.011 --> 01:05:51.971
Dann geht das. Aber es ist so gut, du sagst so viel richtige Sachen.

01:05:51.971 --> 01:05:53.211
Ich habe das vermisst.

01:05:53.211 --> 01:05:56.331
Das Thema ist ja dann, genau durch solche Dinge, wo du sagst,

01:05:56.331 --> 01:06:01.611
jetzt kommt irgendein Case, der wäre einfach mit Bordmitteln einfach zu lösen.

01:06:01.611 --> 01:06:05.171
Und du merkst, das ist eine riesige Anstrengung, dass du das mit dem Framework löst.

01:06:05.171 --> 01:06:09.971
Schränkt es ja diese Bandbreite der möglichen Anwendungsfälle für das Framework ein, weil es

01:06:09.971 --> 01:06:14.131
steht nicht dafür, dass du sagst, du musst mehr auf- und betreiben für etwas, das eigentlich

01:06:14.131 --> 01:06:18.051
grundlegend sein soll, weil du auf diesen Abstraktionen vom Framework arbeitest. Wunderschön.

01:06:18.051 --> 01:06:22.091
Und das Problem ist dann, wenn du drüber nachdenkst und mehr und mehr schaust, was da eigentlich

01:06:22.091 --> 01:06:27.691
was schief geht, dann hast du in Wirklichkeit ein Single Page Application Framework, mit dem du

01:06:27.691 --> 01:06:33.131
hauptsächlich semistatische Daten anschaust. Entweder Sachen, die aus einem JSON kommen,

01:06:33.131 --> 01:06:36.052
oder Sachen, die von einem CMS kommen, fertig.

01:06:36.291 --> 01:06:42.211
Es ist a few. Es ist nicht das, was dir erlaubt, umfangreiche Applikationen zu schicken, die jetzt über

01:06:42.211 --> 01:06:44.289
einen einfachen JSON-Request rausgehen.

01:06:44.757 --> 01:06:47.731
Und du hast teilweise aber die Fälle, wo du das machen musst.

01:06:47.731 --> 01:06:49.529
Es geht gar nicht anders.

01:06:50.032 --> 01:06:51.311
In vielen, vielen Fällen.

01:06:51.959 --> 01:06:55.891
Und darum ist auch der Großteil der Demos oder Projekte, die damit betrieben werden

01:06:55.891 --> 01:06:58.990
oder gezeigt werden, Webseiten und Blogs.

01:06:59.611 --> 01:07:04.951
Und da musst du dich halt fragen, ist das dann den ganzen Aufwand von dem Framework,

01:07:04.951 --> 01:07:10.491
steht das dafür, wenn du nachher sowieso nur deine keine Ahnung 50-100 HTML Seiten hast,

01:07:10.801 --> 01:07:13.611
aber der Klick von A nach B geht halt ein bisschen schöner.

01:07:14.069 --> 01:07:21.171
Also ja, ich glaube das ist gerade die Britulie, in der wir sind, die auch die Diskussion anregt. Punkt.

01:07:22.567 --> 01:07:29.580
Von dem her, also ja, also spannend. Es ist eine richtig, richtig schöne und interessante Feststellung für dich.

01:07:30.003 --> 01:07:36.187
Fällt mir sehr gut. Ja, naja, das Ding ist halt eben, ist ja weiterhin irgendwie so, für was nützlich, das React.

01:07:36.502 --> 01:07:41.670
Also in meinem konkreten Fall ist so das User Interface, wie es sich darstellt und wie man da drin rumklickt.

01:07:42.642 --> 01:07:50.377
Das ist halt eine mega komplexe Angelegenheit mit irgendwie, da ist Track and Draft drin und da sind irgendwelche Dinge, die initialisiert werden, API Requests.

01:07:50.377 --> 01:07:52.229
Das ist halt wirklich eine Single-Page-Application.

01:07:52.301 --> 01:07:54.147
Mit dem Gramm bin ich ja auch einverstanden.

01:07:54.912 --> 01:08:01.377
Aber dass halt irgendwie dann sozusagen das Backend darunter leidet und dadurch eingeschränkt ist, dass ich halt im Frontend

01:08:01.417 --> 01:08:06.390
diesen komplizierten Klumpatsch habe, da geh ich halt nicht mit.

01:08:06.737 --> 01:08:11.857
Okay, die Leute, die sich mit React einen Blog bauen, jeder kann sich auf seine eigene Weise ans Kreuz nageln,

01:08:11.897 --> 01:08:13.097
ist nicht mein Problem.

01:08:13.137 --> 01:08:16.680
Die könnten das sicherlich einfacher haben. Ist ja alles egal.

01:08:17.017 --> 01:08:24.538
Das kriegst du halt eben auch noch hin. Ich nerf halt mehr so weißt du das hat deshalb so das back end auf mein front end irgendwie so direkt wechsel wirkt um,

01:08:25.137 --> 01:08:29.897
server side rendering zu machen dass ich ja gar nicht bräuchte wenn ich den ganzen kram auf,

01:08:30.489 --> 01:08:32.777
sagen wir mal die sinnvollen use cases beschränken würde.

01:08:34.063 --> 01:08:41.877
Mein aktueller schlagplan ist back end pap ich operiere das front end da aus next.js raus und betreibe das als eine normale single page

01:08:41.977 --> 01:08:43.713
application ohne server side rendering,

01:08:44.361 --> 01:08:49.337
Weil so kram wie der landing page und ein login formular mache ich halt irgendwie damit pap das kommt vom server das geht ohnehin schnell,

01:08:50.051 --> 01:08:50.942
Und wenn ich halt eingeloggt bin,

01:08:52.121 --> 01:08:54.534
Man wartet halt drei Sekunden bis das Ding sich initialisiert hat.

01:08:55.083 --> 01:08:55.470
Ja.

01:08:56.740 --> 01:09:03.670
Das ist mein Plan, weil, äh, nee, ey, nee. Das Spannende ist aber die Alternative, vielleicht bleiben wir noch ganz kurz dort.

01:09:03.670 --> 01:09:08.064
Wir kommen heute sicher zu TypeScript, ich bin mir hundertprozentig sicher, wir schaffen das.

01:09:08.226 --> 01:09:12.583
Aber die Alternative dazu ist ja, du sagst, es gibt andere Tools für einen Blog, ne?

01:09:13.448 --> 01:09:22.990
Und ich hab mir jetzt geschworen, ich möchte meinen nächsten Blog ohne einem Charscript-basierten Blog-Framework schreiben.

01:09:22.990 --> 01:09:27.890
Ich nenne es jetzt mal Blog-Framework. Also es fallen daraus Dinge wie Next, es fallen Dinge raus wie Next, es fallen Dinge

01:09:27.890 --> 01:09:33.610
raus wie Eleventy, was meine aktuelle Webseiten laufen drauf und ich find's cool, man kann

01:09:33.610 --> 01:09:37.350
coole Sachen damit machen, es macht irrsinnig viel Sinn, aber es fällt auch Astro raus

01:09:37.350 --> 01:09:42.750
und alles andere, weil ich hab nicht vor, dass ich diese Webseite, ich bin jetzt nebenberuflich

01:09:42.750 --> 01:09:48.557
selbstständig Webseiter, dass ich mich da auch nur um ein bisschen Maintenance kümmere.

01:09:49.097 --> 01:09:52.810
Hab ich einfach nicht vor. Und das Problem ist, so wie du einen NPM Install machst,

01:09:52.810 --> 01:09:56.200
hast du einfach technical dept da und du bist im maintenance mode.

01:09:56.596 --> 01:10:04.810
Mit der ersten Installation einer dependency. Und jetzt haben wir andere Sachen angeschaut und wow,

01:10:04.810 --> 01:10:07.830
die sind halt alle im Stich gelassen worden in den letzten Jahren.

01:10:08.236 --> 01:10:18.110
Sämtliche damals populäre heute vielleicht nicht mehr Seitengeneratoren oder alles was von irgendeiner anderen Programmiersprache kommt,

01:10:18.110 --> 01:10:22.910
die Beineres produzieren kann, wie Hugo oder Solar, das ist in Rust geschrieben und so weiter,

01:10:22.910 --> 01:10:29.790
die sind entweder nicht dort oder nicht mit dem Interesse oder mit einer eigenen Komplexität,

01:10:29.790 --> 01:10:35.830
die schlecht dokumentiert ist. Also es hat sich einfach die Szene komplett auf diese

01:10:35.830 --> 01:10:39.470
JavaScript Tools gelegt und der Rest ist einfach ausgetrocknet. Ist irrsinnig, bitte,

01:10:39.470 --> 01:10:43.910
ich bin jetzt bei dem Punkt, wo jeder von uns irgendwann noch mal in seinem Leben ist,

01:10:44.236 --> 01:10:50.790
schreibe ich mir's halt selbst. Und vor dem hab ich eigentlich noch mehr Angst,

01:10:50.790 --> 01:10:57.430
als vor einem NPM-Install. Naja, das Ding ist halt, ein statischer Seitengenerator ist glaube ich,

01:10:57.430 --> 01:10:59.030
Das ist, glaube ich, echt so...

01:11:00.548 --> 01:11:06.543
Weißt du, du hast ein Flugzeug und das fliegt halt hoch. Und wenn es halt hoch fliegt und der Luftdruck irgendwie geringer ist und so.

01:11:07.156 --> 01:11:09.558
Da muss das halt irgendwie so seine Geschwindigkeit ziemlich genau halten,

01:11:09.598 --> 01:11:12.478
weil sonst wird es halt eben zu schnell und dann fällt es auseinander oder zu langsam

01:11:12.518 --> 01:11:14.238
und dann reißt die Strömung ab und das fällt runter.

01:11:14.278 --> 01:11:15.473
Das nennt man die Coffin Corner.

01:11:16.031 --> 01:11:21.278
Und ich glaube, die Coffin Corner von Softwareentwicklung ist der statische Seitengenerator, weil das so,

01:11:21.318 --> 01:11:23.404
du kommst da halt sehr leicht rein.

01:11:24.008 --> 01:11:28.238
So, aber du kommst aus der Nummer halt nie wieder raus. Es ist halt so einfach, dass du dir sofort sagen kannst,

01:11:28.278 --> 01:11:30.021
ah, ich weiß, was ich tun muss und was ich haben will.

01:11:30.075 --> 01:11:33.998
Und dann baust du das ein. Und das funktioniert halt so lange, bis du es veröffentlichst und

01:11:33.998 --> 01:11:38.474
irgendwer da draußen das auch anfängt zu nutzen und ein bisschen andere Anforderungen hat. Weil

01:11:38.798 --> 01:11:41.998
dann geht die Komplexität durch die Decke, du musst also warten, was du nicht tun wirst,

01:11:41.998 --> 01:11:46.638
dann wird es abandoned und dann reißt du dich halt ein in die ganze lange Liste von den gerade

01:11:46.638 --> 01:11:51.518
genannten Tools, wo es halt nicht mehr weitergeht. Mein nächstes Blog wird ein WordPress, das sag

01:11:51.518 --> 01:11:57.158
ich dir, ohne irgendwelches JavaScript. Mal bitte ja. Und einfach einen fetten Cash

01:11:57.158 --> 01:12:02.498
davor dann das ist mein aktuelles cms auch das ist ein steinaltes irgendwie pp cms das kriegt hin und

01:12:02.498 --> 01:12:07.178
wieder noch ein security update das ist gänzlich schrecklich das backend ist irgendwie mit gott

01:12:07.178 --> 01:12:11.338
wie heißt es denn ich erinnere mich schon gar nicht mehr bei so ein altes javascript

01:12:11.338 --> 01:12:15.738
UIToolkit, also irgendwie so eine Generation nach jQuery UI, aber nur nach dem gleichen Paradigma.

01:12:16.761 --> 01:12:23.782
Schlimm zu bedienen ganz schrecklich alles ist grausam aber weißt du wie xjs oder so das war es ja.

01:12:25.286 --> 01:12:31.966
So also kann ich auf mobile nicht benutzen alles blabla blabla aber weißt du das liefert halt html seiten aus und hat den genannten fetten cash davor,

01:12:32.533 --> 01:12:37.651
Es lädt halt super schnell ich muss nichts tun und da will ich halt gerne wieder hin nur in zukunft mit irgendeinem ding was halt ein

01:12:37.651 --> 01:12:39.651
bisschen besser support ist und vielleicht ein paar mehr

01:12:40.059 --> 01:12:43.091
Sicherheitsupdates bekommt das muss ich halt irgendwann mal alles nach wordpress migrieren

01:12:43.390 --> 01:12:48.224
Aber einfach nur weil ich habe halt für den ganzen Kram keine Zeit mehr.

01:12:48.818 --> 01:12:57.091
Ich bin ein alter Mann, ich habe keine Zeit für den Scheiß. Und du sagst wieder was ganz richtiges, also danke an alle Hörerinnen und Hörer.

01:12:57.091 --> 01:13:01.412
Ihr habt jetzt wieder mal 30 Minuten alte Männer beschweren sich, dass Samas alles besser war, gehört.

01:13:01.491 --> 01:13:06.741
Es hat schon einen Grund gegeben, warum ich nicht mehr beim Podcast dabei bin.

01:13:07.039 --> 01:13:12.170
So ist es ja nicht. Es sind ja nicht die Alten, es ist ja nicht früher war alles besser,

01:13:12.287 --> 01:13:18.851
sondern wir haben heutzutage Alternativen, die wohnen halt nicht so direkt in dem von uns wahrgenommenen Mainstream.

01:13:19.002 --> 01:13:23.571
Weil, ich mein, ist ja nicht so, dass so was wie WordPress nicht weiterentwickelt würde.

01:13:23.891 --> 01:13:27.861
Oder so was wie Laravel. Das spielt ja wirklich die ganze PHP-Klavier-Tour einmal runter.

01:13:28.291 --> 01:13:33.131
Und das ist ja supermodern mit Package-Manager und... Docker-Deployment, blablabla.

01:13:33.415 --> 01:13:39.851
Das ist ja von der Oberfläche, von der User-Experience her. Was kriegst du alles geliefert und was kannst du alles tun?

01:13:40.761 --> 01:13:44.695
Auf einer stufe mit dem ganzen next.js universum du kriegst das hier ein du generiert das hin da

01:13:44.851 --> 01:13:48.611
ist hallo weltrind rückst auf den knopf das wird die ploid du schmeißt da irgendwie fünf dollar

01:13:48.611 --> 01:13:52.451
rüber und dann läuft die kiste das ist ja das gleiche das ist halt nur mit aller technologie

01:13:52.451 --> 01:13:59.051
gebaut aber halt eben mit aller technologie die halt einfach besser abgehangen ist einfach und

01:13:59.051 --> 01:14:02.611
die halt schon so ich glaube die hatten die ganzen fehler die jetzt aktuell gemacht werden schon

01:14:02.611 --> 01:14:07.451
gemacht und hat so dann auch wieder zurückgerudert und war wahrscheinlich nie mit dieser großen

01:14:07.451 --> 01:14:13.484
Explosion an an Nutzern und Nutzern konfrontiert. Das weiß ich nicht.

01:14:15.654 --> 01:14:20.304
Es gibt ja durchaus Perlen und es hat ja durchaus Perlen gegeben im JavaScript-Ökosystem,

01:14:20.304 --> 01:14:24.017
aber es ist halt einfach irre durch NPM zu wandern.

01:14:24.314 --> 01:14:31.606
Es ist einfach Wahnsinn, was da passiert. Und, ja, aber wir kennen die Probleme, das ist es.

01:14:31.744 --> 01:14:35.104
Also gut, vielleicht beschweren Sie nicht, alte Männer, dass damals alles besser war,

01:14:35.104 --> 01:14:39.424
vielleicht haben wir halt einfach wirklich nicht mehr die Zeit für den Mist.

01:14:39.424 --> 01:14:44.064
Weil damals war meine Toleranz gegenüber neuen Technologien weitaus größer.

01:14:44.425 --> 01:14:51.681
Also, ja, und du hast halt auch möglicherweise mit möglicherweise weniger Erfahrung nicht ganz so viel Idee davon, wie es woanders aussehen könnte.

01:14:52.356 --> 01:15:00.064
Ja, das stimmt. Ich meine, ich bin ja ich bin ja auch sehenden Auges in Next.js reingerannt und dachte, so macht man das halt eben.

01:15:00.064 --> 01:15:05.878
Und so Krams wie halt irgendwie so Scaffolding und Postrequest gibt es halt nicht mehr.

01:15:06.064 --> 01:15:13.809
Finde dich halt damit ab und dann bin ich zum Ergebnis gekommen, dass äh nee will ich aber jetzt haben.

01:15:14.064 --> 01:15:24.584
Oh wey. Kann ich kriegen. So, so viel zum Intro. Genau, das war jetzt das Intro und ich glaube, es könnte

01:15:24.584 --> 01:15:27.784
mir endlich über TypeScript reden oder? Gibt es da eigentlich irgendwas zu sagen?

01:15:27.784 --> 01:15:34.384
Weiß nicht, wollen wir jetzt nach dem Vorgeplänkel vielleicht so die Einleitung in die Sendung machen?

01:15:34.856 --> 01:15:39.222
Ja, genau. Also, die Sabine wird sicher entscheiden, was sie jetzt mit der letzten halben Stunde macht.

01:15:42.453 --> 01:15:46.384
Genau, vielleicht kommt es davor, vielleicht kommt es danach, vielleicht kommt es irgendwann.

01:15:47.384 --> 01:15:51.024
Aber jetzt können wir die Einleitung machen. auch Bonus Content wird das daraus erlöst oder so.

01:15:53.040 --> 01:16:16.080
Music.

01:16:18.850 --> 01:16:20.362
Beep! Beep! Beep!

Revision 559: Glücksrad

7. März 2023 | Keine Kommentare

Hans, Schepp und Peter spielen Glücksrad!

Schaunotizen

[00:04:15] Selection.prototype.isCollapsed
Auf der Suche nach Use Cases fällt uns erst auf, wie vergleichsweise mühsam Copy/Paste per JS via execCommand war, was heutzutage mit der Clipboard API sehr viel besser geht.
[00:09:00] <b>
Hans referiert perfekt über Sinn und Unsinn des ehemaligen Bold-Elements inkl. Abgrenzung vom Kollegen <i>. Wir philosophieren darüber, welche Elemente die Bold- und Italic-Buttons in einem WYSIWYG-Editor ins Dokument setzen wollen und streifen dabei Use Cases für<dl>, <mark>, <kbd> und <xmp>. Für letzteres ermittelt Peter sogar per Live-Recherche die Namensherkunft (xmp für „Example“ laut HTML 2.0).
[00:25:37] StereoPannerNode
Ein Bestandteil der Web Audio API, zu dem uns nicht besonders viel einfällt.
[00:28:50] <meta>
Wir diskutieren über Sinn und Unsinn von per Meta-Tag eingebauten Microdata-Informationen, v.a. in den Geschmacksrichtungen OpenGraph (mit verfügbarem Validator) und Twitler (ohne Validator). Am Ende kommen wir noch auf Charsets (auch via Meta-Tag setzbar, unter anderem auch in einer Langfassung) und die Kollegen von Wo wir sind ist vorne zu sprechen.
[00:38:17] MediaError.message
Zu Media-Error-Codes selbst haben wir nicht besonders viel beizutragen, aber Peter nutzt die Gelegenheit, um für DIY-Error-Klassen zu argumentieren.
[00:46:54] ElementInternals.ariaColSpan
Eine API, mit der sich per ElementInternals (von uns kürzlich in der Revision 557 ausführlicher besprochen) der Defaultwert für aria-colspan setzen lässt.
[00:51:27] <h1> – <h6>
Und täglich grüßt der Outline-Algorithmus! Wir kauen das altbekannte Problem der Überschriften in user-generated Content durch und diskutieren, unter welchen Umständen wir <hgroup>, <header> oder etwas ganz anderes einsetzen.
Transkript
WEBVTT

00:00.000 --> 00:06.400
Ja wie bei CSS mit den Z-Indexen, also wenn du quasi so ein Stacking-Kontext bildest,

00:06.400 --> 00:09.840
dann kannst du da drin ja Z-Index eine Million reinschreiben.

00:09.840 --> 00:13.680
Ja man muss ja auch nur in die HGM2-Spezifikationen reingucken, dann weiß man sofort.

00:13.680 --> 00:19.240
Ich war noch nie an diesem Punkt, dass ich gedacht habe, auch nee, jetzt war ja meine

00:19.240 --> 00:23.600
eigene Error-Klasse, weil sonst komme ich hier mit meinen JavaScript-Errors im Fronten

00:23.600 --> 00:24.600
gar nicht klar.

00:24.600 --> 00:33.120
Find ich jetzt ein bisschen kompliziert ausgedrückt, aber kann man machen, ja.

00:33.120 --> 00:36.360
Diese Revision von WorkingDraft wird euch präsentiert von Mitwald.

00:36.360 --> 00:39.240
Mitwald ist der Hoster für Agenturen und Freelancer.

00:39.240 --> 00:43.280
Solltet ihr mehr als ein alzendes Webprojekt zu betreuen haben, dann könnte Mitwald euer

00:43.280 --> 00:44.280
Gamechanger sein.

00:44.280 --> 00:48.080
Ich erinnere mich damit grausen an meine eigene Freelancer-Vergangenheit, als ich für zehn

00:48.080 --> 00:51.800
Kunden bei 20 verschiedenen Hostern mit 30 Lockins zu jogglieren hatte.

00:51.800 --> 00:56.640
Bei Mitwald hingegen ein Lockin für alle Projekte.

00:56.640 --> 01:01.720
Wahlweise für den besucherbasierten Agenturserver oder den nördlich selbst konfigurierten Space-Server.

01:01.720 --> 01:06.360
Mit allen Features, die ihr euch nur wünschen könnt, formen Shopsystem-Installer über SSL-Zertifikate

01:06.360 --> 01:08.920
bis hin zum ausgefuchsten Rechte- und Rollensystem.

01:08.920 --> 01:12.080
Ihr wisst schon für das Management eurer zahllosen Projekte unter einem Dach.

01:12.080 --> 01:17.440
CO2-neutral und DSGVO-konform und solltest man haken und ihr den Support anrufen, dann

01:17.440 --> 01:22.440
kriegt ihr echte Nerds-Ansruhe, 24 7 an 365 Tagen im Jahr.

01:22.440 --> 01:27.960
Das alles könnt ihr haben, wenn ihr auf mitwald.de.slashworkingdraft vorbeischaut.

01:27.960 --> 01:33.200
Das schreibt sich miettwald.de.slashworkingdraft.

01:33.200 --> 01:37.080
Alle Infos zur Mitwald findet ihr natürlich auch in den Show-Notes zu dieser Revision.

01:37.080 --> 01:48.160
Wir danken mitwald für die Unterstützung von dieser Revision von WorkingDraft.

02:07.080 --> 02:18.280
Wir sind heute zu dritt und zwar alle aus dem Team, da wäre zum einen der Hans.

02:18.280 --> 02:19.280
Hallo zusammen.

02:19.280 --> 02:22.000
Dann haben wir den Peter.

02:22.000 --> 02:23.000
Moin moin.

02:23.000 --> 02:29.400
Und ich bin der Shep und eigentlich war heute ein Gast geplant, der ist aber krankheitsbedingt

02:29.400 --> 02:31.480
ausgefallen, relativ kurzfristig.

02:31.480 --> 02:37.040
Und was machen wir dann immer, wir schmeißen das Glücksrat an.

02:37.040 --> 02:40.640
Das Webtechnologie Glücksrat und das haben wir auch wieder gemacht.

02:40.640 --> 02:46.240
Also fuhr der Peter ja immer schön in der HTML5-Spec rumgescrollt, aber da fehlten uns

02:46.240 --> 02:52.560
ja dann ein paar Aspekte des Webs, die halt da nicht als Teil von HTML5 verzeichnet sind.

02:52.560 --> 03:02.520
Und genau jetzt speist sich unser neues Tool aus den MDN-Artikeln und sucht sich da entweder

03:02.520 --> 03:10.240
HTML-Elemente oder CSS-Features oder Browser-APIs raus, findet ihr auch, könnt ihr alle gucken

03:10.240 --> 03:16.040
unter workingdraft.e slash Glücksrat, genau und da gucken wir jetzt drauf, soll das schon

03:16.040 --> 03:17.200
per Websocket verbunden.

03:17.200 --> 03:23.640
Da können wir uns dann zufällig irgendwelche Sachen raus auswerfen lassen.

03:23.640 --> 03:31.120
Ich glaube, irgendwer von euch hat schon gedruckt, weil hier ist eben das erste Ding schon aufgeploppt.

03:31.120 --> 03:35.880
Ich weiß nicht, ich habe keinelei Verantwortung dafür, dass wir jetzt mit dem Thema konfrontiert

03:35.880 --> 03:36.880
sind.

03:36.880 --> 03:40.640
Ne, kann ich auch nicht zu sagen, ich habe noch nicht mal was angezeigt.

03:40.640 --> 03:42.440
Was ist es denn, Shep?

03:42.440 --> 03:51.600
Das ist aus der API-Ecke Selection und dann ist kollepst und da habe ich tatsächlich

03:51.600 --> 03:55.200
auch gerade höchstens eine Ahnung, was es sein könnte.

03:55.200 --> 04:00.240
Wollte aber sagen, wenn ihr zwei das nicht gedruckt habt, dann ist wahrscheinlich irgendwer anders

04:00.240 --> 04:03.240
gerade auf der Seite und drückt, was auch vollkommen ordentlich ist.

04:03.240 --> 04:07.640
So, die sind nämlich schlau, die Leute, die lesen die Tweets, sehen, dass wir gerade so

04:07.640 --> 04:11.240
was aufnehmen und dann drücken sie mal für uns und wollen nämlich mal ein Thema.

04:11.240 --> 04:14.240
Ja, die wollen uns mal hier bumpen.

04:14.240 --> 04:15.240
Genau.

04:15.240 --> 04:22.520
Ja, aber das ist ein spannendes Thema, also Selection.isCollepst.

04:22.520 --> 04:28.280
Read only property returns a boolean value, which indicates whether or not there is currently

04:28.280 --> 04:30.400
any text selected.

04:30.400 --> 04:38.760
Aha, no text is selected and the selection start and end positions are the same position in

04:38.760 --> 04:39.760
the content.

04:39.760 --> 04:42.200
Also, wenn man so stellt, ist jetzt...

04:42.200 --> 04:44.400
Okay, aber was hat das denn mit isCollepst zu tun?

04:44.400 --> 04:48.160
Naja, sie ist ja kollepst, wenn sie nix selektiert hat.

04:48.160 --> 04:54.840
Also, Start und Endpunkt, gleiche Koordinaten, ist ja gleich bedeutend, nichts ist ausgewählt,

04:54.840 --> 04:57.720
ist gleich bedeutend mit, dass was vorher ausgewählt war, ist jetzt nicht mehr ausgewählt, weil

04:57.720 --> 04:59.080
die Koordinaten zusammengefallen sind.

04:59.080 --> 05:07.040
Okay, hm, finde ich jetzt ein bisschen kompliziert ausgedrückt, aber kann man machen, ja.

05:07.040 --> 05:14.200
Habt ihr denn schon mal mit dieser nativen Selection API was getan?

05:14.200 --> 05:22.400
Also, ich habe damit schon mal gearbeitet, ja, ich überlege gerade, was ich damit gemacht

05:22.400 --> 05:23.400
habe.

05:23.400 --> 05:31.320
Tja, wenn ich das jetzt noch wüsste, ich glaube, ich glaube genau, um irgendwie HTML

05:31.320 --> 05:36.720
ins Clipboard zu kopieren, musste ich, also da musste ich, glaube ich, in eine Textarea

05:36.720 --> 05:41.720
oder irgendwie sowas in der Art, musste ich dann das HTML rein donnern, das ich haben

05:41.720 --> 05:45.280
wollte, dann konnte ich irgendwie selektieren und kopieren, ich glaube, irgendwie so in

05:45.280 --> 05:46.280
die Richtung ging es.

05:46.280 --> 05:49.480
Habe ich all das, aber glaube ich, nicht benutzt.

05:49.480 --> 05:53.560
Nee, das brauchst du ja dafür auch nicht, dann müsstest du ja im Prinzip plus sozusagen

05:53.560 --> 06:01.920
Textarea nehmen von Position 0 bis Value.length selektieren und dann kopieren, das ist ja

06:01.920 --> 06:06.760
wahrscheinlich deutlich gewesen vor der modernen Clipboard-API, die ja einfacher nicht sein

06:06.760 --> 06:08.760
könnte, wo man ja einfach irgendwie beliebigen Text reinbeben kann.

06:08.760 --> 06:17.360
Ja, wollte ich auch gerade sagen, also diese Clipboard-API, ich erinnere mich aber auch

06:17.360 --> 06:23.760
an irgendwie sowas, was du sagst, Chef, dass man eine Selection machen musste, um erstmal

06:23.760 --> 06:30.960
das kopierend zu können, aber ich weiß auch nicht mehr, in welchem Kontext, ein anderer

06:30.960 --> 06:35.200
Kontext, der mir dafür noch einfällt, ist halt das, was zum Beispiel bei jetzt einer

06:35.200 --> 06:40.680
Seite wie Medium.com passiert, wenn man was selektiert, dass man dann das Ganze irgendwie

06:40.680 --> 06:47.840
zitieren kann oder diesen Abschnitt twittern kann oder ähnliches, das kenne ich jetzt

06:47.840 --> 06:53.880
so als Use Case dafür, ich weiß nicht, was euch sonst noch so für Use Cases in dem Kontext

06:53.880 --> 06:54.880
einfallen.

06:54.880 --> 07:02.800
Also für jetzt die Selection, ah gut, so wie sie ist, wahrscheinlich halt wenig, also

07:02.800 --> 07:06.400
du brauchst es sowas halt natürlich, also generell den Umgang mit der Selection, wenn

07:06.400 --> 07:12.280
du irgendwie so ein Visivik-Editor bauen möchtest und irgendwie die aktuelle Selection soll

07:12.280 --> 07:15.640
irgendwie dann bolt werden und du musst ja gegebenenfalls, wenn du zum Beispiel so was

07:15.640 --> 07:19.720
machen willst, wie den Bolt-Button aktivieren oder deaktivieren, wenn nichts selektiert

07:19.720 --> 07:24.080
ist, dann würdest du natürlich gucken, aha, ist die aktuelle Selection kollepst und wenn

07:24.080 --> 07:26.040
sie das ist, dann machst du den Button disabled.

07:26.040 --> 07:36.800
Ja, stimmt für sowas könnte man das gebrauchen auf jeden Fall, ja, ich hab zum Beispiel

07:36.800 --> 07:39.960
also das letzte Mal, als ich mit einer mit einer Selection API, wenn auch nicht mit der

07:39.960 --> 07:45.840
handiert habe, war, dass ich mit der vom CodeMirror gespielt habe, um halt genauso was zu machen,

07:45.840 --> 07:50.240
so Formatierung in halt irgendwie so einer Textbox und da gibt es halt auch eine Selection

07:50.240 --> 07:54.840
API, aber halt eben eine Funktionale und nicht die Imperative DOM API, aber so die gleiche

07:54.840 --> 07:58.760
Idee und die gleichen Use Cases dürfen das ja schon sein.

07:58.760 --> 08:05.600
Ja, stimmt, für so ein Use Case ist es eigentlich interessant, aber dann halt auch in der Text

08:05.600 --> 08:13.720
Area, außerhalb der Text Area, ja, hat man das Beispiel mit Medium.com, ansonsten fällt

08:13.720 --> 08:19.160
mir da jetzt auch nicht so der starke Use Case an, ich hab's zumindest noch nirgendswo

08:19.160 --> 08:20.160
verwendet.

08:20.160 --> 08:26.360
Ja, gut so, könnte man sagen, fällt unter die Gnade der späten Geburt, dass du nicht

08:26.360 --> 08:31.640
wie der Chef seinerzeit damit Exec Command und der Selection irgendwie da copy-pasten

08:31.640 --> 08:32.640
musstest.

08:32.640 --> 08:39.520
Stimmt, Exec Command war das, das waren noch Zeiten, also nicht gute unbedingt.

08:39.520 --> 08:42.560
Ich wollte's grad sagen, kannst du vielleicht die Qualität dieser Zeichen noch herausstellen?

08:42.560 --> 08:45.400
Ja, es waren Zeiten, das kann man sich ja sagen.

08:45.400 --> 08:50.000
Ja, nee, nee, dann schnell, schnell weiter, würde ich sagen.

08:50.000 --> 08:51.000
Genau.

08:51.000 --> 08:52.000
Kann nur besser werden.

08:52.000 --> 08:53.000
Auf geht's.

08:53.000 --> 08:54.000
Wer drückt?

08:54.000 --> 08:55.000
Command.

08:55.000 --> 09:01.560
Ich drück mal drauf, ich hoffe, es funktioniert, oh ja, es funktioniert, als hätten wir nicht

09:01.560 --> 09:05.960
gerade erst das Thema angesprochen, Peter, du nanntest es schon, du möchtest in einer

09:05.960 --> 09:14.160
Visivik-Editor-Area etwas Bold machen, das ganze kannst du dann ja in html auch mit dem

09:14.160 --> 09:24.400
Bold-Element, also B-Element, darstellen und genau das ist es, was wir jetzt, aha, da

09:24.400 --> 09:28.400
kommt die Diskussion schon zu, ich wollte grad, ich wollte grad schon fragen, so, das war

09:28.400 --> 09:31.640
jetzt irgendwie jetzt nicht so der, nicht so der erste Satz aus den html-Spezifikationen,

09:31.640 --> 09:36.520
den ich jetzt so zitieren würde, so direkt, aber sag doch mal, Hans, was macht das B-Element?

09:36.520 --> 09:45.080
Ja, also klassisch verwendet man ja irgendwie das B-Element, um etwas in Fett dargestellt

09:45.080 --> 09:46.080
zu bekommen.

09:46.080 --> 09:51.880
Allerdings, wenn ich mich da richtig erinnere, gab's mit html 5 ja diesen Change beim B-Element,

09:51.880 --> 09:57.560
dass es nicht mehr darum ging, wie sieht das Ganze aus, weil man hat natürlich ja das

09:57.560 --> 10:02.920
Styling komplett weggebracht von dem, was in html passiert und das B war eher dafür

10:02.920 --> 10:12.120
da, etwas anders darzustellen, als es der Fleece-Text tut, das default Styling war

10:12.120 --> 10:19.960
halt das Fundweight Bold, allerdings wollte man damit ermöglichen, einen Text anders

10:19.960 --> 10:26.960
einfach darzustellen, ohne dem semantisch eine andere Meinung zu geben, im Vergleich

10:26.960 --> 10:28.960
zu Strong.

10:28.960 --> 10:37.880
Strong tut ja auch das gleiche visuell, stellt den Text Fett dar und hat aber dazu inzufügen

10:37.880 --> 10:45.080
noch die semantische Meinung, hier möchte man etwas betonen, so meine ich mich, wäre

10:45.080 --> 10:50.440
da die Unterscheidung zwischen dem B-Element und dem Strong-Element, wenn ich das richtig

10:50.440 --> 10:51.440
erinnere.

10:51.440 --> 10:55.600
Also für das kann man es nicht erklären, würde ich sagen.

10:55.600 --> 11:00.600
Ein Punkt, dem mir da natürlich auch wieder direkt ins Gehirn kommt, ist das Gleiche

11:00.600 --> 11:08.560
nämlich mit dem I für Italic und M für Emphasis, also das Element, grundsätzlich ist es da

11:08.560 --> 11:16.880
ja auch so, Emphasis ist wieder die semantische Meinung im Element, man möchte hier etwas hervorheben,

11:16.880 --> 11:23.120
das ist halt dargestellt dann zufällig durch Italic, könnte aber auch Customized werden

11:23.120 --> 11:30.600
vom Styling her und beim I ist es so, man möchte ohne semantische Meinung einfach nur

11:30.600 --> 11:35.880
eine visuelle Änderung herbeiführen, theoretisch könnte man da auch ja das B-Element verwenden,

11:35.880 --> 11:41.720
die müssten dann ja eigentlich synonym verwendet werden können, ist das richtig?

11:41.720 --> 11:47.800
Das ist fast, das wäre halt meine Bonusfrage gewesen, also Lautspezifikation ist die Idee,

11:47.800 --> 11:51.960
dass die beide ja das Gleiche machen, die setzen den Text halt eben einfach ab, ohne

11:51.960 --> 11:56.160
den jetzt irgendwie besonders auf oder abzuwerten und die Unterscheidung zwischen den beiden

11:56.160 --> 12:00.200
ist tatsächlich mehr so, wie würdest du es denn in Print machen, wie würdest du es durch

12:00.200 --> 12:03.280
diesen Text absetzen, also zum Beispiel du hast irgendwie einen Einschub in einer anderen

12:03.280 --> 12:08.160
Sprache, das würdest du vielleicht eher Italic machen oder das ist jetzt gerade das Produkt

12:08.160 --> 12:14.160
über das du redest, das würdest du vielleicht eher Bold machen und so macht man das dann,

12:14.160 --> 12:18.600
das ist so die semantische Idee dahinter, Bösezungen und ich würden behaupten, die haben einfach

12:18.600 --> 12:21.960
nur eine Ausrede gesucht, irgendwie diese Elemente da drin zu behalten und irgendwie denen einen

12:21.960 --> 12:26.680
Sinn zu geben, irgendwie noch so, irgendwie so noch eine Verwendung nach im Prinzip Rente

12:26.680 --> 12:31.120
noch zu ermöglichen und dann hat man halt die genommen, aber ist okay, ich mein ein bisschen

12:31.120 --> 12:33.600
besser als ein Spen mit Style-Attribut ist es halt dann doch schon.

12:33.600 --> 12:41.080
Das in jedem Fall, was ich mich jetzt allerdings frage, ne, einführend haben wir gesagt, der

12:41.080 --> 12:48.440
Use Case innerhalb eines Visivik-Editors, ich habe noch keinen Editor gesehen, der unterscheidet

12:48.440 --> 12:55.440
zwischen Bold und Strong, du hast halt diesen einen Button und das passiert dann halt mit

12:55.440 --> 13:02.520
dem Element gleich für Italic und Emphasis, aus meiner Warte gibt es also keinen Unterschied

13:02.520 --> 13:08.880
sozusagen, was verwenden die denn dann wohl, ist es eher das B oder ist es eher das Strong?

13:08.880 --> 13:18.360
Na, ich denke die werden wahrscheinlich intern, also die werden wahrscheinlich einen Strong

13:18.360 --> 13:24.400
auszeichnen, die Editoren, wenn man das eben erstmalig macht, aber werden wahrscheinlich

13:24.400 --> 13:29.480
genauso einen B entgegennehmen können, das ist mal meine Vermutung.

13:29.480 --> 13:39.520
Entgegennehmen können, also sozusagen, wenn man halt einen Text rein füttert, dann werden

13:39.520 --> 13:46.200
die Element, da funktioniert es schon, weil das ja eh nur HTML-Darstellung, ja oder wahrscheinlich

13:46.200 --> 13:55.200
machen es die meisten tatsächlich eher so wie Peter als Anti-Use-Case oder als Gegenthema

13:55.200 --> 13:58.280
sozusagen dargestellt hat, nämlich das Span mit einer Klasse.

13:58.280 --> 14:03.080
Ja, es ist halt eben schwierig sich zu entscheiden, also du hast im Prinzip nur einen Knopf und

14:03.080 --> 14:06.640
dieser eine Knopf ist ja der für die meisten Leute einfach nur so, das soll jetzt Fett

14:06.640 --> 14:10.840
sein und du kommunizierst damit ja keine Intention, also ist das jetzt Fett-Quar-Konvention

14:10.840 --> 14:16.040
oder Quar-Aufwertung und ich würde mal behaupten, dass da so eine Kosten-Utsen-Abrechnung einfach

14:16.040 --> 14:20.760
die Verkomplizierung des User-Interface durch, du hast die Wahl zwischen diesen beiden Varianten,

14:20.760 --> 14:23.400
dann einfach nicht wert ist in der Endabrechnung, dann nimmt man halt einfach irgendwas.

14:23.400 --> 14:31.400
Ja, vor allem was hat es da, also die semantische Bedeutung, wie spiegelt die sich denn wieder,

14:31.400 --> 14:38.000
also in der Darstellung klar, aber davon wollen wir ja gerade weg und dann ist es im Screenreader,

14:38.000 --> 14:43.680
wird das besonders hervorgehoben beispielsweise, nimmt eine Suchmaschine, das anders war, I

14:43.680 --> 14:44.680
don't know.

14:44.680 --> 14:48.400
Weil, kannst du sicherlich auch nicht so ohne weiteres sagen, kommt ja auch drauf an, ob

14:48.400 --> 14:53.400
das jetzt irgendwie so ein Old-School-Indexer ist oder irgendwie eine AI mit Semantik-Idee

14:53.400 --> 14:59.140
dahinter oder, oder, oder, die wichtigere Frage ist dann, glaube ich, mehr so wirklich

14:59.140 --> 15:03.200
von der produzierenden Seite her, interessiert diese Unterscheidung die Person, die da jetzt

15:03.200 --> 15:06.920
am Ende diesen Button klickt oder nicht klickt überhaupt und da ist die Antwort wahrscheinlich

15:06.920 --> 15:07.920
meistens, ne.

15:07.920 --> 15:15.080
Wahrscheinlich, ja, das stimmt, aber die produzierende Seite ist ja manchmal auch, sind ja auch

15:15.080 --> 15:18.760
manchmal Leute wie wir jetzt oder wie unsere Hörerinnen und Hörer.

15:18.760 --> 15:25.440
Schreibt ihr denn, wenn ihr dann mal HTML oder irgendwelche Texte schreibt, weil das

15:25.440 --> 15:30.840
gerade nicht aus dem CMS kommt, schreibt ihr dann irgendwie mal einen Bold oder einen

15:30.840 --> 15:35.880
Strong-Tag, also verwendet ihr die oder macht ihr dann lieber alles über Styles?

15:35.880 --> 15:44.600
Also ich schreib meine Texte meistens in Markdown und das wandelt das dann eben in, ja, gute

15:44.600 --> 15:45.600
Frage.

15:45.600 --> 15:47.480
Ich glaube Strong-Um oder so, würde ich jetzt mal schätzen.

15:47.480 --> 15:50.600
Das könntest du dir im Prinzip ja auch aussuchen, weil du ja dann auch kompetent genug wärst

15:50.600 --> 15:53.320
den Pasa gegen irgendwas auszutauschen oder irgendwelche Optionen zu setten, die dann

15:53.320 --> 15:57.200
dieses hier ein solches ausgeben oder du kannst ja auch Inline-HTML schreiben, wenn es dir

15:57.200 --> 15:59.320
mal ganz wichtig ist.

15:59.320 --> 16:05.480
Ja, genau, aber also tendenziell nutze ich eher Strong.

16:05.480 --> 16:10.520
Ich habe wenig Use-Cases, wo ich, also ich kann mir vielleicht vorstellen in so einem,

16:10.520 --> 16:16.160
vielleicht so einem Interviewablauf, dass man dann irgendwie quasi derjenige, der die

16:16.160 --> 16:21.640
Fragen stellt, der wird dann einmal fett geduckt und dann kommt so dessen Fragestellung und

16:21.640 --> 16:27.240
dann der Name des Interviewen in, auch das wär dann, da würde ich vielleicht ein Bold

16:27.240 --> 16:28.240
setzen, so.

16:28.240 --> 16:31.520
Da würdest du auch eine Definitionsliste verwenden, oder?

16:31.520 --> 16:38.640
Das auch, genau, das wär auch nicht schlecht, aber dennoch auch in dieser Liste würde ich

16:38.640 --> 16:41.720
glaube ich dann Bold, könnte ich mir vorstellen.

16:41.720 --> 16:45.160
Also da fände ich jetzt, glaube ich, strong, fehl am Platze.

16:45.160 --> 16:49.840
Glaub ich auch, also ich entziehe mich dem Problem ganz gerne, letzter Zeit, wenn ich

16:49.840 --> 16:54.960
so sage so, ich will im Prinzip ja ausdrücken, das soll hervorgehoben werden und ich gehe

16:54.960 --> 16:58.560
davon aus, dass die auslösenden Personen diese Unterscheidung gar nicht machen können

16:58.560 --> 17:04.080
oder wollen, dann nehme ich halt einfach ein formatiertes Markelement tatsächlich.

17:04.080 --> 17:08.880
So, der Text ist markiert und irgendwie gestylt, aber jetzt ohne mich in diese Diskussion hinein

17:08.880 --> 17:13.440
zu begeben, gebe ich den Leuten, glaube ich, damit am ehesten den Ausdruck, den sie damit

17:13.440 --> 17:14.440
machen wollen.

17:14.440 --> 17:15.760
Nämlich, hey, das ist jetzt irgendwie anders.

17:15.760 --> 17:16.760
Ja.

17:16.760 --> 17:26.920
Ja, das ist eine gute Idee, benutzt man eh viel zu wenig das Markelement.

17:26.920 --> 17:27.920
Das stimmt.

17:27.920 --> 17:36.440
Darf ich vielleicht hier so kurz rein sneaken, weil mir fällt gerade noch ein Element ein,

17:36.440 --> 17:44.920
was man auch super wenig oder was ich zumindest super wenig benutze, eigentlich nie das KBD-Element

17:44.920 --> 17:51.160
heißt es, glaube ich, mit dem man ein Keyboard-Charakter, glaube ich, darstellt.

17:51.160 --> 17:55.840
Ist das schon mal untergekommen und wofür habt ihr es verwendet?

17:55.840 --> 18:02.520
Das sind zwei verschiedene Fragen untergekommen beim Durchscroll durch die Spezifikation Ja,

18:02.520 --> 18:03.520
verwendet ich, glaube noch nicht.

18:03.520 --> 18:11.520
Also es würde natürlich Sinn machen, wenn man irgendwie so eine, vielleicht eine Hilfe

18:11.520 --> 18:17.680
anzeigt und sagt so, hier, du kannst diesen Menüpunkt vielleicht auch aufrufen, indem

18:17.680 --> 18:24.280
du folgende Tasten drückst, da würde das sicherlich Sinn machen, aber da ich diesen

18:24.280 --> 18:29.560
Use Case eigentlich nie habe, habe ich vielleicht auch dieses Element noch nicht benutzt.

18:29.560 --> 18:30.560
Ich verkenne es.

18:30.560 --> 18:36.640
Tue ich es eigentlich auch eher aus so Dingen wie, es gab, also ja, dass man mal drüber

18:36.640 --> 18:40.960
gestolpert ist, dass man mal so eine Liste aller HTML-Elemente sich angeguckt hat und

18:40.960 --> 18:42.720
da tauchtet es halt eben drin auf.

18:42.720 --> 18:50.680
Genau, aber das sind ja auch so sehr alte Elemente, so wie so manche deprecatete Elemente,

18:50.680 --> 18:56.880
die dann quasi so eine Art Terminal-Output darstellen sollen, also mein XMP-Element ist

18:56.880 --> 19:05.240
ja auch so eins, das so gerne mag, das soll halt quasi auch Terminal-Ausgaben im Browser

19:05.240 --> 19:10.360
rendern und ich glaube so aus der Zeit stammen da so einige Elemente.

19:10.360 --> 19:17.520
Ja, aber es ist halt nicht deprecated, anders als manche andere Elemente ist es halt nicht

19:17.520 --> 19:18.520
deprecated.

19:18.520 --> 19:25.000
Und ich glaube halt so dieser Use Case, dass man es irgendwie auf einer Hilfeseite vielleicht

19:25.000 --> 19:31.360
auch darstellt, verwende folgende Tastenkombinationen, dafür ist es vielleicht gut, aber es ist

19:31.360 --> 19:38.280
schon erstaunlich, wie wenig häufig man das Elemente verwendet dafür, dass es halt eigentlich

19:38.280 --> 19:43.960
die gleiche Wertigkeit hat wie so ein Image Tag, also IMG Tag.

19:43.960 --> 19:47.880
Ja, gut, aber ich meine, es kommt halt eben einfach aus einer ganz anderen Zeit.

19:47.880 --> 19:51.760
Also Chef hatten und ich hatten ja kürzlich auch mal über Media Queries gesprochen,

19:51.760 --> 19:57.320
wo es halt auch so Mediatypes gab, so nach dem Motto Handheld und TV, wo halt irgendwie

19:57.320 --> 20:01.520
so diese Geräteklassen so homogen waren in ihren Capabilities, dass das klar war und

20:01.520 --> 20:06.040
naja, ich will schon die ganze Zeit so sagen, ja, wir reden hier von Tastenkombinationen,

20:06.040 --> 20:10.760
aber demnächst wird irgendwie die Touchscreen-Aktion hier kommen und uns alle canceln, weil die

20:10.760 --> 20:14.720
haben gar keine Tasten und was ist denn mit denen, aber das war halt früher einfach nicht

20:14.720 --> 20:19.240
so ein Ding und da waren halt so Dinge wie Tastenshortcuts einfach auch ein viel, da

20:19.240 --> 20:23.040
gab es halt einen viel größeren Use Case für einfach, weil man mehr davon ausgehen

20:23.040 --> 20:28.400
konnte, dass mehr Leute sowas zur Hand haben, Keyboard und halt auch sagen wir mal Nerd

20:28.400 --> 20:29.680
genug sind, sowas auch zu benutzen.

20:29.680 --> 20:42.040
Ja, und man merkt natürlich auch ein bisschen im Gegenteil zu, also im Gegensatz zu den

20:42.040 --> 20:46.960
HTML5-Elementen, die so eingeführt wurden, dass man damals eben noch keine IDE hatte

20:46.960 --> 20:54.200
und echt so wenig per Hand tippen wollte wie möglich, also weil diese ganzen Elemente halt

20:54.200 --> 20:59.960
B ist ja auch so ein Kandidat, also anstatt bold, so das war schon zu viel, vier Buchstaben

20:59.960 --> 21:06.520
schreiben, doof, wir wollen nur einschreiben, Keyboard, KBD, so heißt das Tag ja eigentlich,

21:06.520 --> 21:12.880
ist ja auch mega kurz und genau dagegen halt einen strong Emphasis ist dann auch wieder

21:12.880 --> 21:19.880
abgekürzt, aber ich glaube das kann man daran auch ganz gut ablesen und ich finde es glaube

21:19.880 --> 21:23.960
ich besser wie es jetzt ist, als wie es früher war.

21:23.960 --> 21:30.840
Ja, auf jeden Fall, bloß nicht abkürzen, weil es ist uneindeutig und man muss überlegen,

21:30.840 --> 21:35.480
was heißt denn dieses KBD jetzt eigentlich, ja wahrscheinlich Keyboard, aber vielleicht

21:35.480 --> 21:41.400
heißt es halt auch was anderes, oder so, oder XMP, das finde ich ja besonders schön, was

21:41.400 --> 21:49.360
heißt das eigentlich, ich habe keine Ahnung, Example, ich soll das Example sein ernsthaft,

21:49.360 --> 21:57.480
was weiß ich, bin ich Brockhaus, keine Ahnung, Example, warte, ich guck mal schnell, ob

21:57.480 --> 22:04.920
ich das hier im MDN finde, Example, also in den Spezifikationen steht nur drin, dass

22:04.920 --> 22:09.000
man es nicht mehr benutzen soll, aber da steht keine Definition davon, was es denn mal gewesen

22:09.000 --> 22:10.000
sein sollte.

22:10.000 --> 22:15.520
Aber es hat spezielle Pasa-Semantik, das ist ja immer sehr schön, wenn im Pasa eigentlich

22:15.520 --> 22:16.520
Ausnahmen drin sind.

22:16.520 --> 22:24.520
Ja, ich denke mal, dass es auch deswegen deprecated ist, genau weil du kannst halt HTML-Code reinpacken

22:24.520 --> 22:29.440
und der wird dann, es ist ausgegeben, also wird dann quasi nicht mehr interpretiert,

22:29.440 --> 22:33.520
das finde ich ja in diesem Element so toll und so praktisch, man muss im Gegensatz

22:33.520 --> 22:41.120
zu Code und Co. nichts quasi Entities codieren, man kann es einfach da rein donnern, aber

22:41.120 --> 22:48.480
was, also woher diese Abkürzung kommt, das bleibt ein Rätsel.

22:48.480 --> 22:55.720
Ein Aufruf natürlich wieder an die Community, helft uns hier mal bitte weiter, wer von euch

22:55.720 --> 23:00.320
hat das schon mal verwendet, das xmp tag in der Vergangenheit und wo läuft es vielleicht

23:00.320 --> 23:08.200
auch noch in Production-Umgebungen, obwohl deprecated, und ihr sagt so, man müsste mal, schreibt

23:08.200 --> 23:14.720
es uns mal einfach auf Twitter oder in unseren, ich sag jetzt einfach mal, Patreon-Kommentaren.

23:14.720 --> 23:24.320
Okay, gut, haben wir die, dann gerne da, genau, aber eben vor allem, wofür steht

23:24.320 --> 23:29.320
xmp, das ist ja wirklich die allerspannendste Frage.

23:29.320 --> 23:35.520
Ich würde echt xmp annehmen, weil wenn du dir so diese Suppe aus so frühem HTML dir

23:35.520 --> 23:39.520
vorstellst, wo ja auch noch irgendwelche HTML-Texts sind, die ja noch mehr als das normale Obsolid

23:39.520 --> 23:45.000
in den Spezifikationen sind, wo ja tatsächlich das Web selber Gegenstand von Webseiten viel

23:45.000 --> 23:49.320
mehr war, und wenn du halt da direkt den Text ausgeben kannst, ist es ja ein Example für

23:49.320 --> 23:50.320
HTML.

23:50.320 --> 23:54.880
So komme ich auf diesen Drichter.

23:54.880 --> 24:06.320
Bei IBM, da gibt es die, beschreibe mal xmp-Tag, das, oder, mit Example.

24:06.320 --> 24:10.800
Also ich meine, eigentlich müsste man doch bloß in ausreichend alte HTML-Spezifikationen

24:10.800 --> 24:11.800
reinschauen, oder?

24:11.800 --> 24:17.800
Also HTML 4.01, zack, lass mal gucken, wahrscheinlich steht da auch nichts drin.

24:17.800 --> 24:23.200
Genau, aber xmp-Tag defines unformatted text with an information region.

24:23.200 --> 24:29.640
Das klingt, das ist auf jeden Fall ein Begriff, der mich auch sehr an IBM denken lässt.

24:29.640 --> 24:37.280
Ja, also, aber so, genau, also wir kommen dem Geheimnis trotzdem nicht näher.

24:37.280 --> 24:42.080
Ich werfe den Link einfach mal hier, was ich da aufgegabelt habe.

24:42.080 --> 24:49.240
Genau, das ist die Dokumentation von ZOS 2.1.0.

24:49.240 --> 24:52.080
Okay, was ist ZOS?

24:52.080 --> 24:55.800
Ich vermute irgendein IBM-Betriebssystem.

24:55.800 --> 25:02.200
Ja, ich habe es in den Spezifikationen von HTML 2 gefunden.

25:02.200 --> 25:07.160
Definiert zusammen mit dem Listing-Tag als Example-Endlisting.

25:07.160 --> 25:15.560
Ah, so, ja cool, guter Wald, ich wusste es nicht, aber jetzt weiß ich es.

25:15.560 --> 25:19.680
Okay, man muss ja auch nur in die HTML 2-Spezifikationen reingucken, dann weiß man sofort.

25:19.680 --> 25:22.760
Ja, und wer liest die nicht als gute Nachtlekteure?

25:22.760 --> 25:27.600
Also, ich finde das völlig normal und wer das nicht macht, ist komisch, so.

25:27.600 --> 25:33.120
So, das ruft doch danach, dass wir uns jetzt nochmal einem neuen Thema widmen, wo vielleicht

25:33.120 --> 25:36.680
andere Leute die gute Nachtlekteure von lesen.

25:36.680 --> 25:40.520
So ist es, soll ich mal?

25:40.520 --> 25:45.200
Okay, ich drücke auf Zufallsgenerator aktivieren.

25:45.200 --> 25:50.200
Yeah, Web-Audio-API, Zeug, von dem ich keine Ahnung habe, aber ich habe hier auch draufgeklickt,

25:50.200 --> 25:51.200
also müsst ihr das erklären.

25:51.200 --> 25:52.200
Pupup.

25:52.200 --> 26:01.480
Genau, das ist die Stereo-Penna-Node, nicht Penna wie Obdachloser.

26:01.480 --> 26:05.000
Wollts grad sagen, wie hast du mich genannt?

26:05.000 --> 26:13.600
Genau, aber es sind quasi Penna im Sinne von dieses Verstellen, quasi wo eben schäpfungmäßig

26:13.600 --> 26:18.760
der Ton rauskommen soll in einem Stereo-Setup oder vielleicht auch in einem Surround-Setup,

26:18.760 --> 26:24.600
so aus welchem Lautsprecher, da kann man eben hin und her Pannen und ich vermute mal, dass

26:24.600 --> 26:30.280
diese, also diese Web-Audio-API ist ja so, glaube ich, gestrickt, dass man wie so ein

26:30.280 --> 26:35.760
Flussdiagramm zusammenbauen kann, wo dann irgendwie der Ton verarbeitet wird und diese

26:35.760 --> 26:41.720
einzelnen Elemente sind eben dann Notes und ich vermute mal, die mit der Stereo-Penna-Node

26:41.720 --> 26:46.720
kann man dann eben einstellen, ob ein Ton eher eben aus dem linken Bereich kommen soll

26:46.720 --> 26:47.720
oder aus dem rechten.

26:47.720 --> 26:48.720
So sieht es aus.

26:48.720 --> 26:49.720
So sieht es aus.

26:49.720 --> 26:54.280
Ja, und ich werde das wahrscheinlich nie benutzen.

26:54.280 --> 27:01.920
Ja, wenn man so ein Interface bauen möchte, in dem man irgendwie Aufnahmen machen kann,

27:01.920 --> 27:08.920
zum Beispiel wenn man hier jetzt für den, also einen Monitoring-Ton bei uns im Aufnahmetool

27:08.920 --> 27:13.240
haben wollen würde von seiner eigenen Stimme, möchte man das vielleicht nur auf einem

27:13.240 --> 27:20.000
Ohr haben und dafür wäre das ja dann beispielsweise ganz praktisch oder, oder, oder solche Use-Cases.

27:20.000 --> 27:26.760
Man nimmt irgendeine Aufnahme auf und möchte die dann, also auf Phonic halt im Browser

27:26.760 --> 27:30.080
haben oder so, das könnte schon interessant sein.

27:30.080 --> 27:35.240
Ja, und ich denke mal, wenn du jetzt irgendwie Spiele programmierst, also dann ist es wahrscheinlich

27:35.240 --> 27:39.160
auch nicht, nicht schlecht, dass, dass man sowas hat.

27:39.160 --> 27:43.160
Ja, oder du kannst natürlich auch programmier, lernen Sandbox.

27:43.160 --> 27:46.600
Sowas gibt es ja ganz gerne mal mit einem Canvas-Element, weil man da irgendwie, man

27:46.600 --> 27:50.320
dreht irgendwie an drei Zahlen und schon verändert sich der Output, das kannst du ja visuell

27:50.320 --> 27:53.400
mit einem Canvas-Element sehr schön machen, aber mit einem Audio-Element könntest du

27:53.400 --> 27:54.400
es ja auch so machen.

27:54.400 --> 27:58.400
Das sind ja alles nummerische Parameter, an denen man bei solchen Notes dreht und da kriegt

27:58.400 --> 28:01.560
man ja relativ schnell den Effekt hin, okay, ich ändere jetzt mal diese Zahl, ah, was passiert

28:01.560 --> 28:02.560
denn hier?

28:02.560 --> 28:04.720
Ich gebe da was Negatives rein, ah, kommt ein Fehler.

28:04.720 --> 28:09.920
So, für, ich fummel da jetzt erstmals als irgendjemand, der da komplett unbeleckt ist

28:09.920 --> 28:13.960
an sowas herum, könnte ich mir auch als Use-Case vorstellen, muss ja nicht immer alles optisch

28:13.960 --> 28:14.960
sein.

28:14.960 --> 28:23.200
Ja, also ein bisschen wie Schaltkreise zusammenbauen und Lampe ans Leuchten bringen und so weiter,

28:23.200 --> 28:24.200
ne?

28:24.200 --> 28:27.080
Genau, das könnte so die LED des JavaScript Tutorials sein.

28:27.080 --> 28:37.520
Ja, cool, ansonsten auch wieder da der Aufruf, habt ihr die Stereo-Paner-Note schon benutzt

28:37.520 --> 28:45.600
und wenn ja, wofür, schreibt uns auf Twitter, machst du dann oder kommt in unseren Community-Slack?

28:45.600 --> 28:46.600
So.

28:46.600 --> 28:50.680
Und dann würde ich sagen, drücke ich jetzt mal auf den Knopf, oder?

28:50.680 --> 28:51.680
Genau.

28:51.680 --> 28:52.680
Sehr gerne.

28:52.680 --> 28:59.640
Ah ja, so, da waren wir doch vorhin schon in der Nähe, ne, also das Meta-Element ist

28:59.640 --> 29:00.640
jetzt.

29:00.640 --> 29:02.560
Ja, blödes Facebook übernimmt das ganze, übernimmt das ganze Internet.

29:02.560 --> 29:03.560
Genau.

29:03.560 --> 29:06.280
Ja, jetzt haben die sogar eigene Tags, Schweine.

29:06.280 --> 29:12.520
Und wer es nicht verlinkt, der wird auf Facebook nicht dargestellt und eure Eltern und Großelbe

29:12.520 --> 29:19.160
können sich sagen, nein Spaß, wir verwenden natürlich alle das Meta-Tag für verschiedenste

29:19.160 --> 29:23.960
Dinge, ich glaube so der, der normalste Use-Case in Anführungsstrichen sind wahrscheinlich

29:23.960 --> 29:29.120
eher so Descriptions, die man halt irgendwie mit dem Meta-Tag verbindet, aber man kann

29:29.120 --> 29:35.080
ja auch noch viel, viel mehr damit machen, weil das so ein Standard-Ding ist, ne, also

29:35.080 --> 29:41.040
man fängt ja eigentlich ganz oben im Dokument an und definiert erst mal das Zeichen-Set,

29:41.040 --> 29:45.560
mit dem man irgendwie unterwegs ist, indem man sagt, okay, das hier ist mein Car-Set,

29:45.560 --> 29:55.560
GTF-8 im Normalfall und dann kann man alle möglichen Meta-Daten eigentlich dazu einreichen

29:55.560 --> 29:58.080
oder einen, damit einrichten sozusagen.

29:58.080 --> 29:59.080
Ja.

29:59.080 --> 30:04.800
Was mich ja mal interessieren würde, ist mal, ich hätte gern irgendwie eine Webseite,

30:04.800 --> 30:09.560
die ich ansteuern kann, wo so da der aktuelle State of the Art drin steht, gerade was so

30:09.560 --> 30:14.280
da, was wenn es so darum geht irgendwie Informationen anzugeben, um sich da den diversen Social

30:14.280 --> 30:18.760
Media-Giganten und so auf die korrekte Weise anzudienen und ob man denen dann ein Bild

30:18.760 --> 30:22.640
hinterlegen kann und wenn man denen ein Bild hinterlegt, welche Dimensionen das denn bitte

30:22.640 --> 30:26.120
schön haben möchte, habe ich letztes mal probiert irgendwie so rauszufinden, weil ich mich da

30:26.120 --> 30:30.760
meistens nicht groß drum kümmere, gar nicht mal so einfach, gibt halt nicht so die zentrale

30:30.760 --> 30:34.720
Stelle, wo man irgendwie so sieht, so dann irgendwie, das machst du für Twitter, das

30:34.720 --> 30:37.840
machst du für Facebook, das machst du für Mastodon und dann musst du noch dis und dis und dis

30:37.840 --> 30:38.840
angeben.

30:38.840 --> 30:46.560
Ich dachte, es gibt doch diese Open Graphseite, die erklärt das aber auch nicht.

30:46.560 --> 30:49.680
Die erklärt das schon, aber ich glaube Twitter macht was anderes als das.

30:49.680 --> 30:52.160
Twitter hat ja so ein Twitter-Cards.

30:52.160 --> 30:56.280
Genau, wo der Validator nicht mehr funktioniert, weil sie den abgeschaltet haben, auch schon

30:56.280 --> 30:57.280
vor Spacecaron.

30:57.280 --> 30:58.280
Ja.

30:58.280 --> 31:10.360
Ja, aber keine Ahnung, also ich kenne nur diese Validator-Tools, aber ich kenne jetzt

31:10.360 --> 31:17.760
nicht die, also kein Tool, was dir sozusagen sagt, hier verwende bitte diese Tags, aber

31:17.760 --> 31:23.640
ja, das ist ein Problem, also Open Graph funktioniert ja relativ gut, aber auch da habe ich zum

31:23.640 --> 31:30.400
Beispiel festgestellt, gibt es halt manchmal das Verlangen eines Tags, das du dann schreibst

31:30.400 --> 31:38.880
halt Meter, also Spitzeklammer auf, Meter und dann, was schreibt man, normalerweise Content,

31:38.880 --> 31:47.560
ne, Entschuldigung, Name, genau, Name und dann ist es zum Beispiel Image, also OG Doppelpunkt

31:47.560 --> 31:54.760
Image, aber manchmal ist es dann halt auch nicht Name, sondern du musst Property verwenden

31:54.760 --> 31:58.400
und du kannst sie nicht Synonym verwenden, irgendwie sowas habe ich auch noch mal festgestellt

31:58.400 --> 31:59.400
irgendwann.

31:59.400 --> 32:06.080
Ja, weil es tatsächlich ist es ja auch da, das habe ich letztens mal recherchiert mit

32:06.080 --> 32:12.320
so denen, also was kannst du als Name alles angeben, also Medatec ist ja im Prinzip immer

32:12.320 --> 32:17.680
ein Name wertbar, Key und Value und welche Keys gibt es eigentlich alle und tatsächlich

32:17.680 --> 32:21.240
ist das nicht besonders irgendwie fest definiert, es gibt halt so die Keys, die man üblicherweise

32:21.240 --> 32:25.120
verwendet, aber es gibt halt sozusagen kein oberes Limit, also im Prinzip kann sich da

32:25.120 --> 32:29.200
jeder was ausdenken und das ist auch nicht notwendigerweise irgendwie groß gename spaced

32:29.200 --> 32:34.480
oder so, das ist wirklich weitgehend wilder Westen, okay, da passt jetzt nicht so rein,

32:34.480 --> 32:37.920
dass man sich da irgendwelche Attribute ausdenkt, weil das sollte man ja eigentlich tendenziell

32:37.920 --> 32:43.360
eher nicht tun, dann gleich das am Ende trotzdem zu uniformen Verhalten überall führt.

32:43.360 --> 32:50.280
Tja, also will nur sagen, da geht eine ganze Menge und das muss man alles irgendwie glaube

32:50.280 --> 32:52.760
ich nicht so strikt sehen wie so viel als andere.

32:52.760 --> 32:59.520
Du hast es ja vorhin schon gesagt, also das Character Set, das ist auf jeden Fall relativ

32:59.520 --> 33:04.760
wichtig, sollte auch als erstes kommen, dann gibt es ja noch diese Viewport, also quasi

33:04.760 --> 33:11.560
wie etwas, was Apple irgendwann eingeführt hat, das sind so die zwei Meterangaben, die

33:11.560 --> 33:15.920
glaube ich irgendwie Pflicht sind und die man haben sollte und die man auch möglichst

33:15.920 --> 33:20.240
früh setzen sollte, weil die auch einen Impact auf das Rändering haben.

33:20.240 --> 33:22.720
Ist nicht Pflicht, du kannst ja das Kastet auch mit einem Header mitschicken und wenn

33:22.720 --> 33:25.120
du das mitschickst, dann brauchst du die Metatech nicht.

33:25.120 --> 33:30.840
Ja, die Kollegen von, wo wir sind, ist vorne, die machen jetzt gerade so oder die haben

33:30.840 --> 33:35.720
in ihrer neuen Staffel, haben sich überlegt, dass sie quasi alle HTML Elemente durchgehen

33:35.720 --> 33:41.240
und in der ersten Folge ging es um die, die im Kopf bereicht sind und genau und die wollen

33:41.240 --> 33:45.400
wir auf jeden Fall auch verweisen, weil die auch noch ein bisschen ausschweifender über

33:45.400 --> 33:50.720
diese, weil sie sich auch nur um den Head Bereich gekümmert haben, über diese Elemente gesprochen

33:50.720 --> 33:57.680
haben und in dem Kontext hatte mich auch mal interessiert und habe ich nachgeschlagen,

33:57.680 --> 34:03.320
gibt es denn überhaupt ein Default Character Set, also wenn man, also man kann einen Header

34:03.320 --> 34:07.920
schicken, wie du gesagt hast Peter, man kann aber auch irgendwie beides nicht haben und

34:07.920 --> 34:16.240
dann, da habe ich herausgefunden, dass unterhalb von HTML5 ist das Latin One, was dann automatisch

34:16.240 --> 34:25.800
gesetzt wird oder genutzt wird und ab HTML5 ist es dann automatisch UTF-8, genau, aber

34:25.800 --> 34:31.320
trotzdem, also ich sage mal sicher ist sicher, das Character Set setzen tut einem hier noch

34:31.320 --> 34:34.480
nicht weh und sollte man tun.

34:34.480 --> 34:39.320
Was vielleicht da noch ganz spannend ist, ist, dass das ja so, das war ja früher ein bisschen

34:39.320 --> 34:47.640
aufwendigere Angabe, das Character Set auszuzeichnen und das ist ja eigentlich wie der HTML5-Docktype

34:47.640 --> 34:55.400
so ein quasi so ein Pasa-Hack, dass man das jetzt so kurz ausdrücken kann oder, oder

34:55.400 --> 34:56.400
wie will ich das schiefgewickelt?

34:56.400 --> 35:00.280
Ich meine, da wäre sowas in der Richtung gewesen, dass das früher komplizierter gewesen wäre

35:00.280 --> 35:02.840
und man sich jetzt auf diese Kurzvariante geeinigt hätte.

35:02.840 --> 35:11.440
Irgendwie war es doch so, dass es früher dieses HTTP Equif als praktisch Key sozusagen

35:11.440 --> 35:19.120
gab und dann hat man das Kassett angegeben und wenn ich mich richtig erinnere, hat irgendwer

35:19.120 --> 35:27.800
dann damals im Rahmen der HTML5-Thematik versucht, was kann man denn minimieren und die meisten

35:27.800 --> 35:33.200
Browser funktionieren dann trotzdem und daraufhin hat man halt herausgefunden, dass es irgendwie

35:33.200 --> 35:39.440
reicht, wenn man dann halt Kassett und dann halt das Kassett dazu schreibt, dass das ausreichend

35:39.440 --> 35:44.920
ist und daraufhin hat man dann halt gesagt, okay, dann schreiben wir halt nur noch das

35:44.920 --> 35:51.480
und brauchen nicht dieses HTTP Equif-Ding dazu packen, weil interessiert dem Browser

35:51.480 --> 35:57.080
eh nicht und dadurch wurde das dann so relativ kurz, sondern gab es immer diese ganzen Showcases

35:57.080 --> 36:03.880
hier, die kürzeste HTML-Seite, die valide ist und dann war da halt so das Metatec, der

36:03.880 --> 36:15.320
Title gesetzt und Body und das war es ungefähr oder Body brauchte man nicht mehr, glaub ich.

36:15.320 --> 36:21.080
Ja, ich versuch das gerade nochmal zu ergoogeln, aber es ist so ein Skandal, ich hab tatsächlich

36:21.080 --> 36:25.720
schon, ich hab mal, ich hab was geplant, nämlich alle HTML-Text tatsächlich einmal so durchzugehen

36:25.720 --> 36:30.480
in auch so einem Podcast-Format und jetzt erfahre ich hier in meinem einen Podcast,

36:30.480 --> 36:35.320
für meinen geplanten anderen Podcast, die Dritten sowas ähnliches schon machen, so

36:35.320 --> 36:36.320
ein Skandal.

36:36.320 --> 36:39.000
Das ist echt schade.

36:39.000 --> 36:40.000
Frechheit.

36:40.000 --> 36:41.000
Ja.

36:41.000 --> 36:42.000
Kannst du den Geld anbieten?

36:42.000 --> 36:43.000
Nee.

36:43.000 --> 36:47.680
Das sieht anders genug aus als das, was ich vorgehabt hab, insofern, wenn ich mal dazu

36:47.680 --> 36:48.680
komme.

36:48.680 --> 36:49.680
Ja, super.

36:49.680 --> 36:54.920
Aber meine Güte, ich dachte, ich hätte eine originelle Idee gehabt, so viel dazu.

36:54.920 --> 37:03.480
Aber so 20 Minuten nur über einen Element abnurden wäre auch cool, also du jetzt.

37:03.480 --> 37:06.680
Ja, das ist halt so die Idee, also weniger über das Element, weil was willst du irgendwie

37:06.680 --> 37:11.600
über das B-Element erzählen, weil meine Hand hat ja vorhin wirklich alles dazu erwähnt,

37:11.600 --> 37:16.440
was es zu erwähnen gibt in halt so drei Minuten, aber man kann halt damit immer so interessante

37:16.440 --> 37:17.440
Fragen verbinden.

37:17.440 --> 37:21.800
Also man kann ja tatsächlich irgendwie sagen, hey, das Element macht das, warum ist das so

37:21.800 --> 37:25.080
cool und was hat das mit X-RTML zu tun und warum haben wir zwei Spezifikationen, man könnte

37:25.080 --> 37:28.860
halt das so ähnlich wie beim Gücksrad ja auch, das eigentlich je Thema nur als so Startpunkt

37:28.860 --> 37:33.240
verwenden und eigentlich habe ich auch schon Skrips für zehn Folgen geschrieben, allein

37:33.240 --> 37:34.640
man müsste halt mal auch einsprechen.

37:34.640 --> 37:40.080
Und wenn ich nicht irgendwie Leute wie euch habe, um die Terminfindung irgendwie zu beschleunigen,

37:40.080 --> 37:42.080
dann passiert das halt nicht.

37:42.080 --> 37:47.320
Na ja, wenn du gleich Hilfe brauchst, sag gerne Bescheid.

37:47.320 --> 37:51.920
Okay, und was willst du machen, willst du meine Termin, willst du mich zur Termineinhaltung

37:51.920 --> 37:53.480
anhalten mit Peitscher und?

37:53.480 --> 37:57.400
Ja, irgendwie so oder ich verabrede mich mit dir zu einer Aufnahme und tauch da nicht

37:57.400 --> 38:01.240
auf, weil es ja eh nur du sein soll, weißt du, aber du fällst auf rein.

38:01.240 --> 38:04.200
Okay, so können wir das machen.

38:04.200 --> 38:09.320
Genau, ah, Mist, schon wieder eingefallen, Lila Schäpp, der ist echt ein Fuchs.

38:09.320 --> 38:10.320
Nächstes Mal.

38:10.320 --> 38:11.320
Ja.

38:11.320 --> 38:15.960
All righty, ich würde sagen, der Hans kann nochmal drücken, oder?

38:15.960 --> 38:16.960
So ist es.

38:16.960 --> 38:17.960
Genau, ja.

38:17.960 --> 38:21.800
Ich hau mal drauf und dann schauen wir mal, was bei rumkommt.

38:21.800 --> 38:30.400
Ah, ja, ah, ja, wir sind wieder im API-Bereich unterwegs, puh, puh, puh, wir sind im Error-Bereich

38:30.400 --> 38:31.400
unterwegs.

38:31.400 --> 38:38.160
Wir sind, ja, im Error-Bereich, genau, mediaerror.message.

38:38.160 --> 38:44.400
Es geht um Audio-Tags, denke ich mal, es geht um, ähm, jo.

38:44.400 --> 38:52.360
Ja, HTML-Media-Element, also so die Superklasse von Audio und Video und das hat anscheinend

38:52.360 --> 38:57.360
eine spezielle Klasse von Error mit einem Code und einer Message.

38:57.360 --> 39:04.040
Und genau, da gibt es halt diese Message drin und die kann man dann verwenden und sich da

39:04.040 --> 39:11.240
in dem Benutzer etwas auszugeben, dachte ich, aber Peter, du kennst dich jetzt nicht.

39:11.240 --> 39:14.560
Weil du hast ja mit Media-Element Fehler, die passieren können, die dir normalerweise

39:14.560 --> 39:15.560
nicht passieren können.

39:15.560 --> 39:19.200
Also du hast irgendwie, weil sie nicht undefined ist, nur zu functionen, ist ja eine andere

39:19.200 --> 39:22.920
Problemklasse, eine viel generelle Problemklasse, als irgendwie dein Audio-Codec wird nicht

39:22.920 --> 39:23.920
unterstützt.

39:23.920 --> 39:28.440
Und um diese Dinger abzubilden, gibt es halt die extra Klasse mit spezifischen Code-Konstanten

39:28.440 --> 39:32.520
1, 2, 3, 4, warum bei 0 anfangen zu zählen, macht ja anscheinend sonst keiner, was weiß

39:32.520 --> 39:33.520
ich.

39:33.520 --> 39:36.560
Und das sind halt wirklich so Dinger für irgendwie der Media-Streambude abgebrochen, Codec nicht

39:36.560 --> 39:37.560
unterstützt so kram.

39:37.560 --> 39:44.600
Ich habe meine mich da irgendwie vor irgendwie 20 Jahren mal beim HTML5-Buch auch mit befasst

39:44.600 --> 39:45.600
zu haben.

39:45.600 --> 39:49.440
Das kam jetzt gerade so kurz wieder, nachdem ich überlegt habe, was könnte das noch mal

39:49.440 --> 39:50.440
gewesen sein.

39:50.440 --> 39:55.040
Wann hast du das noch mal geschrieben?

39:55.040 --> 39:56.040
2009.

39:56.040 --> 39:58.760
Okay, nicht ganz 20 Jahre, aber gefühlt.

39:58.760 --> 39:59.760
Ja, cool.

39:59.760 --> 40:00.760
Lange sehr.

40:00.760 --> 40:01.760
Sehr.

40:01.760 --> 40:09.880
Aber ich würde sagen, damit haben wir es auch schon besprochen, oder?

40:09.880 --> 40:11.920
Viel lässt sich darüber ja nicht erzählen.

40:11.920 --> 40:12.920
Ich glaube auch nicht.

40:12.920 --> 40:14.920
Ja, was machen wir eh nicht, oder?

40:14.920 --> 40:16.920
Also wer behandelt denn etwas?

40:16.920 --> 40:22.400
Also die einzige Frage wäre halt noch so, macht ihr das eigentlich so eure eigenen Error-Klassen

40:22.400 --> 40:23.400
konstruieren?

40:23.400 --> 40:26.520
Weil geht ja heutzutage recht einfach, dass man so sagt, klar, das ist mein Custom-Error,

40:26.520 --> 40:27.520
Extenz-Normaler-Error.

40:27.520 --> 40:30.560
Kann man schmeißen, hat Stacktraces und so weiter?

40:30.560 --> 40:31.880
Nop.

40:31.880 --> 40:40.680
Also, die Frameworks, die nutzen das ja sicher so, also ich meine, wenn wir uns Reakt angucken

40:40.680 --> 40:44.680
oder so, gibt es immer ganz tolle Errors und ist auch wunderschön.

40:44.680 --> 40:52.120
Aber um ehrlich zu sein, habe ich also auch in Anwendungen mit vielen Errors oder vielen

40:52.120 --> 40:59.160
Benutzern und Benutzern drauf, halt nie das Problem, dass ich den Startpunkt des Errors

40:59.160 --> 41:04.600
beispielsweise nicht Pinpointen könnte anhand von irgendwelchen Logs, die du jetzt im Frontend

41:04.600 --> 41:05.600
erfasst.

41:05.600 --> 41:11.800
Also, ich finde der Use Case dafür, der ist okay, den kann man haben, aber es ist halt

41:11.800 --> 41:16.160
auch nicht so, also man braucht das nicht so oft, habe ich das Gefühl.

41:16.160 --> 41:20.080
Vielleicht red ich auch Quatsch und die Leute, die jetzt jeden Tag programmieren, die sagen

41:20.080 --> 41:26.360
jetzt Hans, ohne das geht das nicht, sonst komme ich nicht klar im Leben, okay, akzeptiert,

41:26.360 --> 41:34.640
ich habe keine Ahnung, aber irgendwie, ich war noch nie an diesem Punkt, dass ich gedacht

41:34.640 --> 41:38.680
habe auch, nee, jetzt war ja aber eine eigene Errorklasse, weil sonst komme ich hier mit

41:38.680 --> 41:42.280
meinen JavaScript Errors im Frontend gar nicht klar.

41:42.280 --> 41:47.120
Nee, also klar kommen sicherlich auch nicht, aber ich hatte mir das mal vor kurzem wie

41:47.120 --> 41:51.600
folgt gedacht und ihr könnt mir ja mal kurz erzählen, ob der Gedanke Käse ist.

41:51.600 --> 41:56.440
Aber im Prinzip ist ja Exception Handling, auch wenn man es so nicht verwenden sollte,

41:56.440 --> 41:59.120
ein alternativer Mechanismus, um Control Flow zu machen.

41:59.120 --> 42:03.360
Richtig, ich kann eine Error schmeißen, aus der aktuellen Funktion lossteigen, um mich

42:03.360 --> 42:07.640
dann irgendwo weiter oben im Stack catching zu lassen und dann weiter zu machen.

42:07.640 --> 42:15.520
So, wieder Aufnahme machen, nochmal probieren nach X Sekunden, whatever, ja.

42:15.520 --> 42:16.520
Genau.

42:16.520 --> 42:22.360
Und in dem Sinne, wenn man jetzt eine Exception in der Form denkt, ist die ja einem Event

42:22.360 --> 42:23.520
nicht ganz unähnlich.

42:23.520 --> 42:30.120
Stimmt, und du spaßt ja auch viele Return-Zwischenschritte, je nachdem, wie tief das runtergeht.

42:30.120 --> 42:33.720
Ja, jetzt bist du schon wieder sozusagen viel zu optimistisch auf der Sache und denkst

42:33.720 --> 42:38.000
so, ah, wie kann man das denn irgendwie für Gutes verwenden, was jetzt irgendwie originelle

42:38.000 --> 42:40.040
Control Flow Mechanismen sind oder sowas.

42:40.040 --> 42:46.280
Und ich meine, irgendein Ding aus dem React-Context, die schmeißen irgendwie Promises als Exceptions

42:46.280 --> 42:50.360
und so und damit irgendwelches Async-Handling in ihren komischen Komponenten, weil ich

42:50.360 --> 42:54.200
weiß jetzt nicht, ob das dieses Suspend-Resume-Ding war oder irgendwas anderes, aber es gibt

42:54.200 --> 42:55.200
Menschen, die das tun.

42:55.200 --> 42:59.120
Ich war jetzt aber tatsächlich noch dabei, den Error wirklich wie ein Error zu behandeln.

42:59.120 --> 43:02.320
Die Frage ist halt eben, was stecke ich da für Informationen rein?

43:02.320 --> 43:05.160
Und wenn ich halt sowas habe, wie undefinedes not function, irgendwie so ein Passerror

43:05.160 --> 43:08.560
oder so, ist der Fehler ja tatsächlich extrem allgemeiner Natur.

43:08.560 --> 43:13.480
Man hat halt eben auch sowas wie den Media-Error, der sehr spezifischer Natur ist, also Codec

43:13.480 --> 43:14.480
ist irgendwie kaputt.

43:14.480 --> 43:21.120
Man könnte sogar sagen, dass dieser Media-Error definitiv immer zu einem Dom-Element zugehörig

43:21.120 --> 43:22.120
ist.

43:22.120 --> 43:25.400
Woanders kommen die Dinger ja nicht her, irgendwo muss ja der Codec kaputt gegangen sein.

43:25.400 --> 43:30.640
Und wenn ich jetzt so meine Analogie aufmache zu meinem Event-Objekt wieder, ist es ja so,

43:30.640 --> 43:35.720
es gibt ein Event wie Click oder so, dann will ich ja wissen, welches Element wurde da jetzt

43:35.720 --> 43:38.160
geklickt zum Beispiel und dann mache ich halt Event.target.

43:38.160 --> 43:44.360
Warum haben solche Exceptions, die tatsächlich einen definitiven Ursprungspunkt in Form eines

43:44.360 --> 43:48.160
Dom-Elements haben, nicht auch so eine Target-Property, denke ich mir.

43:48.160 --> 43:54.040
Und manchmal gehe ich halt schon hier und mache mir halt eben so eine Custom-Error-Klasse

43:54.040 --> 43:59.120
und mache einfach nur ein ganz normales Extents-Error und gebe denen halt nur eine extra Property

43:59.120 --> 44:04.360
namens Target, die ich dann festlege, auf halt eben das Target und das kann ich ja irgendwie

44:04.360 --> 44:09.120
konstruieren, dass ich dann beim Error-Konstruktor ein Pflichtparameter habe, der das Target

44:09.120 --> 44:12.120
sein soll oder ich kann es optional machen, ich kann es undefined machen.

44:12.120 --> 44:15.840
Und das Nette daran ist natürlich auch, wenn man das so verwendet im Kontext von Web-Komponents

44:15.840 --> 44:20.200
ist, ich kenne das ja tatsächlich Typen, also jetzt nicht notwendigerweise den Error generisch

44:20.200 --> 44:24.640
machen, aber wenn ich zum Beispiel sowas habe wie diesen Media-Error und ich weiß, der kommt

44:24.640 --> 44:30.400
aus einem HTML-Media-Element, der Superklasse von Audio und Video, weiß ich ja noch nicht

44:30.400 --> 44:33.800
notwendigerweise, welches von beiden das ist, aber ich kann ja trotzdem da irgendwie sagen,

44:33.800 --> 44:38.200
hey, diese Schnittmenge dieser Superklasse mit so Sachen wie Play und Pause und so,

44:38.200 --> 44:41.680
die kann ich dann ja trotzdem zur Verfügung stellen, also sowohl jetzt rein logisch gedacht

44:41.680 --> 44:45.400
von, ich programmier das, als auch zum Beispiel aus der TypeScript-Perspektive, ich kriege

44:45.400 --> 44:48.600
dann ja aus diesen Media-Error-Informationen raus, wie zum Beispiel, aha, da kommt es

44:48.600 --> 44:52.720
her, aus dem Element will ich mir vielleicht die Source angucken und so Geschichten und

44:52.720 --> 44:56.560
ich finde eigentlich, dass bei sehr vielen Errors so eine Target-Property voll viel

44:56.560 --> 45:01.960
Sinn macht und bei meinen Web-Komponents, wo ich wirklich Errors frisch aus heißer Luft

45:01.960 --> 45:06.360
erschaffe, wo ich sage, das ist jetzt ein spezifischer Error-Fall, da gehe ich wirklich hin und mache

45:06.360 --> 45:09.880
mir so eine Klasse, weil es nicht viel kostet und ich baue ein Target dran und es wird für

45:09.880 --> 45:12.560
TypeScript ein bisschen besser und das ist eigentlich alles irgendwie ganz nett, finde

45:12.560 --> 45:13.560
ich.

45:13.560 --> 45:23.800
Ja, absolut, aber du könntest natürlich auch, also okay, und jetzt wäre natürlich die

45:23.800 --> 45:31.640
Gegenfrage, wenn du damit ein Control Flow irgendwie dir baust, oder wenn du das eventartig

45:31.640 --> 45:38.960
verwendest, dann, also ein Event selbst, also zum Beispiel, du könntest ja ein Error-Event,

45:38.960 --> 45:45.800
wie das Image-Element, das könntest du ja quasi Trigger'n, Custom Error-Event und da

45:45.800 --> 45:49.640
hättest du ja dann automatisch deinen, oder wer hättest du auch deinen Target drin und

45:49.640 --> 45:53.960
kannst du auch Infos reinstecken.

45:53.960 --> 45:58.320
Das ist richtig, aber das ist ein Error-Event und nicht eine Exception, also die Frage ist

45:58.320 --> 46:01.720
halt, was erwartest du?

46:01.720 --> 46:07.160
Du warst jetzt sehr auf Control Flow eingestiegen, so mit der Idee von wegen, das würde man vielleicht

46:07.160 --> 46:10.360
sozusagen gezielt dafür herstellen, damit man das in dem Sinne nutzen kann.

46:10.360 --> 46:13.120
Würde ich jetzt gar nicht so machen wollen, ich würde jetzt nicht sagen Control Flow

46:13.120 --> 46:16.640
per Exception Handling, sondern ich würde nur sagen, wer nur die Exception in die Finger

46:16.640 --> 46:20.920
bekommt, solltest du da natürlich alle relevanten Infos rausbekommen und bei so einem Media-Error

46:20.920 --> 46:24.720
einfach die relevanten Infos der Codec passt nicht, finde ich ein bisschen wenig, weil

46:24.720 --> 46:28.960
man ja vielleicht wissen möchte, okay, wem passt denn der Codec nicht und die Information

46:28.960 --> 46:32.600
würde ich halt eben einfach nur mitgeben wollen, für dann besseres entweder Debugging

46:32.600 --> 46:36.960
oder besseres Exception Handling tatsächlich, aber jetzt nicht mit der Idee Events irgendwie

46:36.960 --> 46:41.880
zu ersetzen oder zu ergänzen, sondern einfach nur Exception Handling besser zu machen.

46:41.880 --> 46:47.200
Ja, also klingt gut auf jeden Fall, finde ich super.

46:47.200 --> 46:51.240
Okay, dann mache ich damit weiter.

46:51.240 --> 46:56.240
Und ich drücke, oder?

46:56.240 --> 46:59.240
Ja, auch nicht.

46:59.240 --> 47:01.880
Ich glaube, das hatten wir schon.

47:01.880 --> 47:06.880
CSS Adrules, Font Fades, hatten wir schon in irgendeinem Glücksrand.

47:06.880 --> 47:07.880
Bestimmt, okay.

47:07.880 --> 47:09.880
Ich drücke einfach nochmal, oder?

47:09.880 --> 47:11.880
Mach mal, merkt keiner.

47:11.880 --> 47:18.840
Aha, 3 Element Internals, Area Colspen.

47:18.840 --> 47:19.840
Jawoll.

47:19.840 --> 47:27.280
Genau, über Element Internals hatten wir im Kontext der WebKit-Folge, wo natürlich

47:27.280 --> 47:34.600
direkt danach wieder ein Release rausgekommen ist, gesprochen und jetzt muss ich mal darüber

47:34.600 --> 47:35.600
legen, das war...

47:35.600 --> 47:37.840
Ich wollte doch sagen, du hast ja so gut zugehört, dass du alles noch exakt beißt.

47:37.840 --> 47:39.840
Ich habe so gut zugehört, ja, richtig.

47:39.840 --> 47:47.560
Ja, ja, ich, okay, ich muss weg.

47:47.560 --> 47:48.560
Ja.

47:48.560 --> 47:59.200
Nee, aber im Prinzip kann man dann noch, im Prinzip die internen Verhaltensweisen, glaube

47:59.200 --> 48:00.200
ich, abbilden.

48:00.200 --> 48:06.840
Also wie fällt sich das im Accessibility Tree und welchem Element ähnelt das irgendwie

48:06.840 --> 48:07.840
von seinem Verhalten?

48:07.840 --> 48:08.840
So war das, glaube ich.

48:08.840 --> 48:15.000
Genau, das ist im Prinzip eine User-Facing-API mit der diversen Algorithmen aus der HTML5

48:15.000 --> 48:17.760
Spezifikation per JavaScript zugänglich gemacht werden.

48:17.760 --> 48:21.840
Das sieht man zum Beispiel, wie jetzt in dem konkreten Beispiel, einer Web-Komponent,

48:21.840 --> 48:25.880
die man frisch aus heißer Luft erschafft, irgendwelche Area-Defaults vergeben kann.

48:25.880 --> 48:29.520
Weil haben ja normale semantische Elemente auch irgendwie Section und Main und so, die

48:29.520 --> 48:30.800
haben ja eingebaute Area-Roles.

48:30.800 --> 48:33.640
Und warum sollte das irgendwie mein Custom-Flu nicht auch können?

48:33.640 --> 48:34.840
Und genau dafür ist das da.

48:34.840 --> 48:42.120
Also für solche Area-Defaults und für Custom-Form-Elements, dass man das Verhalten eines Formular-Elements

48:42.120 --> 48:43.520
mit einem Custom-Element nachbauen kann.

48:43.520 --> 48:44.520
Ja.

48:44.520 --> 48:49.080
Wir verweisen auf die entsprechende Revision, da wird das nochmal in Länge und Breite

48:49.080 --> 48:52.120
erklärt, weil der Safari kann das nämlich auch.

48:52.120 --> 49:01.360
Und jetzt haben wir hier noch ganz konkret das Area-Colls-Ben-Attribut, dass ich tatsächlich

49:01.360 --> 49:04.640
irgendwie, dass mir gar nichts sagt, dass ich noch Liebe nutzt habe.

49:04.640 --> 49:10.920
Also man kann da irgendwie sagen, wenn man jetzt keinen echten Calls-Ben irgendwie angibt,

49:10.920 --> 49:14.840
wie man das ja bei einer Tabelle machen würde, soweit ich das hier richtig verstehe, kann

49:14.840 --> 49:19.320
es halt für eine Zelle, die du vielleicht anders darstellt, zum Beispiel mit einem Diff

49:19.320 --> 49:26.760
oder whatever, da halt noch sagen, okay, das ist eigentlich gedacht hier über zwei

49:26.760 --> 49:35.520
Columns, also zwei Columns zu spannen, also sich aufzuspannen sozusagen und kann dann

49:35.520 --> 49:37.880
sozusagen diese Zelle ein Stück weit vergrößern.

49:37.880 --> 49:43.320
Man kennt das ja so sozusagen breitere Zellen, als die Standard breiten.

49:43.320 --> 49:49.720
Okay, das heißt so, der Use Case wäre vielleicht, dass man interagiert mit einer HTML5 Canvas

49:49.720 --> 49:57.440
und in der ist drin quasi so ein Art Tabellenartiges Ding, aber weil die HTML5 Canvas ja im Endeffekt

49:57.440 --> 50:02.640
nichts anderes ist als ein Haufen Pixel, ohne Semantik könnte man jetzt zum Beispiel überlegen,

50:02.640 --> 50:12.680
ob man im Hintergrund dann quasi sowas modelliert wie eine Tabelle und dann sowas nutzt und

50:12.680 --> 50:20.600
der Screen Reader würde dann im Prinzip dieses modellierte Objekt verarbeiten und würde

50:20.600 --> 50:23.880
dann die Semantik irgendwie kommunizieren können.

50:23.880 --> 50:31.200
Genau, oder viel einfacher, du baust ja irgendwie ein Haufen Custom Elements, um das neue Element

50:31.200 --> 50:37.560
der Shaptable mit Shaptable Row und Shaptable Header und so weiter in die Welt zu setzen,

50:37.560 --> 50:41.240
das sich halt eben verhalten soll wie eine Tabelle, aber soll halt irgendwie per Default

50:41.240 --> 50:44.440
sortierbar sein mit einem fixierten Header beim Scrollen und so weiter und so weiter.

50:44.440 --> 50:47.200
Also du willst halt eben alles haben, was eine Tabelle hat, aber du willst halt nicht gegen

50:47.200 --> 50:51.240
die Default Implementierung einer Tabelle in HTML ankämpfen müssen, fängst auf grüner

50:51.240 --> 50:55.440
Visa an wie ein guter Reaktentwickler das so macht, baust alles aus Diffs, aber weil es

50:55.440 --> 50:58.760
gleich ist es halt eben in Web Components ein und gibst dem halt eben auch noch Area Defaults

50:58.760 --> 51:01.920
damit es halt auch zugänglich ist und nicht nur schön aussieht.

51:01.920 --> 51:08.640
Ja, cool, wieder was gelernt, Area Callspan.

51:08.640 --> 51:15.280
Okay, dann bin ich glaube ich mal dran mit drücken, oder?

51:15.280 --> 51:20.080
Oder der Hans, ich glaube das könnte gar gar nicht, könnte der Hans sein, ja du darfst

51:20.080 --> 51:21.080
auch.

51:21.080 --> 51:24.720
Peter, ich lasse dir noch einmal den Vortritt, ich glaube ich war ja zuletzt mit dem Meta-Element

51:24.720 --> 51:25.720
am Start, ne?

51:25.720 --> 51:31.280
Ja, kann gut sein, okay, dann drücke ich jetzt mal auf Zufallsgenerator aktivisieren.

51:31.280 --> 51:37.160
Vielleicht war es auch falsch, ah ne, ich war bei Media Error, I don't know.

51:37.160 --> 51:40.120
Jetzt, wir haben wieder ein Element, fantastisch.

51:40.120 --> 51:46.160
Ja, es ist tatsächlich wieder ein neues Old Schoolige HTML-Glückrat, Glücksrat ist es

51:46.160 --> 51:47.160
wirklich.

51:47.160 --> 51:49.680
Fantastisch, ja.

51:49.680 --> 51:50.680
Es geht um ein...

51:50.680 --> 51:52.200
Ja, es hat zwei Element was.

51:52.200 --> 51:57.240
Einen hat zwei Element, genau, eine Überschrift sozusagen, also es gibt ja die Überschriften

51:57.240 --> 52:03.360
von 1 bis 6, h1 bis h6 und da sind wir jetzt auf dem zweiten Level gelandet.

52:03.360 --> 52:09.560
Ich finde es interessant, ich wollte das vorhin schon erwähnen, als wir so über die Abkürzungen

52:09.560 --> 52:19.080
gesprochen haben, ne, weil das h steht ja in dem Fall für Heading, Heading 1, Heading

52:19.080 --> 52:26.080
2, Heading 3 und bis 6, ne, und auch hier hat man sich nicht die Mühe gemacht, das

52:26.080 --> 52:31.880
Heading auszuschreiben, man hätte es ja dann auch anders interpretieren können, h1 bis

52:31.880 --> 52:38.480
6 oder, warum hat man es überhaupt Heading genannt und nicht Title, also so was wie T1?

52:38.480 --> 52:45.280
Title war schon besetzt, ja das Title-Tag gibt es ja schon und genauso den Het an sich.

52:45.280 --> 52:50.480
Ja, und dann blieb die Heading noch übrig und es heißt ja auch Überschrift, also von

52:50.480 --> 52:51.480
daher.

52:51.480 --> 52:56.840
Genau, ergibt irgendwie Sinn, ich finde das jetzt ja gut, dass irgendwer, also wenn

52:56.840 --> 53:02.880
ich da jetzt am Design dran gewesen wäre, ne, ich hätte halt wirklich nicht bei 6 aufgehört,

53:02.880 --> 53:07.520
sondern es hätte irgendwie eine ungrade Zahl sein müssen, einfach nur um so die Leute,

53:07.520 --> 53:09.720
die so was nicht gut aushalten können, so ein bisschen zu triggern.

53:09.720 --> 53:10.720
Ach so, einfach so.

53:10.720 --> 53:15.360
Weißt du, wer nicht h7 irgendwie viel netter gewesen?

53:15.360 --> 53:18.160
Ich finde ja ungrade Zahlen meistens auch schöner, tatsächlich.

53:18.160 --> 53:19.160
Okay.

53:19.160 --> 53:22.160
Heißt das auch, du würdest keine h2 verwenden?

53:22.160 --> 53:28.720
Okay, Spaß beiseite, aber was ist denn eigentlich, also wie kommt man auf 6 Level?

53:28.720 --> 53:32.560
Ich weiß nicht, wann ihr zuletzt eine h6 verwendet habt, ich weiß gar nicht mehr, wie ich das

53:32.560 --> 53:33.560
noch stylen soll.

53:33.560 --> 53:40.920
Also eine h4 ist doch schon so was wie einfach nur noch ein em als font-size sozusagen und

53:40.920 --> 53:41.920
font-weight-bold.

53:41.920 --> 53:48.080
Ja gut, aber du, Hans, baust ja auch tatsächlich vernünftige Webseiten, die irgendwie sagen

53:48.080 --> 53:52.840
wir mal ein kommerzielles Ziel verfolgen, die so von Max Mütze und Lieschen Müller verstanden

53:52.840 --> 53:53.840
werden sollen.

53:53.840 --> 53:57.160
Du baust ja nicht, wie das fürs WWW eigentlich vorgesehen war, dein komplettes Paper über

53:57.160 --> 54:00.640
Partikelbeschleuniger in eine Webseite rein, und zwar von A bis Z.

54:00.640 --> 54:05.840
Ist das nicht die gleiche Zielgruppe?

54:05.840 --> 54:12.040
Ja, okay, wahrscheinlich ist den Köln Lieschen Müller ein bisschen anders drauf als jetzt

54:12.040 --> 54:13.040
hierzulande.

54:13.040 --> 54:18.880
Nee, aber ich würde mal vermuten, dass es so irgendwie so, also irgendwie muss ja auf

54:18.880 --> 54:21.960
diese Idee gekommen sein, und ich bin sicher irgendwo steht das auch, wie das gekommen

54:21.960 --> 54:25.680
ist, aber vermutlich hat einfach irgendwer geschaut, was sind so das längste wissenschaftliche

54:25.680 --> 54:28.440
Paper, das ich hier rumliegen habe und wie viele Unterüberschriften hat das.

54:28.440 --> 54:32.760
So, das nehmen wir jetzt einfach mal als Worst Case an und dann passt das schon.

54:32.760 --> 54:40.600
Ja, ich könnte mir auch vorstellen, dass da noch ein bisschen was anderes dahinter liegt,

54:40.600 --> 54:45.520
aber vielleicht noch mehr Algorithmik, wie sieht das herausgefunden haben, aber vielleicht

54:45.520 --> 54:47.520
überschätze ich es auch an der Stelle einfach.

54:47.520 --> 54:52.880
Ich wüsste jetzt gern, was Chechipitit zu der Frage sagt, warum es bis H6 geht.

54:52.880 --> 54:53.880
Ja, ja bitte.

54:53.880 --> 54:55.400
Kannst du mal fragen gehen?

54:55.400 --> 54:56.400
Genau.

54:56.400 --> 55:04.680
Also ich kann nur sagen, ich finde schade, dass, also da, ich glaube das sind ja viele

55:04.680 --> 55:11.600
der Meinungen, dass der HTML5 Outline Algorithmus jetzt irgendwie nie so richtig Fuß gefasst

55:11.600 --> 55:20.240
hat, weil gerade wenn du so Komponenten basiert arbeitest, dann stellen dich ja diese blöden

55:20.240 --> 55:23.280
Haar-Levels immer vor total dämliche Herausforderungen.

55:23.280 --> 55:28.920
Du meinst damit nur ganz kurz, dass noch als Einschub, du meinst damit sozusagen, dass

55:28.920 --> 55:36.080
man dann so ein Section-Element um Headlines rappen kann und dann ist halt die H1 in dieser

55:36.080 --> 55:43.840
Section eigentlich untergeordnet der nächsterüberliegenden Section sozusagen, also so heißt es,

55:43.840 --> 55:44.840
kann man dann...

55:44.840 --> 55:51.680
Ja, beziehungsweise, genauso gibt es ja so Sectioning-Elements generell, glaube ich,

55:51.680 --> 55:57.920
sozusagen so Articles, Section, Header, Futter, Aside und so sind so Kandidaten und das dann,

55:57.920 --> 56:03.840
sobald der Browser da sozusagen in das Element eintaucht, dass dann die Überschriften-Levels

56:03.840 --> 56:09.200
wieder quasi resettet werden und wieder von vorne anfangen können, ohne dass sie dann

56:09.200 --> 56:15.040
eben, wie du ja auch richtig sagst, dann höher sind als die Überschriften, die außerhalb

56:15.040 --> 56:17.760
dieses Elements sind oder waren.

56:17.760 --> 56:26.760
Also es ist quasi so ein bisschen wie bei CSS mit den Z-Indexen, also wenn du quasi so

56:26.760 --> 56:31.920
ein Stacking-Context bildest, dann kannst du da drin ja Z-Index eine Million reinschreiben.

56:31.920 --> 56:38.840
Wenn der Stacking-Context selbst eben auf Z-Index 1 ist und du hast ein anderes Element, das

56:38.840 --> 56:46.560
hat Z-Index 2, dann wird dieses in dem Stacking-Context befindliche Element mit Z-Index 1.000 trotzdem

56:46.560 --> 56:53.880
niemals über diesem Z-Index 2 Element sein und so, wer halt der Outline-Algorithmus und

56:53.880 --> 56:58.160
das ist halt eigentlich ganz cool, weil dann kannst du, dann musst du ein CMS und deinen

56:58.160 --> 57:04.920
Komponentenbasiertes System einfach gar nicht wissen, auf welchem Level sind denn gerade

57:04.920 --> 57:10.120
die Headlines um mich herum, muss ich jetzt irgendwie vielleicht mit einer 4-Headline-Level

57:10.120 --> 57:15.000
4 konfiguriert werden, damit das Semantisches, sondern man könnte dann einfach sagen so

57:15.000 --> 57:22.000
hey, diese Komponente ist ohnehin vielleicht ein Artikel oder so und ich starte da einfach

57:22.000 --> 57:25.960
neu drin mit meinen Headlines und Problemen gelöst.

57:25.960 --> 57:35.280
Ich würde sagen so die Headline-Level sind auch immer so ein Painpoint bei mir, beim

57:35.280 --> 57:38.440
semantischen Zusammenstellen von Dokumenten.

57:38.440 --> 57:45.400
Ja vor allem, dass du halt eine saubere Outline immer hast, also den H1 noch hinzubekommen

57:45.400 --> 57:50.960
okay, dann die H2, da drunter auch noch irgendwie okay, aber dann fehlt doch mal vielleicht

57:50.960 --> 57:56.400
irgendwo ein und dann ist da eine H3 und dann ist auf einmal wieder irgendwo eine H4 ohne

57:56.400 --> 58:01.280
dass da vorne H3 war oder ähnliches, gerade bei User-Generated Content und das ist halt

58:01.280 --> 58:04.960
so ein bisschen das Problem, finde ich zumindest.

58:04.960 --> 58:13.240
Ja, ja genau, User-Generated Content ist auch so ein Kandidat in der Tat.

58:13.240 --> 58:21.720
Ja, was auch noch eine interessante Fahrgestellung ist, es gibt ja manche, die sind Verfechter

58:21.720 --> 58:32.160
der Position, wie viel, also ich kann mehr als ein H1 Element benutzen auf einer Seite,

58:32.160 --> 58:39.280
es gibt ja als quasi Ober-Guru, als Ober-Überschrift gibt es ja noch das Title-Element, also das

58:39.280 --> 58:44.720
ist ja die höchste Überschrift und warum sollte ich die vielleicht, also die wird sowieso

58:44.720 --> 58:49.680
announced vom Screenreader, warum soll ich die nochmal wiederholen in der einen H1, die

58:49.680 --> 58:57.040
es dann vielleicht gibt, macht nicht ganz so viel Sinn möglicherweise und darum quasi

58:57.040 --> 59:05.600
kann man direkt mit den Unterschriften zwei oder zweiten Grades mit H1 starten, so.

59:05.600 --> 59:08.600
Also die H1 ist die gefühlte H2?

59:08.600 --> 59:09.600
Ja, genau.

59:09.600 --> 59:16.160
Ja, ich frage mich immer, was das Bedrohungsszenario ist, also die irgendwie, wir überspringen

59:16.160 --> 59:21.800
irgendwie die H3 und gehen von der H2 zur 4, weil irgendwie unsere Widgets jetzt nicht

59:21.800 --> 59:26.400
optimal programmiert sind, weil wir den Outline-Algorithmus nicht haben, also wem tut das denn jetzt

59:26.400 --> 59:27.400
wirklich weh?

59:27.400 --> 59:28.400
Lass dich doch gerne.

59:28.400 --> 59:34.000
Ich glaube, das tut auch kein weh, also ich hatte auch mit dem Marco Zehl mal da drüber

59:34.000 --> 59:40.480
gesprochen, damals bei der Randschen Post, wie wir so quasi so, hey, hier sind noch ein

59:40.480 --> 59:45.760
paar Artikel-Empfehlungen und so, datte er auch gesagt, also für ihn wäre das eigentlich

59:45.760 --> 59:51.560
vollkommen in Ordnung, wenn das direkt als H6 alles ausgezeichnet würde und nicht irgendwie

59:51.560 --> 59:56.400
wir gucken, was wäre denn jetzt da für ein richtiges H-Level, ich glaube, wo das halt nur

59:56.400 --> 01:00:01.240
ein Problem ist, ist, wenn du das vielleicht an der Einstelle so machst, aber du hast an

01:00:01.240 --> 01:00:09.000
der anderen Stelle in deinem Dokument dann Headline-Levels, die von der Nummerierung

01:00:09.000 --> 01:00:14.320
dann höher sind, aber eigentlich nicht höher wären, also die funktionieren ja eigentlich

01:00:14.320 --> 01:00:19.880
nur, wenn du die Gesamt betrachtest und das alles in Einklang zu bringen, finde ich, das

01:00:19.880 --> 01:00:21.880
ist halt schon schwierig.

01:00:21.880 --> 01:00:26.880
Ja, also dass du nicht sozusagen unbeabsichtigt einen Schritt entweder nach oben oder nach

01:00:26.880 --> 01:00:30.320
unten machst, wenn du keinen machen willst, aber wenn du einen machst, ist es auch egal,

01:00:30.320 --> 01:00:32.880
dass du vielleicht irgendwie zwei Schritte nach unten machst oder zwei nach oben, solange

01:00:32.880 --> 01:00:33.880
die Richtung stimmt.

01:00:33.880 --> 01:00:40.520
Ja, genau, und sofern du das eben dann überall auf deiner Seite so durchziehst vielleicht.

01:00:40.520 --> 01:00:45.080
Ja, aber ich meine, möglicherweise ist es ja hilfreich, also die Idee, was du gerade

01:00:45.080 --> 01:00:49.920
sagst, ist von wegen, dann sind halt diese unwichtigsten Sections da hinten, die fangen wir halt mit

01:00:49.920 --> 01:00:52.960
H6 an, finde ich eigentlich jetzt nicht, weil dann könnte man ja im Prinzip die Überschriften

01:00:52.960 --> 01:00:58.000
Scala von 1 bis 6 im Prinzip ja als eine sehen, die man aus zwei Richtungen angreifen kann.

01:00:58.000 --> 01:01:03.600
Also ich könnte von H1 nach H2 nach H3 gehen und von sozusagen rückwärts gedacht von irgendwie

01:01:03.600 --> 01:01:08.600
nach 6 nach 5 nach 4 und könnte sozusagen sagen, okay, ich bin jetzt irgendwie so der

01:01:08.600 --> 01:01:12.160
Seitentitel und irgendwie so die Überschrift in der Hauptspalte und dann bin ich vielleicht

01:01:12.160 --> 01:01:16.560
nach H1 oder H2 und ich baue halt irgendein Widget und das Widget ist garantiert in irgendwas

01:01:16.560 --> 01:01:20.600
eingebaut, so dass unterwichtigste, unwichtigste, ganz, ganz nach hinten geschobene, da kann

01:01:20.600 --> 01:01:23.960
ich dann halt eben bei 6 anfangen und wenn ich dafür eine Überschrift brauche, eine

01:01:23.960 --> 01:01:27.640
5 nehmen, dass man das so aus zwei Richtungen zählt, das finde ich eigentlich ganz charmant.

01:01:27.640 --> 01:01:28.640
Mhm.

01:01:28.640 --> 01:01:29.640
Mhm.

01:01:29.640 --> 01:01:30.640
Mhm.

01:01:30.640 --> 01:01:31.640
Mhm.

01:01:31.640 --> 01:01:32.640
Mhm.

01:01:32.640 --> 01:01:33.640
Gut.

01:01:33.640 --> 01:01:37.280
ChatGPT hat gemeldet, ich habe ihn gefragt, wer hat da ein Mattas mit den Überschriften.

01:01:37.280 --> 01:01:41.680
ChatGPT meint, dass W3C hätte das per Konsens rausgefunden und es sei total wichtig, dass

01:01:41.680 --> 01:01:43.760
ich sehr darauf achte, alles ordentlich auszuzeichen.

01:01:43.760 --> 01:01:44.760
Ach, süß.

01:01:44.760 --> 01:01:48.960
Ja, ich sage mal, das ist nicht falsch, aber ich glaube nicht, dass das richtig ist.

01:01:48.960 --> 01:01:53.440
Ja, also, aber er hat schon sich reingehängt.

01:01:53.440 --> 01:01:57.240
Ja, ja, ich habe auch dreimal nachgefragt, ich habe so, ja, wer war das denn jetzt?

01:01:57.240 --> 01:01:58.240
Ja, wann denn?

01:01:58.240 --> 01:02:01.560
Er hat sich aber sehr gut drum herum geredet, also würde ich sagen, kriege ich auf jeden

01:02:01.560 --> 01:02:06.960
Fall locker eine gute 2, ohne Plus und Minus, hat bestanden.

01:02:06.960 --> 01:02:08.960
Ja, sehr gut.

01:02:08.960 --> 01:02:14.360
Genau, dann will ich noch eine Frage stellen, und zwar, was ihr zu AgeGroup sagt.

01:02:14.360 --> 01:02:16.440
Äh, gibt es da noch?

01:02:16.440 --> 01:02:17.440
Zu dem Element.

01:02:17.440 --> 01:02:23.480
Ja, das gibt es ja wieder, glaube ich, das wurde mal, es gibt hier, äh, quasi das

01:02:23.480 --> 01:02:24.480
AgeGroup-Element.

01:02:24.480 --> 01:02:25.480
Pst.

01:02:25.480 --> 01:02:26.480
Hier ist der Link.

01:02:26.480 --> 01:02:27.480
Ja.

01:02:27.480 --> 01:02:28.480
Und Chat.

01:02:28.480 --> 01:02:29.480
Ja, gibt's.

01:02:29.480 --> 01:02:35.960
Ähm, genau, das, äh, sollte ja so Überschriften zusammenfassen, ich glaube, in der ursprünglichen

01:02:35.960 --> 01:02:44.720
Fassung war es so gedacht, dass man verschiedene, glaube ich, Haar-Levels darin, äh, gruppieren

01:02:44.720 --> 01:02:51.320
konnte, und mittlerweile ist es, glaube ich, so, dass man nur einen Haar mit dann einem

01:02:51.320 --> 01:02:58.280
P zu einem, zu einer Heading-Group zusammenfassen kann, was dann quasi das Szenario wäre.

01:02:58.280 --> 01:03:04.760
Ich habe einen, ja, ein Kicker-Headline über der eigentlichen Überschrift, zum Beispiel

01:03:04.760 --> 01:03:10.560
unter der Hauptüberschrift runter und also quasi immer so eine, so eine Zweier-Gruppe

01:03:10.560 --> 01:03:16.640
von, ähm, Überschriften zusammen, wie man es halt oft dabei so Nachrichten, Seiten

01:03:16.640 --> 01:03:17.640
sieht.

01:03:17.640 --> 01:03:22.920
Das würde man, so benutze ich es auch.

01:03:22.920 --> 01:03:28.080
Es ist also ein Header-Element mit irgendwie einem etwas stricteren Content-Bottle.

01:03:28.080 --> 01:03:29.080
Ja.

01:03:29.080 --> 01:03:30.080
Genau.

01:03:30.080 --> 01:03:39.920
Hm, aber warum nimmt man denn kein Header-Element?

01:03:39.920 --> 01:03:44.440
Also, man kann ja trotzdem sich, man kann ja im Prinzip trotzdem dieses Content-Model

01:03:44.440 --> 01:03:50.160
umsetzen, aber warum muss man denn von einem, also, warum muss man sich einen Element begeben,

01:03:50.160 --> 01:03:53.120
wo das das Einzige ist, was valide ist, was ich am Ende auch keinen interessiert?

01:03:53.120 --> 01:03:55.360
Also, mir ist der Use Case nicht ganz klar.

01:03:55.360 --> 01:04:00.400
Also, okay, man kann dann irgendwie eine Zwischenüberschrift machen, ein Header ist ja ein

01:04:00.400 --> 01:04:03.480
Header von der Section und eine Age-Gruppe könnt ja auch irgendwo innerhalb einer Section

01:04:03.480 --> 01:04:06.440
als Zwischenüberschrift Gruppierung vorkommen.

01:04:06.440 --> 01:04:07.440
Hm, ja.

01:04:07.440 --> 01:04:08.440
Da stimmt.

01:04:08.440 --> 01:04:13.000
Wobei das mit den Section-Überschriften wahrscheinlich auch in jemandem interessiert,

01:04:13.000 --> 01:04:14.000
oder?

01:04:14.000 --> 01:04:18.640
Nee, ich glaube, dass, dass wir da irgendwie auch viel zu, also uns viel zu sehr den Kopf

01:04:18.640 --> 01:04:23.160
drüber zerbrechen und in der Praxis wird das eben, also einerseits wahrscheinlich, weil

01:04:23.160 --> 01:04:28.840
die Semantik im Web eh so kaputt ist, gar nicht so in der Form konsumiert, weil man gar nicht

01:04:28.840 --> 01:04:31.400
damit rechnet, dass es noch funktioniert irgendwo wahrscheinlich.

01:04:31.400 --> 01:04:43.400
Zum anderen habe ich auch hier und da mal schöne Vorträge gesehen, wo Leute mit, zum

01:04:43.400 --> 01:04:50.680
Beispiel, assistiven Geräten teilweise auch überfordert sind von zu viel Semantik.

01:04:50.680 --> 01:04:56.480
Das heißt also, den tut es da auch gar nicht unbedingt immer was Gutes, wenn du Tausend

01:04:56.480 --> 01:05:03.680
Listen hast und Tausend Überschriften, weil das halt alles announced wird und genau,

01:05:03.680 --> 01:05:11.760
also ich glaube, wir können uns da den Kopf heiß denken, wie man das am besten strickt

01:05:11.760 --> 01:05:16.880
und in der Praxis ist das alles gar nicht so relevant, tatsächlich.

01:05:16.880 --> 01:05:25.200
Ja, Ausschnitt davon sind relevant, damit halt eben die Use Cases, die Blinden und die Suchmaschinen

01:05:25.200 --> 01:05:26.200
zufrieden sind.

01:05:26.200 --> 01:05:31.320
Ja, also Formulare zum Beispiel, also da ist natürlich Semantik total wichtig, aber

01:05:31.320 --> 01:05:36.800
so beim Dokumenten modellieren vielleicht dann eben nicht so.

01:05:36.800 --> 01:05:41.920
Es wird nicht so heiß gegessen, wie es gekocht wird.

01:05:41.920 --> 01:05:50.120
Genau, also kann man sich viel Gedanken machen, vielleicht können wir da auch noch mal ein

01:05:50.120 --> 01:05:56.240
letztes Mal unsere Höhren und Höhre fragen, wie ihr euch da so durchnavigiert, was ihr

01:05:56.240 --> 01:05:59.440
so für euch für Best Practices rausgearbeitet habt.

01:05:59.440 --> 01:06:06.480
Seid ihr da irgendwie sehr strikt, also so quasi geht ihr nach Lehrbuch oder habt ihr

01:06:06.480 --> 01:06:12.000
da, geht ihr da ein bisschen, sagen wir mal, Hemdsärmeliga oder vielleicht irgendwie aus

01:06:12.000 --> 01:06:19.280
der Praxis getrieben heran und wie löst ihr so Probleme wie eben Content Management Systeme,

01:06:19.280 --> 01:06:29.080
User Generated Content oder eben Komponenten basierte Webseiten und Überschrift Levels

01:06:29.080 --> 01:06:30.080
und so.

01:06:30.080 --> 01:06:39.080
Und ja, ich würde sagen, damit haben wir wieder eine schöne runde Glücksrat hier eingetütet.

01:06:39.080 --> 01:06:43.800
Genau, was auch keiner mitbekommen hat, ist, dass der Peter insgesamt fünfmal rausgeflogen

01:06:43.800 --> 01:06:45.400
ist und der Hans einmal.

01:06:45.400 --> 01:06:49.440
Ja, das ist doch alles gar nicht wahr, das lief genauso rund wie ein Glücksrat, deswegen

01:06:49.440 --> 01:06:50.960
heißt das doch so.

01:06:50.960 --> 01:06:51.960
Ja, stimmt.

01:06:51.960 --> 01:06:55.880
Du bist eigentlich fast so oft rausgeflogen, wie wir Runden gedreht haben.

01:06:55.880 --> 01:06:59.760
Das ist richtig, jedes Mal, wenn ein neues Thema war, bin ich erstmal so, ich muss

01:06:59.760 --> 01:07:00.760
weg.

01:07:00.760 --> 01:07:06.320
Ja, aber auf jeden Fall ist es nicht zu vergleichen mit den alten Zeiten, als wir noch Skype benutzt

01:07:06.320 --> 01:07:07.320
haben.

01:07:07.320 --> 01:07:08.320
Also, sofern.

01:07:08.320 --> 01:07:13.680
Ich erinnerte mich an so Show Notes von Markus, wo es noch so hieß, Thema hier, Thema da

01:07:13.680 --> 01:07:17.880
und übrigens, ich klinge, als hätte ich eben in einer Mülltonne aufgenommen, vertraut

01:07:17.880 --> 01:07:20.080
mir, so war das nicht.

01:07:20.080 --> 01:07:23.920
Nein, nein, das schneiden wir alles raus.

01:07:23.920 --> 01:07:35.480
Ansonsten, wenn ihr noch was habt, wie gesagt, schreibt uns auf Twitter auf, Mastodon oder

01:07:35.480 --> 01:07:36.480
im Slack.

01:07:36.480 --> 01:07:41.920
Die Kommentare sind ja schon ein bisschen länger zu, weil da eigentlich nur Spam reinkam.

01:07:41.920 --> 01:07:51.320
Genau, nächste Woche geht es um, genau, da geht es um TypeScript 5 und danach die Woche

01:07:51.320 --> 01:07:58.680
geht es um eine spannende neue Organisationsstruktur mit einem Gast und den Gast von dieser Folge.

01:07:58.680 --> 01:08:07.200
Da gucken wir mal den geplanten Gast, wenn wir den dann hier tatsächlich für eine Sendung

01:08:07.200 --> 01:08:08.200
zu Gast haben werden.

01:08:08.200 --> 01:08:10.800
So machen wir es.

01:08:10.800 --> 01:08:11.800
Danke euch.

01:08:11.800 --> 01:08:16.480
Vielen Dank, dass ihr wieder euer Wissen geteilt habt, was das Glücksrat anbelangt.

01:08:16.480 --> 01:08:21.760
Manchmal sind es ja dann doch etwas älterere Themen, aber es ist doch immer mal wieder

01:08:21.760 --> 01:08:26.760
gut, die auch mal wieder aufzufrischen vom Wissen her und man lernt ja dann doch immer

01:08:26.760 --> 01:08:27.760
viel dazu.

01:08:27.760 --> 01:08:34.080
Zum Beispiel heute die Stereo-API, mit der man da links oder rechts ausgeben kann vom

01:08:34.080 --> 01:08:39.040
Ton, ist dann doch schon auch interessant und vielleicht, man weiß es ja nie, irgendwann

01:08:39.040 --> 01:08:41.280
braucht man es dann doch mal.

01:08:41.280 --> 01:08:43.480
Ja, hast recht.

01:08:43.480 --> 01:08:45.480
So ist es.

01:08:45.480 --> 01:08:50.280
Also macht's gut und bis nächste Woche, tschüss!

01:09:15.480 --> 01:09:20.200
Beep. Beep. Beep. Beep. Beep.

Revision 558: Per dualer Ausbildung oder dualem Studium in den IT-Beruf

28. Februar 2023 | Keine Kommentare

Nachdem Vanessa und Hans sich vor zwölf Wochen in der Revision 546 über Ihre Wege in den Beruf ausgetauscht haben, nämlich einerseits das Studium, andererseits das „zufällige Hineinschlittern“ nach dem Abitur, meldeten sich Stefan Macke (Twitter / IT-Berufe-Podcast) und Marcel Koch (Twitter / Mastodon / Web) bei uns, weil wir weder Ausbildung, noch duales Studium als mögliche Wege in den Beruf beleuchtet haben. Das lag aber schlicht daran, dass wir von beidem keine Ahnung haben, und so haben wir die beiden als Experten eingeladen und das Ganze nachgeholt.

Schaunotizen

[00:02:05] Per dualer Ausbildung oder dualem Studium in den IT-Beruf
Zunächst lernen wir den Unterschied zwischen dualem Studium, dualer Ausbildung und der rein schulische Ausbildung. Über die ersten beiden wollen wir reden.

In den dualen Ausbildungen lernt man praktisch und gegen Bezahlung in einem Betrieb und flankiert wird das durch eine schulische Ausbildung entweder in einer Hoch- oder Berufsschule. Letzteres wäre das, was man unter einer dualen Ausbildung versteht. Insgesamt führt die Ausbildung seit 2020 zu sieben möglichen Ausbildungsberufen:

  • Fachinformatiker*in Anwendungsentwicklung, für alle die später gerne programmiern möchten
  • Fachinformatiker*in Systemintegration, für alle die später als Administrator*in tätig sein möchten
  • Fachinformatiker*in Prozessanalyse, mit der man später KI programmiert oder SAP implementiert
  • Fachinformatiker*in digitale Vernetzung, mit der man später z.B. IoT-Produkte entwickeln kann.
  • IT-Systemelektroniker*in, für alle, die Lust auf Hardwarebauen haben
  • Kauffrau/-mann für Digitalisierungsmanagement, mit der man später digitale Prozesse in Betrieben optmiert, und
  • Kauffrau/-mann für IT-Systemmanagement, für alle, die später IT verkaufen möchten.

Die IT-Ausbildungsberufe sind unter Männern die zweibeliebteste Gattung, unter Frauen sehen sie allerdings erst an Platz zehn.

Diese duale Ausbildung dauert üblicherweise 3 Jahre, wird meist auf 2,5 Jahre verkürzt, kann im Extremfall aber auch auf 1,5 Jahre halbiert werden. Eine Abschlussprüfung findet anders als man denken würde nicht erst am Ende der Ausbildung statt. Stattdessen gibt es eine über die Gesamtzeit „gestreckte Abschlussprüfung“, deren erster Teil nach 18 Monaten für alle sieben Ausbildungsberufe identisch abgelegt wird. Die Ausbildung beginnt damit breit gefächert und erst danach geht es tief in die Spezialisierung. Ganz zum Schluss der Ausbildung kommt das Abschlussprojekt, eine Art „Gesellenstück“ an dem man zwischen 40 und 80 Stunden arbeitet, sowie die Präsentation desselben, einem 15 minütigen Fachgespräch darüber und einer schriftliche Dokumentation, die zwischen 30 und 60 Seiten zählt.

Ausbildungen bringen einem aus Stefans Sicht mehr Praxiswissen und sie sind anerkannt und sehr gefragt.

Entscheidend für den Erfolg ist, dass man einen Betrieb findet, der einen anständig an die Hand nimmt und ausbildet und für den man nicht nur eine billige Arbeitskraft ist. Hier muss man ganz zu Beginn gut drauf schauen, wo man gelandet ist und ob es eine gute Idee ist, die gesamte Ausbildung im Betrieb zu bleiben.

Ein Studium ist dahingehend akademischer angelegt. Im dualen Studium arbeitet man aber ebenso praktisch in einem Betrieb, welcher nicht nur die Studiengebühren von 25.000 EUR übernimmt, sondern einem auch ein Gehalt von 1.200 EUR brutto zahlt. Im Gegenzug bindet man sich nach Abschluss des Studiums für anderthalb bis zwei Jahre an den Betrieb – oft will man tatsächlich aber auch gar nicht weg.

Insgesamt können wir festhalten, dass sowohl Marcel als auch Stefan den Weg einer Ausbildung oder eines dualen Studiums sehr empfehlen können.

Keine Schaunotizen

Duales Studium mit Gerda Feldhaus, Elena Hollen und Markus Amshove – Anwendungsentwickler-Podcast #110
In dieser Episode seines Anwendungsentwickler-Podcasts diskutiert Stefan mit Gerda Feldhaus, Elena Hollen und Markus Amshove die Vor- und Nachteile eines dualen Studium.
Der IT-Berufe-Podcast
Stefans IT-Berufe-Podcast bringt seit 2015 Inhalte rund um die Ausbildung in den verschiedenen IT-Berufen.
Fachinformatiker.de
Fachinformatiker.de ist laut eigener Aussage die größte IT-Community rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.
Transkript
WEBVTT

00:00.000 --> 00:01.600
Ein Thieler werden gesucht ohne Ende.

00:01.600 --> 00:03.600
Azubis werden genauso gesucht ohne Ende.

00:04.600 --> 00:09.000
Für eine Ausbildung bindet man sich auch danach noch an diese Firma.

00:10.000 --> 00:12.600
Wie lange dauert jetzt noch mal eine Ausbildung?

00:12.600 --> 00:41.600
Du hast gesagt, wenn man Abi hat, dann kann man das verkürzen auf zwei Jahre.

00:42.600 --> 00:44.600
Revision 558

00:48.600 --> 00:49.600
Kennst du das auch?

00:49.600 --> 00:52.600
Du willst mit einer neuen Technologie starten,

00:52.600 --> 00:57.600
aber das Internet ist zu voll mit Wirrem-Content in verschiedenster Qualität?

00:57.600 --> 01:02.600
Du suchst kompaktes Wissen, was dich direkt produktiv macht,

01:02.600 --> 01:08.600
mit echter Erfahrung von Experten und Expertinnen, die für deine akuten Fragestellungen da sind?

01:08.600 --> 01:13.600
Dann solltest du mal im TrainerInnen-Netzwerk von Workshops.de vorbeischauen.

01:13.600 --> 01:18.600
Hier findest du eine Community aus über 80 TrainerInnen,

01:18.600 --> 01:23.600
welche gemeinsam Material erstellen, sich gegenseitig unterstützen und weiterbilden,

01:23.600 --> 01:29.600
um möglichst nachhaltige und hochqualitative Weiterbildungsangebote zu schaffen.

01:29.600 --> 01:33.600
Es gibt sowohl Intensivschulungen über mehrere Tage,

01:33.600 --> 01:38.600
als auch Masterklasses, welche dich über einige Monate unterstützen.

01:38.600 --> 01:44.600
Bist du auf der Suche nach einer qualitativen Weiterbildung im Bereich Webentwicklung?

01:44.600 --> 01:48.600
Oder möchtest du dich selbst als TrainerInnen einbringen?

01:48.600 --> 01:52.600
Dann bist du bei Workshops.de genau richtig.

01:52.600 --> 01:55.600
Schau einfach mal vorbei für alle Informationen,

01:55.600 --> 02:04.600
workshops.de. Wir freuen uns auf dich.

02:04.600 --> 02:10.600
Wir sind heute zuviel. Aus dem Team hätten wir da zum einen den Hans.

02:10.600 --> 02:14.600
Ja, hallo. Ich bin der Chef und das bedeutet, wir haben zwei Gäste,

02:14.600 --> 02:16.600
und zwar zum einen den Marcel.

02:16.600 --> 02:17.600
Moin.

02:17.600 --> 02:19.600
Zum anderen den Stefan. Hallo.

02:19.600 --> 02:22.600
Der Marcel war schon mal da, der Stefan noch nicht.

02:22.600 --> 02:25.600
Stellt euch doch trotzdem noch mal beide vor.

02:25.600 --> 02:27.600
Stefan, willst du loslegen?

02:27.600 --> 02:30.600
Ja, gerne. Mein Name ist Stefan Macke, bin 40 Jahre alt,

02:30.600 --> 02:33.600
bin aktuell Software-Inwickler und Abtragungsleiter der Anwendungsinwicklung

02:33.600 --> 02:35.600
bei der Alte Oldenburg Krankenversicherung.

02:35.600 --> 02:38.600
So eine kleine Versicherung mit 300 Leuten in Fächter,

02:38.600 --> 02:41.600
so ziemlich zwischen Bremen und Osnabrück liegt das im hohen Norden.

02:41.600 --> 02:45.600
Und ich bin da jetzt seit 2009 Ausbildungsleiter für die IT-Berufe

02:45.600 --> 02:50.600
und auch seit 2009 IAK-Prüfer für den Fachinformatiker Anwendungsinwicklung.

02:50.600 --> 02:53.600
Hab auch selbst eine Ausbildung gemacht damals und dual studiert

02:53.600 --> 02:56.600
Wirtschaftsformatik plus die Ausbildung zum Fachinformatiker

02:56.600 --> 02:59.600
für Anwendungsinwicklung und danach noch den Master gemacht.

02:59.600 --> 03:02.600
Und glaube, ich kann ein bisschen was über die IT-Ausbildung in Deutschland erzählen heute.

03:02.600 --> 03:04.600
Das ist super.

03:04.600 --> 03:06.600
Jo, mach ich weiter. Hi, ich bin Marcel.

03:06.600 --> 03:09.600
Ich war schon 1, 2, 3, 4 mal da.

03:09.600 --> 03:13.600
Ich bin freiberuflicher Softwarearchitekt und Kommunikationscoach.

03:13.600 --> 03:16.600
Wir hatten auch mal eine Folge über Rust aufgenommen,

03:16.600 --> 03:18.600
auch mal über das Thema Kommunikation.

03:18.600 --> 03:21.600
Und heute hatte Stefan ja schon gesagt,

03:21.600 --> 03:26.600
soll es um die Ausbildungsberufe in Deutschland im IT-Sektor gehen.

03:26.600 --> 03:30.600
Genau, der Hintergrund ist nämlich der,

03:30.600 --> 03:38.600
dass Hans und Vanessa vor einigen Wochen, Monaten auch mal eine Folge zusammen aufgenommen haben,

03:38.600 --> 03:41.600
wo es auch um den Weg in den Beruf ging.

03:41.600 --> 03:50.600
Also Vanessa war sozusagen dann Stand für den Weg über ein Studium, also Bachelor und Master.

03:50.600 --> 03:56.600
Und Hans, du hast dann eben die Rolle eingenommen desjenigen,

03:56.600 --> 04:00.600
der eben so einfach in den Beruf reingrutscht ist.

04:00.600 --> 04:01.600
Genau.

04:01.600 --> 04:04.600
Dann hattest du Stefan, glaube ich, irgendwann gesagt so,

04:04.600 --> 04:09.600
hey, Moment mal, da fehlt aber ja noch so der ein oder andere Weg.

04:09.600 --> 04:14.600
Und genau, dann haben wir gesagt, ah, cool, stimmt, können wir nur nichts zu sagen,

04:14.600 --> 04:20.600
weil wir eben alle entweder aus von der einen Gattung stammen oder von der anderen,

04:20.600 --> 04:22.600
oder kommt doch vorbei, genau.

04:22.600 --> 04:29.600
Und Marcel, du hattest ja gesagt so, ich hätte da jetzt noch den quasi den Ausbildungsweg in den Ring zu werfen.

04:29.600 --> 04:35.600
Stefan, du hast ja gerade gesagt, du hast diese duale Ausbildung gemacht.

04:35.600 --> 04:39.600
Genau, und darüber wollen wir heute einfach mal noch mal reden, um das auch zu beleuchten.

04:39.600 --> 04:44.600
Also was es da so gibt und was daran gut ist.

04:44.600 --> 04:45.600
Das können wir gerne machen.

04:45.600 --> 04:48.600
Ich würde gerne direkt mal reingrechen, weil du hast schon das duale da gesagt.

04:48.600 --> 04:51.600
Ich würde vielleicht einmal kurz unterscheiden, es gibt ja die duale Ausbildung in Deutschland,

04:51.600 --> 04:53.600
das ist die klassische Ausbildung, von der wir reden.

04:53.600 --> 04:56.600
Und dann gibt es auch noch das duale Studium, was nochmal etwas anderes ist,

04:56.600 --> 05:00.600
was nämlich also duale Ausbildung, deswegen weil wir zwei Ausbildungspartner haben,

05:00.600 --> 05:03.600
nämlich einmal das Unternehmen und die Berufsschule, deswegen duale Ausbildung.

05:03.600 --> 05:05.600
Und das duale Studium, da haben wir auch zwei Sachen,

05:05.600 --> 05:08.600
nämlich einmal die Ausbildung im Unternehmen plus ein Studium an einer Hochschule.

05:08.600 --> 05:12.600
Also das ist noch wieder was anderes und das ist quasi ein Studienintegrierte Ausbildung,

05:12.600 --> 05:15.600
kann man zumindest so machen, dass man nach drei Jahren quasi ein Bachelor hat

05:15.600 --> 05:19.600
und gleichzeitig noch den IHK Abschluss, den man mit einer klassischen dualen Ausbildung

05:19.600 --> 05:21.600
eben an der Berufsschule erwerben würde.

05:21.600 --> 05:25.600
Und hier ist man halt stattdessen dann im Studium an einer Hochschule und macht dort seinen Bachelor.

05:25.600 --> 05:30.600
Das ist ja das, was du den Weg, den du gewählt hast, dieses duale Studium.

05:30.600 --> 05:37.600
Genau. Und die duale Ausbildung ist es denn nicht so, dass das immer so läuft,

05:37.600 --> 05:41.600
also dass man einen Teil Berufsschule hat und einen Teil im Betrieb ist.

05:41.600 --> 05:45.600
Also so habe ich es zumindest kennengelernt, aber da ich das nicht durchlaufen bin,

05:45.600 --> 05:48.600
bin ich natürlich da auch nur Zaungast.

05:48.600 --> 05:51.600
Also in der dualen Ausbildung ist das so, aber es gibt halt auch noch andere Ausbildungen.

05:51.600 --> 05:53.600
Es gibt auch rein schulische Ausbildungen zum Beispiel,

05:53.600 --> 05:57.600
die man dann zum Beispiel sogar mit Schulgeld selber noch finanzieren muss und solche Sachen.

05:57.600 --> 06:02.600
Und die klassische, gute deutsche duale Ausbildung, die wir ja auch oft beneidet werden im Ausland,

06:02.600 --> 06:06.600
so wie das sagt man das oft, das ist halt dann Berufsschule plus Unternehmen.

06:06.600 --> 06:09.600
Und man kriegt halt währenddessen auch eine Ausbildungsvergütung vom Unternehmen.

06:09.600 --> 06:12.600
Man wird also dafür bezahlt und kann dann hoffentlich sich eine Wohnung leisten, ein Auto etc.

06:12.600 --> 06:14.600
Und es gibt aber auch andere Möglichkeiten.

06:14.600 --> 06:19.600
Für die IT, das gibt es zum Beispiel die Ausbildung zum Informationstechnischen Assistenten.

06:19.600 --> 06:21.600
Das ist eine rein schulische Ausbildung.

06:21.600 --> 06:26.600
Und danach hat man jetzt auch einen etwas gering wertigeren Abschluss als bei der normalen Ausbildung,

06:26.600 --> 06:29.600
aber nur als Vergleich, also es muss nicht immer im Unternehmen sein.

06:29.600 --> 06:31.600
Okay, verstanden.

06:31.600 --> 06:38.600
Und Marcel, bist du denn dann, hast du dann oder bist du diesen Weg der dualen Ausbildung gegangen?

06:38.600 --> 06:39.600
Ganz genau, ja.

06:39.600 --> 06:44.600
Also ich bin ausgebildeter und IRK geprüfter Informatik-Kaufmann.

06:44.600 --> 06:48.600
Wie man so heute schon so schön sagt, das gibt es heute gar nicht mehr.

06:48.600 --> 06:51.600
So wie ich das jetzt, Stefan, du kannst mich da korrigieren.

06:51.600 --> 06:57.600
Was ist das heute für Kaufmann für digitales, oh Gott.

06:57.600 --> 06:59.600
Nee, Digitalisierungsmanagement.

06:59.600 --> 07:00.600
Digitalisierungsmanagement.

07:00.600 --> 07:01.600
IT-Systemmanagement.

07:01.600 --> 07:03.600
Ja, das hätte ich niemals geschafft.

07:03.600 --> 07:09.600
Das habe ich vorhin nachgeguckt, aber als ich damals die Prüfung abgelegt habe, das war 2005,

07:09.600 --> 07:11.600
da hieß das noch Informatik-Kaufmann.

07:11.600 --> 07:15.600
Da gab es den IT-System-Kaufmann und den Informatik-Kaufmann.

07:15.600 --> 07:21.600
Der Informatik-Kaufmann ist, glaube ich, 2020 abgelöst worden, wenn ich das richtig recherchierte.

07:21.600 --> 07:22.600
Ja, genau.

07:22.600 --> 07:24.600
Und ich habe das durchlaufen.

07:24.600 --> 07:30.600
So wie man das kennt und das Ausland uns offensichtlich beneidet, habe ich gerade auch was gelernt.

07:30.600 --> 07:40.600
Also dann eine Phase im Betrieb, in der verschiedene Abteilungen durchlaufen werden und dann eben klassische Berufsschule

07:40.600 --> 07:45.600
oder verschiedene Dinge von Wirtschaft.

07:45.600 --> 07:50.600
Wir hatten sogar Englisch einfache IT-Systeme, vernitzte IT-Systeme und so weiter.

07:50.600 --> 07:52.600
Kommen wir später noch mal zu, abgefrühstückt werden.

07:52.600 --> 07:58.600
Und so hat man die Sicht auf die Praxis und dann die Sicht auf die Theorie.

07:58.600 --> 08:07.600
Ja, das ist ja irgendwie das sehr coole oder deshalb auch Leute, die ich kenne, die irgendwie eine andere,

08:07.600 --> 08:14.600
also du alle Studium gemacht haben oder so immer sagen, ja, das ist so mega cool, weil du halt im Betrieb wirklich das praktische lernst

08:14.600 --> 08:17.600
und in der Ausbildung hast du das ja ganz stark.

08:17.600 --> 08:23.600
Ich glaube, die meisten Ausbildungsberufe sind ja dann wirklich sehr fokussiert auf den betrieblichen Teil.

08:23.600 --> 08:27.600
Weiß nicht, so eine Teilung, vier Tage bist du im Betrieb.

08:27.600 --> 08:30.600
Einen Tag gehst du, bist du an der Schule oder ähnliches, das glaube ich.

08:30.600 --> 08:33.600
Oder hört man öfter, können vielleicht gleich nochmal vertiefen.

08:33.600 --> 08:39.600
Bevor wir da aber reingehen, haben wir ja jetzt schon so ein paar Berufsbilder kennengelernt.

08:39.600 --> 08:43.600
Ich muss sagen, ich bin halt ehrlich ganz, ganz schlecht, was das anbelangt.

08:43.600 --> 08:50.600
So das eine oder andere hat man schon mal gehört, Fachinformatiker, Informatikerinnen ist immer so das eine.

08:50.600 --> 08:58.600
Und dann gibt es da nochmal die Unterscheidung zwischen irgendwie, ja, das ist glaube ich mal ganz interessant, sich das mal anzuhören.

08:58.600 --> 09:05.600
Vielleicht so an dich, Stefan, die Frage, wir haben jetzt schon gehört, manche Sachen haben sich in den letzten Jahren weiterentwickelt.

09:05.600 --> 09:14.600
Was sind denn eigentlich so die Berufsbilder, die wir haben, die aktuell ausgebildet werden im Bereich rund um die Informatik?

09:14.600 --> 09:18.600
Ja, es sind aktuell tatsächlich sieben verschiedene Berufe.

09:18.600 --> 09:23.600
Es gibt in Deutschland über 300 verschiedene Ausführungsberufe und sieben davon sind den IT-Berufen zuzuordnen.

09:23.600 --> 09:30.600
Bis 2020 gab es die guten alten Fachinformatiker, Informatiker auf meine C3, aber die werden jetzt halt nicht mehr ausgebildet.

09:30.600 --> 09:36.600
Die neuen Berufe, sieben an der Zahl, es gibt einmal den Fachinformatiker, der vier Fachrichtungen hat.

09:36.600 --> 09:42.600
Einmal die Anwendungsentwicklung, das ist der klassische Programmierer, dann gibt es die Systemintegration, das ist der klassische Admin

09:42.600 --> 09:46.600
und jetzt gibt es seit 2020 noch zwei neue Fachrichtungen und zwar einmal digitale Vernetzung.

09:46.600 --> 09:54.600
Das geht so ein bisschen in Richtung IoT, vielleicht eher so ein bisschen Administration und dann gibt es noch einmal die Daten- und Prozessanalyse

09:54.600 --> 09:59.600
und das geht eher in den Bereich Machine Learning, KI, von der Idee her zumindest.

09:59.600 --> 10:04.600
Und man kann aber auch, steckt auch mit drin, Prozessanalyse, also zum Beispiel den klassischen SAP-Konsultant,

10:04.600 --> 10:07.600
könnte man da auch irgendwie mit ausbilden, wenn man wollte.

10:07.600 --> 10:11.600
Das sind die vier Fachrichtungen des Fachinformatikers und gleich dazu ganz kurz,

10:11.600 --> 10:17.600
der Fachinformatiker ist inzwischen zumindest unter den männlichen Azubis jetzt zweit beliebteste Berufe in Deutschland.

10:17.600 --> 10:21.600
Das heißt, es gibt fast 16.000 neue Ausbildungsabschlüsse jetzt im letzten Jahr.

10:21.600 --> 10:25.600
Darüber ist eigentlich nur noch der Kfz-Mechachtroniker und das war es dann auch.

10:25.600 --> 10:27.600
Also das ist wirklich aufgestiegen in den letzten Jahren.

10:27.600 --> 10:32.600
Bei den Frauen ist der Anteil leider ein bisschen kleiner, da sind wir unter 10%, ist aber auch gewachsen in den letzten Jahren.

10:32.600 --> 10:37.600
Und es gibt aber noch drei andere IT-Berufe und die beiden haben wir gerade schon gehört, die beiden kaufmännischen Berufe,

10:37.600 --> 10:42.600
ist einmal für Digitalisierungsmanagement und IT-Systemmanagement.

10:42.600 --> 10:45.600
Digitalisierungsmanagement ist eher so im Bereich, ja, wie soll man das erklären,

10:45.600 --> 10:51.600
wenn man jetzt zum Beispiel im Supermarkt arbeitet und irgendwie den Prozess definiert, wenn man Ware nachbestellen muss oder so.

10:51.600 --> 10:55.600
Das steckt ja auch IT mit drin, ist aber auch ganz viel kaufmännischer Anteil.

10:55.600 --> 11:00.600
Und IT-Systemmanagement ist eher so die Gegenseite, wenn ich zum Beispiel irgendwie im Computer verkaufe.

11:00.600 --> 11:02.600
Die gibt es ja auch noch, die Menschen, die müssen auch irgendwie ausgebildet werden,

11:02.600 --> 11:04.600
das ist dann eher vielleicht direkter Kundenkontakt.

11:04.600 --> 11:09.600
Und da gibt es noch einen Beruf, das ist der IT-System Elektroniker, den gibt es auch seit 1997,

11:09.600 --> 11:11.600
wie die anderen IT-Berufe übrigens auch.

11:11.600 --> 11:16.600
Und das ist dann erstmal ganz blöd gesagt der Strippenzier, der darf auch mal was blöten, der darf auch mal Strom anschließen.

11:16.600 --> 11:23.600
Der hat tatsächlich auch Elektrotechnik als Speerfach, das heißt, wenn man da durchfällt, dann darf man auch nicht arbeiten in dem Beruf.

11:23.600 --> 11:26.600
Das ist so das, was diesen Beruf so ein bisschen besonders macht.

11:26.600 --> 11:31.600
Und das ist halt der, der zum Beispiel bei der Telekom arbeitet oder irgendwie die Schalzschränke verkabelt und solche Sachen.

11:31.600 --> 11:36.600
Also das ist sehr, sehr hardwarelastig. Während die Systemintegration, da kann man auch mal vielleicht ein Server aufbauen,

11:36.600 --> 11:41.600
aber es geht heutzutage dann halt eher um Virtualisierung oder halt Windows-Administration, Linus-Administration,

11:41.600 --> 11:43.600
um das mal so ein bisschen abzugrenzen.

11:43.600 --> 11:50.600
Das sind die sieben Berufe, die kann man jetzt seit 2020 in der Ausbildung machen, klassischerweise drei Jahre lang.

11:50.600 --> 11:57.600
Was dazu gekommen ist, ist eine Abschlussprüfung, die nach der Hälfte der Ausbildung nach 18 Monaten für alle Berufe identisch ist.

11:57.600 --> 12:03.600
Und das ist gleich auch so ein bisschen das Problem, weil das heißt, in der ersten Hälfte der Ausbildung lernen eigentlich alle so ein bisschen dasselbe.

12:03.600 --> 12:06.600
Und erst danach geht es so ein bisschen in die Vertiefung. Das war vorher anders.

12:06.600 --> 12:10.600
Aber ja, das ist erstmal so zum groben Abriss, diese Berufe gibt es.

12:10.600 --> 12:17.600
Ja, sehr spannend. Also ich glaube, gerade was das Thema Software anbelangt, sind dann die Sachen, die du gerade am Anfang genannt hast,

12:17.600 --> 12:19.600
natürlich sehr interessant.

12:19.600 --> 12:29.600
Also da wir ja meist nicht über Hardware hier im Podcast sprechen, glaube ich, vielleicht für die eine oder andere Zuhörerinnen und Zuhörer,

12:29.600 --> 12:31.600
die die interessanteren Punkte.

12:31.600 --> 12:33.600
Und ich glaube, da gehen wir auch mal drauf ein.

12:33.600 --> 12:42.600
Aber was ich jetzt total spannend finde, was du gesagt hast, am Anfang ist das erstmal alles identisch für all diese Berufe oder für viele dieser Berufe,

12:42.600 --> 12:48.600
um am Ende auch eine gleiche Prüfung ablegen zu können.

12:48.600 --> 12:54.600
Was ist denn dann so der Kernteil, auf den man, also der da unterrichtet wird?

12:54.600 --> 12:57.600
Ja, also um das kurz richtigzustellen.

12:57.600 --> 12:59.600
Also das ist der erste Teil der sogenannten gestreckten Abschlussprüfung.

12:59.600 --> 13:01.600
Der ist für alle Berufe identisch.

13:01.600 --> 13:05.600
Das Thema im Gebiet heißt Einrichten eines IT-gestützten Arbeitsplatzes.

13:05.600 --> 13:07.600
Also maximal absackt.

13:07.600 --> 13:09.600
Und auf der anderen Seite kann man sich auch ein bisschen was hervorstellen.

13:09.600 --> 13:14.600
Jetzt mal ganz glücklich gesagt, wie baue ich ein PC zusammen und wie schreibe ich die Rechnung dafür und solche Sachen.

13:14.600 --> 13:16.600
Und das ist auch gleich so ein Problem.

13:16.600 --> 13:20.600
Da bin ich ganz, ganz, ganz viel in der Breite und ganz wenig in der Tiefe.

13:20.600 --> 13:24.600
Das heißt, ich muss rechnen, ja, wie gucke ich mir ein Angebot an?

13:24.600 --> 13:26.600
Was ist der beste PC für mein Geld?

13:26.600 --> 13:28.600
Dann, wie rede ich mit den Kunden?

13:28.600 --> 13:30.600
Wie halte ich eine Präsentation?

13:30.600 --> 13:31.600
Ach ja, was ist übrigens Rate?

13:31.600 --> 13:33.600
Rate 0, 1 und 5, unterscheid doch mal eben.

13:33.600 --> 13:35.600
Und USV-Anlagen.

13:35.600 --> 13:37.600
Und ach ja, so ein bisschen Coden muss man auch noch.

13:37.600 --> 13:39.600
Und ja, mindestens Salim muss man natürlich auch können.

13:39.600 --> 13:42.600
Also so ein wirklich ganz, ach ja, und Elektrotechniker, wie du vergessen hast, genau dazu.

13:42.600 --> 13:46.600
Also es ist wirklich so aus allen Berufen irgendwie so ein bisschen was.

13:46.600 --> 13:48.600
Und es ist immer so ein bisschen, wenn man die Prüfung sich anguckt,

13:48.600 --> 13:51.600
wenn man Pech hat, kriegt man halt E-Technik und ja, wenn man Glück hat, ein bisschen Code.

13:51.600 --> 13:54.600
Aber es ist halt, ja, je nachdem, welchen Beruf man hat.

13:54.600 --> 13:57.600
Und da kann man jetzt gut drüber streiten, ob es besser oder schlechter ist als früher.

13:57.600 --> 14:01.600
Ich persönlich finde das nicht so gut, weil die Azubis müssen halt ganz viel Kram lernen,

14:01.600 --> 14:04.600
der für ihren eigentlichen Beruf nicht ganz so interessant ist,

14:04.600 --> 14:06.600
um nicht zu sagen, so gut wie gar nicht.

14:06.600 --> 14:10.600
Also im ersten Teil der Abschlussprüfung kommt so gut wie gar kein Code mehr dran.

14:10.600 --> 14:12.600
Wenn man das überhaupt, dann ist das mal so ein zehnteiliges Power-Schild-Skript.

14:12.600 --> 14:14.600
Dann muss man sagen, wo der Fehler ist.

14:14.600 --> 14:16.600
Und da steht da so was wie größer 100, müsste größer 1000 sein.

14:16.600 --> 14:18.600
Also das ist wirklich sehr, sehr, sehr oberflächlich, ja.

14:18.600 --> 14:23.600
Und der Teil, der für die Berufe wirklich interessant ist, hat sich dann auf den zweiten Teil der Abschlussprüfung verlegt.

14:23.600 --> 14:25.600
Da muss man ein komplettes Projekt selber umsetzen.

14:25.600 --> 14:28.600
Das heißt, Amings-Domäklern müssen auch wirklich fast programmieren,

14:28.600 --> 14:32.600
aber nicht nur programmieren, sondern auch planen, entwerfen, Datenbank gestalten, etc.

14:32.600 --> 14:37.600
Und dann halt noch drei schriftliche Prüfungen obendrauf, wo es dann aber wirklich auch um moderne Themen geht

14:37.600 --> 14:43.600
inzwischen wie zum Beispiel auch Unitests, die man da schreiben muss, oder Klassiker, OML-Diagramme, Zeichnen, ER-Modell, solche Sachen.

14:43.600 --> 14:46.600
Also das ist dann schon Hardcore-Software-Entwicklungen, würde ich schon sagen.

14:46.600 --> 14:52.600
Aber der erste Teil ist halt ja von allem so ein bisschen was, aber halt relativ oberflächlich einfach.

14:52.600 --> 14:55.600
Das muss man dazu sagen.

14:55.600 --> 15:04.600
Der erste Teil hört sich auf jeden Fall an, als würden sich alle Freunde, Verwandte und die Nachbarn damit abdecken lassen mit ihren IT-Problemen.

15:04.600 --> 15:09.600
Was aber natürlich dann nicht so hilfreich ist, wie du schon sagst, im Beruf.

15:09.600 --> 15:20.600
Wie ist das dann, also würdest du sagen, oder das gerade im betrieblichen Umfeld dann natürlich diese Vertiefungen sehr, sehr stark stattfinden.

15:20.600 --> 15:28.600
Also es kommt wahrscheinlich, oder so stelle ich es mir vor für die Leute, die halt in dem Bereich sich dann irgendwie ausbilden lassen,

15:28.600 --> 15:33.600
kommt es ganz stark auf den Betrieb an, indem du bist, um dann auch wirklich die Spezialisierung zu haben.

15:33.600 --> 15:37.600
Marcel, du nix, schon, wie war das für dich damals?

15:37.600 --> 15:44.600
Das erste, woran ich gerade denken musste, ist so die verschiedenen Leuten, die wir in der Klasse in der Berufsschule hatten.

15:44.600 --> 15:54.600
Und da hängt es oder hängt es wirklich sehr, sehr, sehr stark davon ab, was sie denn im Betrieb so gemacht haben, in welchen Betrieb sie dann angestellt waren.

15:54.600 --> 16:01.600
Also ich beispielsweise, ich war bei der Firma Braun, die kennt man mit den Zahnbürsten und den Asierern.

16:01.600 --> 16:12.600
Andere Leute waren bei Fresenius und ich habe sehr viele Abteilungen durchlaufen, indem ich VWA Markus geschrieben habe, aber das ist nochmal eine andere Geschichte.

16:12.600 --> 16:16.600
Also ich hatte die Möglichkeit, viele verschiedene Dinge kennenzulernen.

16:16.600 --> 16:25.600
Und andere waren bei einem Händler von Computer Hardware und die haben dann den ganzen Tag ihre Computer zusammengeschraubt.

16:25.600 --> 16:35.600
Und das war es dann. Und deswegen kann ich nur sagen, auch wenn das ein bisschen ausgelutscht klingt, wenn man sich dafür entscheidet, so eine Ausbildung zu beginnen,

16:35.600 --> 16:43.600
dann sollte man sich doch eher eine größere Firma als eine kleinere aussuchen, weil deine Perspektiven einfach besser sind.

16:43.600 --> 16:49.600
Weil du verschiedene Dinge sehen kannst, so kannst du dich ein bisschen mehr ausprobieren, du wirst auch tendenziell mehr unterstützt.

16:49.600 --> 16:56.600
Also das ist jetzt meine Erfahrung, die ist auch schon ein bisschen älter, aber ich würde vermuten, dass das heute ähnlich ist.

16:56.600 --> 17:04.600
Was ich vorhin nicht gesagt habe, ich habe auch erfolgreich eine Ausbildung abgebrochen bei einer Webagentur davor.

17:04.600 --> 17:09.600
Und da war es auch so, dass ich eher so ins kalte Wasser geworfen wurde.

17:09.600 --> 17:16.600
Weswegen ich mich, als ich dann zu Braun gewechselt bin, auch eher gefreut habe, dass man eine gewisse, also ich habe so einen Ausbildungscenter

17:16.600 --> 17:21.600
und dann hat man verschiedene Aufgaben auch bekommen.

17:21.600 --> 17:30.600
Wir haben auch, ich glaube, im zweiten oder dritten Jahr haben wir dann diejenigen, die dann nachkamen, auch geschult in bestimmten Dingen.

17:30.600 --> 17:32.600
Also man hat einfach eine ganz andere Basis gehabt.

17:32.600 --> 17:42.600
Und abhängig davon, was da so passiert ist, kamen dann auch Leute wieder in die Berufsschule und gesagt haben, ach, das hatten wir, ich weiß gar nicht mehr, was das ist.

17:42.600 --> 17:47.600
Und ich habe eigentlich die ganze Zeit nur Mäuse sortiert, ich übertreibe jetzt ein bisschen.

17:47.600 --> 17:52.600
Und deswegen ist das eine ganz stark abhängige Geschichte bei uns.

17:52.600 --> 18:00.600
Um das noch kurz einzuwerfen, war es auch so, dass die Berufsschulklasse sehr durchmischt war von diesen verschiedenen Berufen, von denen wir das gerade gehört haben.

18:00.600 --> 18:03.600
Und wir haben alle im Prinzip das Gleiche in der Berufsschule gehabt.

18:03.600 --> 18:06.600
Wir haben aber unterschiedliche Ausrichtungen gehabt.

18:06.600 --> 18:12.600
Und dann musste man sich dann irgendwie da was rauspicken oder besonders gut aufpassen oder, oder, oder.

18:12.600 --> 18:17.600
Das hatte der ein oder andere als ziemlich undankbar empfunden.

18:17.600 --> 18:23.600
Aber unterm Strich bleibt, man muss sich den Betrieb gut aussuchen, wo man das macht.

18:23.600 --> 18:26.600
Das würde ich direkt ergänzen aus meiner Sicht als ERK-Brüfer.

18:26.600 --> 18:31.600
Und ich würde das gar nicht auf groß oder klein einschrecken, sondern ich würde mir einfach den Unternehmen angucken, wie die ausbilden.

18:31.600 --> 18:37.600
Ich habe super Azubis aus kleinen Unternehmen, aber wie du auch schon gesagt hast, wenn man da so der, der, der Azubi in einem 5-Mann-Team ist

18:37.600 --> 18:43.600
und den ganzen Tag irgendwie nur irgendwie Feuer löschen muss, da wird man halt sehr schlecht ausgebildet, vermutlich, weil die Leute einfach keine Zeit haben.

18:43.600 --> 18:45.600
Und ich glaube, das ist das Hauptproblem.

18:45.600 --> 18:49.600
Haben die Ausbilder und Ausbilderinnen Zeit für die Azubis und nehmen die sich die und dürfen die sich nehmen.

18:49.600 --> 18:55.600
Und das kann aber in einem großen Unternehmen auch genauso sein, dass man da dann eher eine Nummer ist und halt der 40. Azubi, der halt auch noch irgendwie mitläuft und so.

18:55.600 --> 18:57.600
Das habe ich also auch schon oft genug gesehen.

18:57.600 --> 19:02.600
Ich würde mich genauer gucken, was bietet einem das Unternehmen. Und zweiter Punkt, was du gesagt hast mit den durchmischten Berufsschulklassen,

19:02.600 --> 19:09.600
sehe ich leider auch ganz oft an kleineren Berufsschulen, wo halt nicht genug IT-Ler da sind, um eine Klasse zu füllen.

19:09.600 --> 19:15.600
Zum Beispiel bei der Berufsschule in Oldenburg, mit der wir zusammenarbeiten, gibt es alleine 3 komplette Klassen, die nur aus Anwendungsentwicklungen bestehen.

19:15.600 --> 19:22.600
Es gibt aber auch kleine Berufsschulen, die dann, ich sage mal, auf dem Land sind, wo die halt überhaupt, wenn dann gerade mal 20 Leute zusammenkriegen,

19:22.600 --> 19:24.600
und da sind da halt alle 7 Berufe drin.

19:24.600 --> 19:28.600
Und da können natürlich dann die Berufsschullehrer gar nicht im Detail drauf eingehen, was die Leute brauchen.

19:28.600 --> 19:32.600
Das heißt, die machen dann wirklich nur ganz oberflächlich, wenn überhaupt, mal Programmierung.

19:32.600 --> 19:36.600
Und bei den Anwendungsentwickler-Klassen, die machen natürlich alles, was die für die Prüfung auch brauchen.

19:36.600 --> 19:41.600
Also da muss man wirklich ganz, ganz gut aufpassen, welches Unternehmen nehme ich und welcher Berufsschule arbeiten die zusammen.

19:41.600 --> 19:45.600
Da sehen wir dann in der Prüfung immer, wenn ein Zumbeiden nicht passt.

19:45.600 --> 19:47.600
Das geht nach hinten los.

19:47.600 --> 19:56.600
Hans, du und Vanessa, ihr habt ja auch darüber gesprochen, wieso oder wie es dazu kam, dass ihr euch für eben euren Weg entschieden habt.

19:56.600 --> 20:07.600
Also genau, Vanessa wollte ja irgendwie, genau so für sie war das ja klar, dass sie studieren möchte und auch mal so quasi weg von ihrem Heimatort.

20:07.600 --> 20:10.600
Bei dir war es ja so ein bisschen wie bei mir.

20:10.600 --> 20:17.600
Du hast erzählt, du wolltest zwar eigentlich auch mal studieren, auch in Fortwangen, das hatte ich mir auch angeguckt, sowas bei mir auch.

20:17.600 --> 20:20.600
Und dann hast du aber erstmal Praktiken gemacht, genau so was für mich auch.

20:20.600 --> 20:23.600
Dann hast du da Geldscheine gesehen und bist einfach da geblieben.

20:23.600 --> 20:32.600
Wie kam es bei euch beiden, dass ihr eben den Weg gewählt habt, den ihr gewählt habt, war das auch vielleicht eher ein bisso Zufall?

20:32.600 --> 20:41.600
Oder habt ihr da so Rollmodels gehabt oder habt ihr da irgendwie Kontakten zu gehabt und fand das gut? Wie war das bei euch?

20:41.600 --> 20:43.600
Marcel, willst du starten?

20:43.600 --> 20:51.600
Gerne. Also bei mir war es so, ich komme jetzt nicht aus dem Elternhaus, wo das Geld auf Bäumen wächst.

20:51.600 --> 20:57.600
Wer kommt auch schon her, aber dieses Thema Geld war von Anfang an ein Thema.

20:57.600 --> 21:05.600
Und ich hatte wenig Ambitionen, noch neben dem Studium auch noch was zu arbeiten.

21:05.600 --> 21:12.600
Und um ehrlich zu sein, war das auch eine gewisse Zeit, in der ich eigentlich so gar nicht wusste, ob ich was überhaupt machen will.

21:12.600 --> 21:21.600
Ich habe so 2000, nachdem ich eigentlich immer nur meine Zeit mit Basketball verbracht habe, irgendwann mal so ein Computer entdeckt

21:21.600 --> 21:29.600
und habe dann sehr relativ schnell angefangen, HTML und Gedöns zu machen und Perl und PHP und was weiß ich.

21:29.600 --> 21:31.600
Und dann dachte ich, wow, das könntest du mal machen.

21:31.600 --> 21:39.600
Und dann war die Option, na ja, dann hättest du auch ein bisschen was auf dem Konto, könntest du vielleicht ein Auto leisten und so weiter.

21:39.600 --> 21:46.600
Das war einfach eine sehr faule Entscheidung damals, muss ich wirklich so sagen.

21:46.600 --> 21:51.600
Meine Mutter war froh, ich glaube, Hauptsache, ich mache irgendwas.

21:51.600 --> 21:54.600
Und da war das Studium ein bisschen weiter weg.

21:54.600 --> 22:02.600
Und dann habe ich das dann einfach so mal begonnen, weil ich dann glücklich war, wenn ich das irgendwie so ein bisschen weiter treiben konnte.

22:02.600 --> 22:09.600
Das ist jetzt nicht besonders sophisticated, aber die Wahrheit, wie es gewesen ist.

22:09.600 --> 22:14.600
Also es hat hauptsächlich daran gelegen, dass ich gewusst habe, da kommt ein bisschen was bei Rom.

22:14.600 --> 22:17.600
Naja, ich glaube, das ist ja auch ein valides Argument.

22:17.600 --> 22:21.600
Also ich meine, so ein Studium muss man sich auch irgendwie leisten können.

22:21.600 --> 22:29.600
Es wird ja auch immer teurer, also je nachdem, wo man studiert, auch die WGs werden teurer und so.

22:29.600 --> 22:37.600
Und genau, wenn man irgendwie ein Cashflow bei der Ausbildung generieren kann, ist das natürlich echt viel freier.

22:37.600 --> 22:44.600
Dazu fällt mir gerade noch ein, weil du Romodel gesagt hast, mein Bruder, ich habe einen älteren Bruder für Jahre,

22:44.600 --> 22:48.600
hatte bei Braun schon die Ausbildung begonnen zum Mechatroniker.

22:48.600 --> 22:54.600
Und dann ging das so in diese Richtung, schon ein bisschen den Pfad plattgetreten.

22:54.600 --> 23:00.600
Und dann bin ich dann auch, wenn es eine andere Richtung ist, aber in einer gewissen Weise dann gefolgt.

23:00.600 --> 23:04.600
Und bei dir, Stefan?

23:04.600 --> 23:09.600
Ja, ich bin ein klassisches Kind der 80er, aufgewachsen mit C64,

23:09.600 --> 23:16.600
dann Wolfenstein 3D auf dem grünen weißen Bildschirm, auf dem Laptop gespielt und seitdem PC-Fanatiker.

23:16.600 --> 23:20.600
Und ich habe dann während der Schulzeit angefangen, selber ein bisschen was zu programmieren, klassisch,

23:20.600 --> 23:24.600
die eigene Website mit Galerie und so weiter und so, eingestiegen.

23:24.600 --> 23:26.600
Hat mir jetzt sehr, sehr SPRP der Klassiker.

23:26.600 --> 23:29.600
Und ich gehöre zur Generation, ich musste noch Zivildienst machen.

23:29.600 --> 23:33.600
Und in dem einen Jahr habe ich gedacht, was kann ich außer dieser sehr sinnvollen Tätigkeit unbestritten,

23:33.600 --> 23:37.600
aber was kann ich noch für meine Karriere machen und habe nebenbei noch so eine Microsoft-Zertifizierung gemacht

23:37.600 --> 23:40.600
im Administrationsbereich und mir das so ein bisschen finanzieren lassen,

23:40.600 --> 23:42.600
das kommt auch machen während des Zivildienstes.

23:42.600 --> 23:44.600
Und habe dann mal geguckt, was kann ich danach machen?

23:44.600 --> 23:46.600
Also, dass ich IT studieren will oder irgendwas war auf jeden Fall klar

23:46.600 --> 23:48.600
und ich wollte auf jeden Fall auch Software entwickeln werden.

23:48.600 --> 23:50.600
Und habe dann geguckt, will ich irgendwo studieren gehen?

23:50.600 --> 23:53.600
Da haben wir das Problem, wie gerade auch Geld, da muss man sich leisten können

23:53.600 --> 23:56.600
und meine Eltern waren da jetzt auch nicht so wohlhabend.

23:56.600 --> 23:59.600
Deswegen wollte ich gerne was machen, wo ich direkt auf eigenen Füßen stehen kann

23:59.600 --> 24:02.600
und habe dann gesehen, okay, Studium will ich eigentlich machen, auch Abitur gemacht.

24:02.600 --> 24:04.600
Ich möchte gerne studieren.

24:04.600 --> 24:07.600
Aber abends noch, weiß ich nicht, in der Bar stehen, naja, ist nicht so mein Ding.

24:07.600 --> 24:10.600
Und ich hatte jetzt den Vorteil, dass gerade bei mir im Wohnort

24:10.600 --> 24:14.600
eine kleine Hochschule existiert, die das duale Studium angeboten hat.

24:14.600 --> 24:17.600
Und im Bereich Wirtschaftsinformatik, man dort eben die Ausbildung,

24:17.600 --> 24:21.600
in meinem Fall zum Anwendungsentwickler, plus den, damals war es noch ein Diplom,

24:21.600 --> 24:23.600
heute dann ein Bachelor machen konnte.

24:23.600 --> 24:25.600
Und währenddessen kriegt man die ganze Zeit halt Kohle.

24:25.600 --> 24:27.600
Das ist eigentlich eine ziemlich coole Sache.

24:27.600 --> 24:30.600
Auch in der Zeit, während man im Studium ist, also man ist null im Betrieb,

24:30.600 --> 24:32.600
aber kriegt halt durchgängig seine Ausbildungsverbütung,

24:32.600 --> 24:35.600
die je nachdem auch hier wieder draufgucken, in welchem Unternehmen man ist,

24:35.600 --> 24:38.600
weil es gibt ja keinen IT-Tarifvertrag oder so.

24:38.600 --> 24:41.600
Ich hatte jetzt das Glück, dass ich in der Versicherung arbeite.

24:41.600 --> 24:43.600
Das heißt, die haben mit den höchsten Tarifvertrag in der Ausbildung,

24:43.600 --> 24:45.600
den es so gibt in Deutschland.

24:45.600 --> 24:47.600
Wenn man woanders ist, dann kriegt man halt ein bisschen weniger.

24:47.600 --> 24:52.600
Aber heutzutage kriegt man da durchaus 1200 Euro brutto in der Ausbildung pro Monat

24:52.600 --> 24:54.600
und dann halt auch in der Zeit, wo ich studiere.

24:54.600 --> 24:56.600
Und ich meine, was Besseres gibt es ja gar nicht.

24:56.600 --> 24:58.600
Und ach ja, plus die Studiengebühren, die auch nicht ohne sind,

24:58.600 --> 25:03.600
da kommt mal für so ein Bachelor 25.000 Euro zusammen an Studiengebühren.

25:03.600 --> 25:05.600
Und die bezahlen die Unternehmen ja auch noch on top.

25:05.600 --> 25:07.600
Also das ist schon echt viel, was die da investieren.

25:07.600 --> 25:09.600
Und währenddessen kann man halt dann eigene Wohnung,

25:09.600 --> 25:12.600
vielleicht sogar noch ein Auto bei mir auf dem Land auch nicht unwichtig.

25:12.600 --> 25:14.600
Und das war eigentlich eine ganz coole Sache.

25:14.600 --> 25:15.600
Und so bin ich da reingekommen.

25:15.600 --> 25:18.600
Und ganz nebenbei halt auch noch in drei Jahren zwei Abschlüsse anstatt ein.

25:18.600 --> 25:21.600
Gut Wochenenden durchlehren muss man auch mal, keine Frage.

25:21.600 --> 25:24.600
Aber das war ein super Package.

25:24.600 --> 25:26.600
Und der Vorteil, das hatten wir eben schon gehört,

25:26.600 --> 25:28.600
ist halt drei Jahre im Unternehmen.

25:28.600 --> 25:29.600
Man arbeitet da schon.

25:29.600 --> 25:31.600
Man weiß, wie der Laden tickt, was man machen muss.

25:31.600 --> 25:33.600
Und kann nach den drei Jahren da auch dann einfach weiterarbeiten.

25:33.600 --> 25:36.600
Da muss ich nicht mehr irgendwie einarbeiten lassen oder sonst irgendwas.

25:36.600 --> 25:39.600
Also das war für mich eigentlich die perfekte Lösung.

25:39.600 --> 25:42.600
Wie ist das grundsätzlich eigentlich bei einer Ausbildung

25:42.600 --> 25:46.600
und auch darüber hinaus oder vielleicht auch im dualen Studium

25:46.600 --> 25:50.600
bindet man sich im Grunde genommen auch danach noch an diese Firma?

25:50.600 --> 25:54.600
Weil ich meine, du sagst schon gerade, da hängen Investments dran.

25:54.600 --> 25:56.600
Und die Firmen wollen das ja auch irgendwie,

25:56.600 --> 25:59.600
also einen gewissen Return of Investment dann auch wieder haben.

25:59.600 --> 26:02.600
Ja, bei der Ausbildung ist es nicht so.

26:02.600 --> 26:04.600
Da gibt es das eigentlich nicht, dass man gebunden wird.

26:04.600 --> 26:07.600
Da gibt es auch viele Firmen, die tatsächlich über Bedarf ausbilden

26:07.600 --> 26:09.600
und auch damit rechnen, dass Leute dann danach gehen

26:09.600 --> 26:10.600
und die auch gar nicht übernehmen wollen.

26:10.600 --> 26:13.600
Das ist tatsächlich dann einfach so, weil man halt ausbildet

26:13.600 --> 26:14.600
oder warum auch immer die das tun.

26:14.600 --> 26:17.600
Oder leider auch, weil es halt billige Arbeitskräfte sind.

26:17.600 --> 26:19.600
Das sind eher die schwarzen Schafe.

26:19.600 --> 26:23.600
Aber wenn ich so ein duales Studium anbiete, dann ist das üblicherweise so.

26:23.600 --> 26:26.600
Ich kenne ich es so von, inzwischen mit vier Hochschulen

26:26.600 --> 26:28.600
haben wir schon kooperiert, dass man danach so einen Vertrag macht,

26:28.600 --> 26:31.600
dass man sich meistens anderthalb oder zwei Jahre bindet.

26:31.600 --> 26:33.600
Wobei man trotzdem jederzeit kündigen kann.

26:33.600 --> 26:35.600
Allerdings muss man dann meistens die Studiengümbel zurückzahlen.

26:35.600 --> 26:37.600
Und wie gesagt, 20.000 direkt nach dem Studium.

26:37.600 --> 26:38.600
Ah, schwierig.

26:38.600 --> 26:40.600
Aber meistens ist es dann so, für jeden Monat, den ich bleibe,

26:40.600 --> 26:42.600
muss ich ein bisschen weniger zurückzahlen.

26:42.600 --> 26:44.600
Also wenn ich wollte, könnte ich da schon rauskommen.

26:44.600 --> 26:47.600
Aber ehrlicherweise die meisten, die gehen ja in das Unternehmen,

26:47.600 --> 26:49.600
laufen da ein Bewerbungsprozess durch,

26:49.600 --> 26:51.600
machen da ihre Ausbildung, werden da gut betreut.

26:51.600 --> 26:54.600
Die wollen eigentlich gar nicht unbedingt da weg.

26:54.600 --> 26:57.600
Weil das ist schon eine etwas emotionalere Bindung.

26:57.600 --> 26:59.600
Ich arbeite mit den Leuten drei Jahre jetzt schon zusammen.

26:59.600 --> 27:00.600
Die haben mich unterstützt, etc.

27:00.600 --> 27:02.600
Also es ist jetzt nicht so, dass die alle sagen,

27:02.600 --> 27:04.600
geil, endlich frei und woanders hin.

27:04.600 --> 27:06.600
Sondern sie suchen sich das Unternehmen ja auch schon gut aus.

27:06.600 --> 27:07.600
Und andersherum aber ja auch.

27:07.600 --> 27:09.600
Weil die Unternehmen wissen, wir investieren da echt

27:09.600 --> 27:11.600
zigtausende Euro über die Jahre.

27:11.600 --> 27:14.600
Plus die Ausbildungszeit der Ausbilder und Ausbilderinnen.

27:14.600 --> 27:16.600
Also für beide Seiten muss das natürlich passen.

27:16.600 --> 27:18.600
Und wenn man einen guten Bewerbungsprozess hat,

27:18.600 --> 27:20.600
dann kriegt man schon die Leute, die danach auch nicht sofort flüchten.

27:20.600 --> 27:25.600
Aber bei mir war es so, dass ich in eine

27:25.600 --> 27:27.600
unglückliche Zeit reingekommen bin.

27:27.600 --> 27:30.600
Also die Prüfung war in einer unglücklichen Zeit.

27:30.600 --> 27:33.600
Weil was viele wahrscheinlich wissen,

27:33.600 --> 27:37.600
Braun gehörte oder gehört seit 1967 schon zu Gillette.

27:37.600 --> 27:42.600
Und Procter & Gamble hatte Gillette um die Zeit 2005 gerade gekauft.

27:42.600 --> 27:44.600
Und dort wurden dann oder in dieser Zeit

27:44.600 --> 27:47.600
wurden dann eher mehr Stellen ab als aufgebaut.

27:47.600 --> 27:51.600
Und dann konnte ich dann, ich bin dann noch ein Jahr übernommen worden.

27:51.600 --> 27:56.600
Und dann haben sie gesagt, nee, dann ist dann vorbei.

27:56.600 --> 27:58.600
Das fand ich nicht so cool.

27:58.600 --> 28:01.600
Weil natürlich genauso wie das gesagt hat es Stefan,

28:01.600 --> 28:05.600
hat es sich da auch gewisse Weise auch dran gewöhnt.

28:05.600 --> 28:08.600
Ich bin da zwar in eine neue Abteilung gekommen, aber trotzdem.

28:08.600 --> 28:11.600
Und dann ging es dann munterlos, dann konnte ich

28:11.600 --> 28:13.600
anfangen was Neues zu suchen.

28:13.600 --> 28:16.600
Was jetzt nicht, es war jetzt nicht das Ende der Welt,

28:16.600 --> 28:18.600
aber cool war es nicht.

28:18.600 --> 28:20.600
Das kann ich so sagen.

28:20.600 --> 28:23.600
Also es gibt da keine, das ist jetzt für meine Begriffe,

28:23.600 --> 28:26.600
gibt es da keine Garantie, dass wenn man da die Ausbildung beginnt,

28:26.600 --> 28:29.600
dass man dann dort auch bleiben kann.

28:29.600 --> 28:31.600
Das ist ein gutes Stichwort.

28:31.600 --> 28:35.600
Also was ich halt immer merke in unseren IT-lastigen Berufen,

28:35.600 --> 28:40.600
dass die, dass Mitarbeiter nur Mitarbeiter auf Hochtouren gesucht werden.

28:40.600 --> 28:43.600
Im Moment sind wir jetzt gerade ein bisschen in einem Dip drin.

28:43.600 --> 28:46.600
Aber ich sag mal, die letzten Jahre ist es ja gerannt.

28:46.600 --> 28:51.600
Und jede Person, die irgendwie annähernd programmieren konnte,

28:51.600 --> 28:54.600
irgendwie wurde auch sehr gerne genommen.

28:54.600 --> 28:58.600
Und so denke ich mir halt, wenn man dann rauskommt aus einer Ausbildung,

28:58.600 --> 29:01.600
hat man ja schon ganz gute Grundlagen.

29:01.600 --> 29:05.600
Man steht eigentlich ja eigentlich mitten in einem Beruf sozusagen.

29:05.600 --> 29:08.600
Man weiß wie ein Berufsleben funktioniert.

29:08.600 --> 29:11.600
Marcel, jetzt sagst du trotzdem, es war zwar kein Weltuntergang,

29:11.600 --> 29:15.600
aber es war schon C, hat sich das auch dann auf,

29:15.600 --> 29:18.600
oder wie hast du diesen Bewerbungsprozess dann erlebt?

29:18.600 --> 29:22.600
Was waren da so die Probleme, die du hattest?

29:22.600 --> 29:27.600
Also was schwierig ist, ist das zu dieser,

29:27.600 --> 29:29.600
oder ich kann ja immer nur von mir erzählen.

29:29.600 --> 29:31.600
Also was zu dieser Zeit los war, war,

29:31.600 --> 29:35.600
dass ich in fast jedem Gespräch erklären musste,

29:35.600 --> 29:37.600
was ich denn da so gemacht habe.

29:37.600 --> 29:39.600
Und ich habe mir immer wieder angewöhnt zu sagen,

29:39.600 --> 29:42.600
das ist Wirtschaftsinformatik nur im Form von einer Ausbildung.

29:42.600 --> 29:44.600
So, und dann hat das immer einen gewissen Touch von wegen,

29:44.600 --> 29:47.600
ach sehr, oh ja, runtergedampft und nicht so richtig

29:47.600 --> 29:50.600
und nicht in der Tiefe und gar nicht so richtig.

29:50.600 --> 29:53.600
Und kannst du das dann oder können sie das dann überhaupt?

29:53.600 --> 30:00.600
Also ich bin da jetzt subjektiv gesehen stärker geprüft worden, glaube ich.

30:00.600 --> 30:06.600
Und hatte glaube ich auch deswegen so meine Problemchen überhaupt

30:06.600 --> 30:08.600
erst mal zu diesen Gesprächen zu kommen.

30:08.600 --> 30:12.600
Ich bin letzten Endes dann bei einem Hersteller

30:12.600 --> 30:17.600
für Hotelserwägungsoftware gelandet, wo ich nicht gerne war

30:17.600 --> 30:22.600
und hatte dann Glück, dass ich, so wie du das in meinem Leben läuft,

30:22.600 --> 30:27.600
dass ich innerhalb von dieser Zeit dann noch andere Kontakte geknüpft habe.

30:27.600 --> 30:29.600
Das heißt, es kamen externe Konsultants,

30:29.600 --> 30:33.600
mit denen ich viel besser konnte nach zwei Wochen als mit meinen internen Kollegen.

30:33.600 --> 30:36.600
Und so habe ich, sagen wir mal, diesen Absprung geschafft

30:36.600 --> 30:39.600
und dieses, oder ist jemand, der hat eine Ausbildung gemacht,

30:39.600 --> 30:41.600
das bin ich dann so ein bisschen los geworden,

30:41.600 --> 30:43.600
weil ich einfach verschiedene Dinge machen konnte

30:43.600 --> 30:48.600
und da auch jemand mein Potenzial gesehen hat

30:48.600 --> 30:51.600
und es dann irgendwann auch nicht mehr wichtig war,

30:51.600 --> 30:53.600
ob ich jetzt die Ausbildung gemacht hatte oder das Studium,

30:53.600 --> 30:56.600
aber es hat so ein bisschen angeheftet.

30:56.600 --> 30:58.600
Das kann ich für mich so sagen.

30:58.600 --> 31:00.600
Ob das heute noch so ist, weiß ich nicht.

31:00.600 --> 31:05.600
Für meine Begriffe ist es so, dass ich auch mit vielen Leuten zu tun habe,

31:05.600 --> 31:07.600
die ein Studium gemacht haben, wo ich dann denke,

31:07.600 --> 31:10.600
oh, da fehlt es ein bisschen.

31:10.600 --> 31:13.600
Vielleicht ist das auch die gekränkte Seele in mir,

31:13.600 --> 31:16.600
dass ich dir das so sieht.

31:16.600 --> 31:18.600
Also ich kann nur dafür werben,

31:18.600 --> 31:21.600
guckt euch die Leute, die das gemacht haben, gut an

31:21.600 --> 31:23.600
und versucht mich da diesen Stempel zu sehen,

31:23.600 --> 31:25.600
oh, da hat jemand kein Studium

31:25.600 --> 31:28.600
und das bedeutet das und das und das.

31:28.600 --> 31:30.600
Denn was ich auch dazu sagen kann,

31:30.600 --> 31:31.600
ich habe immer wieder im Studium,

31:31.600 --> 31:33.600
oder anders gesagt von Kollegen,

31:33.600 --> 31:35.600
die ein Studium gemacht hatten, immer wieder gehört,

31:35.600 --> 31:37.600
wie viel brauche ich schon von dem,

31:37.600 --> 31:39.600
was ich im Studium gelernt habe, 20%.

31:39.600 --> 31:41.600
Und ich habe auch nur bestimmte Absprünge geschafft,

31:41.600 --> 31:44.600
weil ich mich für bestimmte Dinge interessiert habe,

31:44.600 --> 31:47.600
die gar nicht uns beigebracht wurden

31:47.600 --> 31:51.600
innerhalb der regulären Ausbildung.

31:51.600 --> 31:53.600
So wie beispielsweise,

31:53.600 --> 31:56.600
ich das vorhin mit dem VWR-Markus gesagt habe,

31:56.600 --> 31:58.600
das ist keine reguläre Geschichte,

31:58.600 --> 32:01.600
sondern ich habe mich dann dadurch hervorgetan,

32:01.600 --> 32:03.600
dass ich mich da begeistert gezeigt habe

32:03.600 --> 32:08.600
und gesagt habe, hier, ich habe das bei einer Abteilung angefangen.

32:08.600 --> 32:11.600
Da war es immer so, großes SAP,

32:11.600 --> 32:13.600
ja, das ist alles so cool,

32:13.600 --> 32:15.600
aber es macht nicht das, was wir wollen.

32:15.600 --> 32:17.600
Also setzen wir jemanden hin,

32:17.600 --> 32:21.600
der irgendwie ein Excel oder ein Access-VBA-Monster schreibt

32:21.600 --> 32:22.600
und das war dann ich.

32:22.600 --> 32:24.600
Und deswegen glaube ich,

32:24.600 --> 32:28.600
das nochmal auf deine Frage zurückzukommen, Hans,

32:28.600 --> 32:31.600
dass das schwierig ist, so habe ich es erlebt,

32:31.600 --> 32:34.600
schwieriger als wenn man das Studium hat,

32:34.600 --> 32:37.600
aber auch trotzdem, wenn man, sagen wir mal,

32:37.600 --> 32:39.600
ein bisschen Feuer drunter macht

32:39.600 --> 32:41.600
und sich sehr begeistert,

32:41.600 --> 32:43.600
dass man da schon einen Sprung schaffen kann.

32:43.600 --> 32:46.600
Aber ich glaube, der Sprung, den man dann leisten muss,

32:46.600 --> 32:48.600
zumindest war das für mich so,

32:48.600 --> 32:51.600
ist höher als wenn du sagst,

32:51.600 --> 32:53.600
ich habe hier das Wirtschaftsinformatikstudium

32:53.600 --> 32:54.600
oder was auch immer.

32:54.600 --> 32:57.600
Aber bei mir war das ein Vergleich.

32:57.600 --> 32:59.600
Also ich glaube,

32:59.600 --> 33:01.600
heute am Markt ist die Ausbildung in Deutschland

33:01.600 --> 33:03.600
und deutschen Unternehmen sehr, sehr anerkannt,

33:03.600 --> 33:04.600
bin ich ganz ehrlich.

33:04.600 --> 33:06.600
Also es ist ein klassischer Ausführungsberuf,

33:06.600 --> 33:07.600
viele Unternehmen bilden selber aus,

33:07.600 --> 33:08.600
die wissen, was man da lernt.

33:08.600 --> 33:11.600
Wenn man das direkt mit einem Studienabsolventen vergleicht,

33:11.600 --> 33:13.600
was auch die Einschießgehälter angeht.

33:13.600 --> 33:16.600
Bachelor oder Ausbildung ist sehr, sehr, sehr ähnlich.

33:16.600 --> 33:18.600
Paar 100 Euro im Jahr vielleicht unterschiedlich,

33:18.600 --> 33:19.600
zumindest die Einschießgehälter.

33:19.600 --> 33:21.600
Also von daher, vom Niveau her

33:21.600 --> 33:22.600
und von der Anerkennung glaube ich,

33:22.600 --> 33:24.600
Stellenwert der Ausbildung ist gut inzwischen.

33:24.600 --> 33:25.600
Jetzt muss man gucken,

33:25.600 --> 33:27.600
du hast die Prüfung jetzt schon vor ein paar Jahren gemacht.

33:27.600 --> 33:29.600
Die IT-Brufe gibt es erst seit 1997.

33:29.600 --> 33:31.600
Inzwischen ist das einfach fest etabliert.

33:31.600 --> 33:32.600
Ich habe es vorhin erzählt,

33:32.600 --> 33:34.600
über 16.000 Abschlüsse allein im Fachinformatiker.

33:34.600 --> 33:36.600
Das heißt, das ist einfach bekannt,

33:36.600 --> 33:37.600
das ist eine solide Ausbildung.

33:37.600 --> 33:39.600
Und ich glaube, viele Unternehmen akzeptieren das

33:39.600 --> 33:41.600
und viele Stellenausschreibungen lauten auch

33:41.600 --> 33:43.600
irgendwie Studium oder ähnliche Ausbildung.

33:43.600 --> 33:44.600
Vergleichbare Ausbildung.

33:44.600 --> 33:47.600
Und was wir natürlich in einer beruflichen Ausbildung

33:47.600 --> 33:48.600
oben immer stehen haben,

33:48.600 --> 33:50.600
wo wir bilden, wie Leute aus,

33:50.600 --> 33:52.600
beruflich handlungsfähig werden.

33:52.600 --> 33:54.600
Und da muss man natürlich unterscheiden,

33:54.600 --> 33:55.600
worum geht es da?

33:55.600 --> 33:57.600
Klar, da lerne ich vielleicht akademisch arbeiten

33:57.600 --> 33:59.600
und so weiter, lerne ich auch ein bisschen programmieren.

33:59.600 --> 34:00.600
Aber wenn ich es einfach

34:00.600 --> 34:02.600
mit meinen eigenen dualen Studenten vergleiche,

34:02.600 --> 34:04.600
die ja das Zeug in der Uni lernen,

34:04.600 --> 34:06.600
klar, die haben da mal zwei Semester programmieren,

34:06.600 --> 34:07.600
aber eben nicht drei Jahre am Stück.

34:07.600 --> 34:09.600
Und vor allem nicht in real-world Beispiel

34:09.600 --> 34:11.600
echten Projekten mit Git und Maven.

34:11.600 --> 34:12.600
Und ich weiß nicht,

34:12.600 --> 34:13.600
was ich alles so brauche in Java.

34:13.600 --> 34:15.600
Dann kann ich vielleicht Objekt und Tierung,

34:15.600 --> 34:17.600
aber das ganze zurück drumherum,

34:17.600 --> 34:19.600
was ich heute einfach auch noch brauche,

34:19.600 --> 34:20.600
Build Tools und Jenkins.

34:20.600 --> 34:21.600
Und ich weiß nicht, was,

34:21.600 --> 34:23.600
da lernt man normalerweise nicht im Studium aus.

34:23.600 --> 34:25.600
Ich weiß nicht, auf Software sich irgendwie eingeschossen hat.

34:25.600 --> 34:27.600
Aber normale Leute lernen das nicht

34:27.600 --> 34:29.600
und fangen dann, wenn sie in so eine Nebenkommen,

34:29.600 --> 34:30.600
einfach dabei null an.

34:30.600 --> 34:32.600
Also von daher, ich mache eher die Erfahrung,

34:32.600 --> 34:34.600
wenn wir Einstellungs-Tests machen,

34:34.600 --> 34:35.600
dass die Leute aus der Ausbildung

34:35.600 --> 34:37.600
viel mehr Praxis-Nohau mitbringen,

34:37.600 --> 34:39.600
als Leute, die aus der Uni kommen.

34:39.600 --> 34:41.600
Auch da kommt es natürlich immer wieder auf den Einzelnen an,

34:41.600 --> 34:43.600
wie du schon sagtest, wenn ich mich in der Uni

34:43.600 --> 34:44.600
damit privat auseinandersetze,

34:44.600 --> 34:46.600
wie ich mein Bild automatisiere.

34:46.600 --> 34:48.600
Super, aber das machen halt auch nicht alle.

34:48.600 --> 34:51.600
Es gibt ja auch immer gute und schlechte Studierende

34:51.600 --> 34:53.600
und auch Azubis, also von daher muss man immer auf die Person gucken.

34:53.600 --> 34:55.600
Das kann man so pauschal immer schwer sagen.

34:55.600 --> 34:56.600
Von daher würde ich auch empfehlen,

34:56.600 --> 34:58.600
immer in irgendeiner Form von Einstellungs-Tests zu machen,

34:58.600 --> 35:00.600
was programmieren lassen oder was auch immer.

35:00.600 --> 35:02.600
Da muss man jetzt nicht die Big O Notation erklären.

35:02.600 --> 35:04.600
Das haben vielleicht Leute aus der Ausbildung nicht so oft gehört.

35:04.600 --> 35:06.600
Aber wenn man einen guten Ausbilder auszubilden hat

35:06.600 --> 35:08.600
und Ausbilder, der ihm das beibringt,

35:08.600 --> 35:09.600
kennt man das da auch.

35:09.600 --> 35:11.600
Ansonsten nur ganz kurz noch zur Berufsschule.

35:11.600 --> 35:14.600
Das Niveau dort ist natürlich in keinster Weise vergleichbar,

35:14.600 --> 35:15.600
irgendwie mit dem Studium.

35:15.600 --> 35:16.600
Weil man muss ganz klar sagen,

35:16.600 --> 35:18.600
auch die IT-Berufe haben formell

35:18.600 --> 35:20.600
als Eingangsvoraussetzung ein Realschulabschluss.

35:20.600 --> 35:22.600
Das heißt, da kann ich nicht auf einmal

35:22.600 --> 35:23.600
mit höherer Mathematik anfangen.

35:23.600 --> 35:24.600
Und du hattest vorhin schon gesagt,

35:24.600 --> 35:25.600
was du in der Schule hattest.

35:25.600 --> 35:27.600
Heute gibt es da auch nur so was wie Sport

35:27.600 --> 35:29.600
und Religion und Englisch.

35:29.600 --> 35:30.600
Das steht halt alles auf dem Lehrplan.

35:30.600 --> 35:32.600
Das ist natürlich mit IT und Programmieren

35:32.600 --> 35:33.600
echt wenig zu tun.

35:33.600 --> 35:35.600
Von daher, man muss da alle mitnehmen.

35:35.600 --> 35:36.600
Und wenn man da auch schon vielleicht

35:36.600 --> 35:37.600
mit ein bisschen Vorkenntessen reingeht

35:37.600 --> 35:39.600
oder tatsächlich wie heute ganz viele Azubis

35:39.600 --> 35:41.600
mit Abitur, dann werden die sich auch

35:41.600 --> 35:43.600
erst mal ein bisschen langweilen in einigen Fächern.

35:43.600 --> 35:44.600
Das ist einfach so.

35:44.600 --> 35:45.600
Das kann man nicht vergleichen.

35:45.600 --> 35:47.600
Aber dann am Ende, wenn man fertig ist

35:47.600 --> 35:48.600
mit der Abschlussprüfung,

35:48.600 --> 35:51.600
hat man, glaube ich, auch echt ganz gut was geleistet.

35:51.600 --> 35:53.600
Wie gesagt, eigenes Praxisprojekt

35:53.600 --> 35:54.600
von vorn bis hinten umsetzen

35:54.600 --> 35:55.600
mit Implementierung und allem.

35:55.600 --> 35:57.600
Also ich glaube, das ist schon

35:57.600 --> 35:59.600
mehr Praxis als im Studium.

35:59.600 --> 36:00.600
Würde ich so bestätigen.

36:00.600 --> 36:02.600
Auch das Abschlussprojekt.

36:02.600 --> 36:04.600
Das mussten wir damals auch machen.

36:04.600 --> 36:07.600
Ich kann mich dann irgendwas mit 35 und 70 erinnern.

36:07.600 --> 36:09.600
Bei den Fachinformatikern lasst irgendwie

36:09.600 --> 36:10.600
das Projekt länger.

36:10.600 --> 36:12.600
Aber tatsächlich musste ich auch

36:12.600 --> 36:14.600
ein Abschlussprojekt abgeben,

36:14.600 --> 36:17.600
wo ich dann auch mit

36:17.600 --> 36:20.600
mathematischen Modellen zuvor her sagen,

36:20.600 --> 36:22.600
experimentiert habe

36:22.600 --> 36:25.600
und musste das dann auch dementsprechend präsentieren.

36:25.600 --> 36:28.600
Also das ist, ich kann das nur unterschreiben,

36:28.600 --> 36:29.600
was du gesagt hast.

36:29.600 --> 36:31.600
Das ist sehr praxisbezogen

36:31.600 --> 36:34.600
und darauf konnte ich an der ein oder anderen Stelle

36:34.600 --> 36:36.600
tatsächlich dann auch in meinem Dasein

36:36.600 --> 36:38.600
als Konsultant dann aufsetzen.

36:38.600 --> 36:40.600
Dann habe ich bestimmte Dinge schon mitgenommen,

36:40.600 --> 36:42.600
wo andere Leute aus dem Studium gesagt haben,

36:42.600 --> 36:44.600
was ist denn das für eine Technologie?

36:44.600 --> 36:46.600
Das hat mir dann schon was gebracht.

36:46.600 --> 36:48.600
Also ich weiß, ich habe das auch so ein bisschen

36:48.600 --> 36:50.600
jetzt vielleicht in schlechtes Licht gerückt.

36:50.600 --> 36:52.600
Ich kann halt nur sagen, wie es für mich war

36:52.600 --> 36:54.600
und möchte dafür werben, dass es nicht so ist,

36:54.600 --> 36:56.600
dass er stämt und dass es schlecht hat.

36:56.600 --> 36:58.600
Das ist definitiv nicht der Fall.

36:58.600 --> 37:01.600
So, um das nochmal so ganz explizit zu sagen.

37:01.600 --> 37:04.600
Es gibt bestimmte Unternehmen, die sagen,

37:04.600 --> 37:06.600
ohne Studium brauchst du hier gar nicht anfangen.

37:06.600 --> 37:08.600
Ich gerne aber auch, wenn ich die sagen, boah,

37:08.600 --> 37:10.600
bloß keine Studierende, die aus ihrem elfen beiden Turm

37:10.600 --> 37:11.600
und bla bla bla.

37:11.600 --> 37:13.600
Also vielleicht darf man nicht immer alles so schwarz und weiß sehen

37:13.600 --> 37:15.600
und sich einfach immer die Leute einfach angucken.

37:15.600 --> 37:17.600
Ich kann aus meinem eigenen Umfeld grad auch

37:17.600 --> 37:19.600
meine eigenen Studierenden.

37:19.600 --> 37:21.600
Da gibt es immer Leute, die können das halt einfach

37:21.600 --> 37:23.600
oder andere, die können das halt nicht.

37:23.600 --> 37:25.600
Oder die haben da Bock drauf und die ziehen halt

37:25.600 --> 37:27.600
ihr Wirtschaftsformatik durch.

37:27.600 --> 37:29.600
Aber am Ende sind sie froh, wenn sie mit noch 4.0

37:29.600 --> 37:31.600
durch den Programmierenteil durchgekommen sind

37:31.600 --> 37:33.600
und können am Ende trotzdem keinen Babelswort programmieren.

37:33.600 --> 37:35.600
Also von daher ist immer eine einzelne Entscheidung,

37:35.600 --> 37:36.600
kann ich nur mitgeben.

37:36.600 --> 37:37.600
Stefan, habe ich noch eine Frage.

37:37.600 --> 37:38.600
Weißt du das?

37:38.600 --> 37:40.600
Was wird denn heute so für den Anwendungsentwickler gelehrt?

37:40.600 --> 37:42.600
Also welche Programmiersprache lernen Sie da?

37:42.600 --> 37:45.600
Weil wir haben beispielsweise mit C++ angefangen.

37:45.600 --> 37:47.600
Teilweise auch C.

37:47.600 --> 37:49.600
Und sind dann irgendwann auf Java umgeschwenkt.

37:49.600 --> 37:51.600
Ist das heute immer noch so?

37:51.600 --> 37:54.600
Das kommt ganz auf an, was der Lehrer an der Hochschule

37:54.600 --> 37:55.600
oder die Lehrerin vermittelt,

37:55.600 --> 37:57.600
dass es gibt in der Ausbildung keine Programmiersprache,

37:57.600 --> 37:58.600
die jeder lernen muss.

37:58.600 --> 37:59.600
Wir haben ja so viele verschiedene.

37:59.600 --> 38:01.600
Und auch in der Abschlussprüfung wird keinerlei

38:01.600 --> 38:03.600
Programmiersprache abgefragt, sondern immer nur Pseudocode,

38:03.600 --> 38:05.600
weil es geht darum Algorithmen zu lösen.

38:05.600 --> 38:06.600
Das bringe ich meinen dazu wie es auch mal bei.

38:06.600 --> 38:08.600
Wir sollen hier keine Programmiersprache lernen,

38:08.600 --> 38:09.600
sondern Probleme lösen.

38:09.600 --> 38:11.600
Und die Programmiersprache ist dann nur mittels dem Zweck.

38:11.600 --> 38:13.600
An den Berufsschulen und Hochschulen,

38:13.600 --> 38:15.600
mit denen ich jetzt schon kooperiert habe,

38:15.600 --> 38:17.600
wird tatsächlich hauptsächlich Java verwendet

38:17.600 --> 38:18.600
für Objektorientierung.

38:18.600 --> 38:20.600
Inzwischen haben aber auch viele Berufsschulen

38:20.600 --> 38:22.600
jetzt nach der Neuordnung umgestellt,

38:22.600 --> 38:24.600
zumindest den Einstieg mit Python zu machen.

38:24.600 --> 38:26.600
Weil halt eben auch, wie soll ich sagen,

38:26.600 --> 38:28.600
auch Nicht-Anwendungsentwicklerinnen

38:28.600 --> 38:30.600
müssen halt ein bisschen programmieren lernen.

38:30.600 --> 38:32.600
Und da ist Python halt von der Einstiegsschule deutlich niedriger,

38:32.600 --> 38:35.600
als wenn ich erst mal mit Publix-Setting-Vote-Main anfangen muss.

38:35.600 --> 38:37.600
Was man erstmal drei Monate lang nicht rafft.

38:37.600 --> 38:39.600
Also das ist vielleicht nicht so ein guter Einstieg.

38:39.600 --> 38:41.600
Aber dann sagen wir da schön mit einem Einzeilen Python an.

38:41.600 --> 38:43.600
Allerdings von den Hochschullehrern, die ich kenne,

38:43.600 --> 38:45.600
zum Beispiel aus dem Ausschuss, sagen auch viele,

38:45.600 --> 38:47.600
ja, das ist dann für die ersten paar Wochen gut.

38:47.600 --> 38:49.600
Aber wenn ich dann mit den Anwendungsentwicklern wirklich tief rein muss

38:49.600 --> 38:51.600
in Objektorientierung und so weiter,

38:51.600 --> 38:53.600
da müssen wir dann auch mal rüberwechseln zu einer richtigen Probe-Schwache.

38:53.600 --> 38:55.600
Ich weiß nicht, was jetzt auf die Ohren kriegt.

38:55.600 --> 38:57.600
Aber auf jeden Fall machen dann viele Java tatsächlich.

38:57.600 --> 38:59.600
Was wir in der IAC-Prüfung dann öfter sehen

38:59.600 --> 39:01.600
von den Unternehmen, zumindest in unserer Region,

39:01.600 --> 39:03.600
werden viele Projekte tatsächlich

39:03.600 --> 39:05.600
wirklich auch mit Java gemacht in der echten Welt.

39:05.600 --> 39:07.600
Es gibt aber auch viele.net-Sachen,

39:07.600 --> 39:09.600
C-Sharp-Off dabei.

39:09.600 --> 39:11.600
Auch wir hatten vorhin, glaube ich,

39:11.600 --> 39:13.600
gerade so diese kleinen Agenturen,

39:13.600 --> 39:15.600
die machen natürlich immer noch viel PRP, zum Beispiel.

39:15.600 --> 39:20.600
Python, Ruby, Rust, C++ gibt es mal,

39:20.600 --> 39:22.600
aber eher selten.

39:22.600 --> 39:24.600
Also ich würde sagen Java und.net ist da in der Ausbildung

39:24.600 --> 39:26.600
zumindest bei uns am Verbreiteten.

39:29.600 --> 39:33.600
Ich wollte nochmal ganz kurz auf die Thematik-Einstellung zurückkommen.

39:33.600 --> 39:38.600
Nämlich nach der abgeschlossenen Ausbildung.

39:38.600 --> 39:41.600
Und Marcel, du hattest ja so ein bisschen berichtet,

39:41.600 --> 39:44.600
wie das für dich war, später nach der Ausbildung

39:44.600 --> 39:47.600
dann nochmal sich woanders zu bewerben.

39:47.600 --> 39:52.600
Habt ihr das Gefühl, dass wenn man eine Ausbildung macht,

39:52.600 --> 39:54.600
wird man, also das habt ihr ja schon gesagt,

39:54.600 --> 39:57.600
anders angeguckt als im Studium sozusagen.

39:57.600 --> 39:59.600
Kann die Person das denn überhaupt?

39:59.600 --> 40:01.600
Was hat ihr denn da gemacht?

40:01.600 --> 40:06.600
Habt ihr das Gefühl, man hat denn eine Ausbildung,

40:06.600 --> 40:08.600
hat auch einen höheren Stellenwert,

40:08.600 --> 40:11.600
beispielsweise im Vergleich zu gar keine Ausbildung,

40:11.600 --> 40:17.600
so mine oder auch Sheps, teilweise zumindest Werdegang,

40:17.600 --> 40:23.600
wo man dann vielleicht mehr so über das Learning by Doing gekommen ist.

40:23.600 --> 40:25.600
Wie ist so euer Eindruck?

40:25.600 --> 40:27.600
Ich hoffe, die Frage ist jetzt rübergekommen,

40:27.600 --> 40:29.600
wie ich sie stellen wollte.

40:29.600 --> 40:33.600
Also ich würde sagen, tatsächlich ist der Stellenwert dann höher.

40:33.600 --> 40:35.600
Ich glaube auch, das, was ich vorhin gesagt habe,

40:35.600 --> 40:37.600
muss ich ein bisschen einschränken.

40:37.600 --> 40:39.600
Es kommt schwer auch auf das Unternehmen an.

40:39.600 --> 40:45.600
Wenn ich jetzt bei der klassischen Versicherung,

40:45.600 --> 40:48.600
die vielleicht sehr angestaubt ist,

40:48.600 --> 40:51.600
durch ein oder andere Gespräche geführt habe,

40:51.600 --> 40:53.600
dann ist das auf jeden Fall mehr wert,

40:53.600 --> 40:55.600
mit der Ausbildung anstatt zu sagen,

40:55.600 --> 40:59.600
ich habe mir das mal durch ein Buch beigebracht oder was weiß ich.

40:59.600 --> 41:01.600
Den Eindruck habe ich schon,

41:01.600 --> 41:07.600
wobei auch da mein Eindruck natürlich wieder etwas älter ist.

41:07.600 --> 41:09.600
Ich kenne jetzt auch viele,

41:09.600 --> 41:12.600
also ich habe auch viele Bewerbergespräche geführt

41:12.600 --> 41:16.600
im Rahmen von Consulting und auch von technischen Dienstleistern.

41:16.600 --> 41:21.600
Und da habe ich zumindest immer wieder diese Fahne hochgehalten.

41:21.600 --> 41:24.600
Das ist vollkommen egal, was da jetzt draußen steht.

41:24.600 --> 41:26.600
Ich schaue uns jetzt trotzdem mal an,

41:26.600 --> 41:34.600
wenn dieses Profil oder das, was da ankommt, einen soliden Eindruck macht,

41:34.600 --> 41:38.600
dann wäre mir und war das oft auch in diesen Situationen

41:38.600 --> 41:40.600
bei den Consulting-Unternehmen

41:40.600 --> 41:43.600
und bei den technischen Dienstleistern, war das egal.

41:43.600 --> 41:47.600
Ich glaube aber, je konservativer das Unternehmen ist,

41:47.600 --> 41:50.600
desto mehr wird auf solche Dinge geachtet.

41:50.600 --> 41:54.600
Hätte ich so beurteilt.

41:54.600 --> 41:56.600
Würde ich eins zu eins unterstreichen,

41:56.600 --> 41:58.600
die guten alten klassischen deutschen Unternehmen,

41:58.600 --> 41:59.600
die gucken auf die Abschlüsse,

41:59.600 --> 42:01.600
da hat man eine gute deutsche Ausbildung, das ist super.

42:01.600 --> 42:03.600
Studium natürlich genauso.

42:03.600 --> 42:04.600
Wenn man nichts gemacht hat,

42:04.600 --> 42:06.600
dann muss man erst mal nachweisen,

42:06.600 --> 42:08.600
warum man dann überhaupt da arbeiten darf.

42:08.600 --> 42:10.600
Es gibt sicherlich auch vernünftige Unternehmen,

42:10.600 --> 42:11.600
denen das nicht so wichtig ist,

42:11.600 --> 42:13.600
aber es gibt natürlich auch,

42:13.600 --> 42:15.600
wenn man zum Beispiel an öffentlichen Dienst oder so was denkt,

42:15.600 --> 42:17.600
da gibt es natürlich auch manchmal ganz harte Voraussetzungen,

42:17.600 --> 42:18.600
die man einfach füllen muss,

42:18.600 --> 42:20.600
um diese Stufe überhaupt eingruppiert werden zu können.

42:20.600 --> 42:22.600
Irgendwann ist dann einfach mit einer Ausbildung Schluss,

42:22.600 --> 42:24.600
dann muss man halt Bachelor oder Master oder irgendwas haben.

42:24.600 --> 42:26.600
Und wenn man dann gar nichts hat, dann wird es halt noch schwieriger.

42:26.600 --> 42:28.600
Aber auch hier würde ich wieder sagen,

42:28.600 --> 42:30.600
man sollte sich immer den einzelnen Menschen angucken

42:30.600 --> 42:33.600
und nicht immer nur auf den Abschluss.

42:33.600 --> 42:34.600
Aber ich könnte mir vorstellen,

42:34.600 --> 42:36.600
dass man bei vielen Unternehmen in Anführungszeichen

42:36.600 --> 42:38.600
erstmal von der schriftlichen Bewerbung aussortiert wird,

42:38.600 --> 42:39.600
weil man keinen Abschluss hat.

42:39.600 --> 42:43.600
Das glaube ich schon, dass das eher vorkommt.

42:43.600 --> 42:45.600
Ja, stimmt.

42:45.600 --> 42:47.600
Also es wäre ja nur naheliegend.

42:47.600 --> 42:50.600
In der Vergangenheit hatte ich es jetzt auch ein paar Jahre her,

42:50.600 --> 42:53.600
dass ich dann mal irgendwie mit den Unternehmen gesprochen hatte.

42:53.600 --> 42:55.600
So nie das Gefühl,

42:55.600 --> 42:58.600
dass es, weil ich keinen Abschluss habe beispielsweise,

42:58.600 --> 43:01.600
dass ich irgendwo abgelehnt werde.

43:01.600 --> 43:03.600
Ich habe mich aber halt als Selbständiger damals

43:03.600 --> 43:07.600
halt auch ganz oder nie beworben sozusagen im klassischen Sinne,

43:07.600 --> 43:11.600
sondern ganz viel über das, was du Marcel dann ja auch sagt,

43:11.600 --> 43:13.600
das Kontakte natürlich.

43:13.600 --> 43:18.600
Und dann habe ich ja auch mal fest angestellt, gearbeitet.

43:18.600 --> 43:21.600
Und dann habe ich dich, Chef, zum Beispiel glücklicherweise,

43:21.600 --> 43:24.600
kennengelernt und Rodney und andere Leute.

43:24.600 --> 43:28.600
Und da ging, kam dann darüber viel zustande.

43:28.600 --> 43:31.600
Aber ich glaube gerade, wenn man so vielleicht nicht

43:31.600 --> 43:33.600
irgendwie einen,

43:33.600 --> 43:36.600
also sich selber aufgebaut hat,

43:36.600 --> 43:39.600
jetzt über Open Source oder ähnliches,

43:39.600 --> 43:42.600
dann ist es wahrscheinlich immer sehr,

43:42.600 --> 43:45.600
sehr wertvoll, einfach die Hard Facts vorweisen zu können.

43:45.600 --> 43:48.600
Gerade am Anfang einer Karriere.

43:48.600 --> 43:51.600
Das würde ich auch sagen, übrigens ganz nebenbei,

43:51.600 --> 43:55.600
wenn man ganz lange schon in der IT einfach A-Bild beitet

43:55.600 --> 43:58.600
und nur noch mal eben schnell einen formellen Titel haben will,

43:58.600 --> 44:00.600
dann macht man einfach die IAK-Prüfung als Externer.

44:00.600 --> 44:03.600
Und dafür muss man einfach nur fünf Jahre Berufserfahrung haben,

44:03.600 --> 44:05.600
dann kann man sich bei der IAK anmelden und die Prüfung machen.

44:05.600 --> 44:08.600
Und da hat man auch den ganz normalen Ausflugungsabschluss,

44:08.600 --> 44:10.600
den man auch nach drei Jahren Ausflugung bekommt.

44:10.600 --> 44:12.600
Wenn man schon einen anderen Beruf hat,

44:12.600 --> 44:14.600
eine Umschulung geht natürlich auch in zwei Jahren,

44:14.600 --> 44:16.600
ist man dann damit durch.

44:16.600 --> 44:18.600
Und wenn man mit einem Abi anfängt,

44:18.600 --> 44:20.600
kann man sowieso die Ausführungszeit auch reduzieren,

44:20.600 --> 44:22.600
auch zwei Jahre oder sowas.

44:22.600 --> 44:25.600
Also wenn ich nichts habe und ich möchte irgendein Titel dahinschreiben können,

44:25.600 --> 44:27.600
dann ist die IAK-Prüfung die einfachste.

44:27.600 --> 44:30.600
Also im Studium kriegt man sicherlich nicht durch eine Prüfung hinterher geworfen.

44:30.600 --> 44:33.600
Aber die IAK-Ausbildung, da funktioniert das als Externer.

44:33.600 --> 44:35.600
Ja, interessant.

44:35.600 --> 44:38.600
Das ist bestimmt auch für die ein oder andere Hörerinnen und Hörer

44:38.600 --> 44:41.600
Ich glaube manchmal fragt man sich ja dann auch später,

44:41.600 --> 44:43.600
so kenne ich es für mich selbst, zumindest so,

44:43.600 --> 44:46.600
will man nicht doch irgendwie vielleicht noch mal was,

44:46.600 --> 44:48.600
ein Hard-Fact haben?

44:48.600 --> 44:50.600
Ja, genau.

44:50.600 --> 44:53.600
Hans, lass uns mal hier so einen Betriebsausflug machen

44:53.600 --> 44:56.600
zur IAK, mit dem Peter.

44:56.600 --> 44:59.600
Ich glaube wir hätten alle keine Chance.

44:59.600 --> 45:04.600
Und müssten uns erst mal ein Wochen lang vorher einschließen und lernen.

45:04.600 --> 45:07.600
Aber Big O Notation würde ich hinbekommen.

45:07.600 --> 45:09.600
Also da.

45:09.600 --> 45:11.600
Rate 0-1.

45:11.600 --> 45:15.600
Genau, und Subnetting und so wie gesagt, das muss auch immer auffischen.

45:15.600 --> 45:17.600
Ja, da muss ich wirklich nochmal ran.

45:17.600 --> 45:21.600
Genau, aber nochmal zurückzukommen vielleicht zur Ausbildung.

45:21.600 --> 45:24.600
Selbst wir hatten ja schon ein bisschen darüber gesprochen,

45:24.600 --> 45:27.600
was so die einzelnen oder Bestandteile sind.

45:27.600 --> 45:32.600
Ihr habt von diesem Projekt gesprochen, was man halt so umsetzt.

45:32.600 --> 45:35.600
Könnt ihr da nochmal ein bisschen Einblick geben, Stefan,

45:35.600 --> 45:38.600
was macht man da so normalerweise?

45:38.600 --> 45:41.600
Das ist ja so ein Prinzip wie das Meisterstück, oder?

45:41.600 --> 45:44.600
Ja, eher Gesellenstück wäre es dann quasi.

45:44.600 --> 45:46.600
Aber genau, vergleichbar damit.

45:46.600 --> 45:48.600
Also irgendwo, genau wie der Tischler,

45:48.600 --> 45:51.600
seinen Schrank vielleicht zimmert und schön polieren muss,

45:51.600 --> 45:54.600
oder was er auch mal der tut, muss man halt als Softwareentwickler

45:54.600 --> 45:57.600
zum Beispiel, als Anwendungsentwickler eben was programmieren.

45:57.600 --> 46:01.600
Das ist, früher konnte man als Abschlussprüfung auch ein Pflichtenheft schreiben.

46:01.600 --> 46:04.600
Heute muss man, geht das nicht mehr, muss man wirklich was entwickeln.

46:04.600 --> 46:07.600
Und das ist quasi ein Projekt, was zu seinem Beruf halt eben passen muss.

46:07.600 --> 46:10.600
Bei einem Anwendungsentwicklung ist es halt ein Entwicklungssoftware.

46:10.600 --> 46:12.600
Ganz klassisch, wenn ich so eine Web-Einwendung habe,

46:12.600 --> 46:14.600
mit Datenbank, ein bisschen Logik und UI,

46:14.600 --> 46:16.600
dann habe ich da eigentlich ganz gut dabei.

46:16.600 --> 46:18.600
Kann aber auch irgendwas, wo ich was programmieren muss.

46:18.600 --> 46:20.600
Sprache ist völlig irrelevant.

46:20.600 --> 46:22.600
Es muss halt bloß ein echtes, betriebliches Projekt sein.

46:22.600 --> 46:24.600
Das heißt, es muss irgendein Problem lösen.

46:24.600 --> 46:26.600
Das geht also nicht darum.

46:26.600 --> 46:28.600
Chef gibt mir quasi das UML-Diagramm schon auf den Tisch

46:28.600 --> 46:30.600
und ich programmiere das runter,

46:30.600 --> 46:33.600
sondern ich muss wirklich das Projekt von vorne bis hinten umsetzen

46:33.600 --> 46:35.600
und dann in der Lebensphase eben modellieren,

46:35.600 --> 46:37.600
Datenbank gestalten vielleicht

46:37.600 --> 46:39.600
und dann bis inklusive Implementierung,

46:39.600 --> 46:41.600
Oberflächen testen natürlich,

46:41.600 --> 46:43.600
Deployment, also alles, was halt dazugehört.

46:43.600 --> 46:46.600
Und ach ja, das Ganze in 80 Stunden als Anwendungsentwickler.

46:46.600 --> 46:48.600
Das heißt, das ist jetzt also nicht so umfangreich.

46:48.600 --> 46:51.600
Das waren früher noch 70 für die Anwendungsentwickler

46:51.600 --> 46:52.600
und Entwicklerinnen.

46:52.600 --> 46:54.600
Alle anderen IT-Buchufer hatten dann 35 Stunden

46:54.600 --> 46:56.600
und heute haben die dann 40 Stunden.

46:56.600 --> 46:58.600
Das wird also leicht erhöht mit der Neuordnung.

46:58.600 --> 47:00.600
Ist natürlich immer noch ein Witz.

47:00.600 --> 47:02.600
Das schafft man niemals in zwei Wochen so ein Projekt umzusetzen.

47:02.600 --> 47:04.600
Vor allem, das muss man immer vielleicht dazusagen,

47:04.600 --> 47:06.600
ob das Ding am Ende läuft oder nicht.

47:06.600 --> 47:08.600
Interessiert keinen Menschen,

47:08.600 --> 47:10.600
weil es wird nur die Dokumentation, die man darüber schreibt, bewertet.

47:10.600 --> 47:12.600
Das heißt, man gibt so ein schönes PDF ab,

47:12.600 --> 47:14.600
wo dann man ganz schön reinschreiben kann,

47:14.600 --> 47:16.600
was man alles gemacht hat in dem Projekt

47:16.600 --> 47:18.600
und man zeigt auch ein bisschen Code

47:18.600 --> 47:20.600
und man zeigt noch ein bisschen UML-Diagramme und so weiter.

47:20.600 --> 47:22.600
Und das wird dann am Ende aber bewertet.

47:22.600 --> 47:24.600
Das heißt, wenn man böse wäre,

47:24.600 --> 47:26.600
könnte man auch nur die Dokumentation schreiben,

47:26.600 --> 47:28.600
ohne das zu vomieren

47:28.600 --> 47:30.600
und dann kann man trotzdem gut die Prüfung machen.

47:30.600 --> 47:32.600
Das ist natürlich ziemlich auf die Nase fall.

47:32.600 --> 47:34.600
Ganz kurz vielleicht nochmal Abschlussprüfung

47:34.600 --> 47:36.600
in den IT-Buch ist so aufgeteilt,

47:36.600 --> 47:38.600
dass es eine praktische Prüfung gibt.

47:38.600 --> 47:41.600
Das ist eben dieses Projekt mit einer Projektpräsentation

47:41.600 --> 47:44.600
und einem anschließenden Fachgespräch vor dem Prüfungsausschuss.

47:44.600 --> 47:46.600
Dokumentation ist je nach IAC,

47:46.600 --> 47:49.600
es gibt ja 79 verschiedene in Deutschland relativ unterschiedlich.

47:49.600 --> 47:54.600
Meistens irgendwas zwischen 30, 40, 50 Seiten.

47:54.600 --> 47:57.600
Einige Dinge sagen, bei uns ist es zum Beispiel in Old Moog,

47:57.600 --> 48:00.600
15 Seiten Fleece Text plus 25 Seiten Anhang.

48:00.600 --> 48:03.600
Da kommt dann sowas rein wie ER-Modelle, UML-Klassendiagramme

48:03.600 --> 48:05.600
und alles, was man halt noch dazu braucht.

48:05.600 --> 48:07.600
Benutzerdokumentation und so weiter.

48:07.600 --> 48:11.600
Und das Ding zählt 50 Prozent dieser Projektnote.

48:11.600 --> 48:13.600
Und die anderen 50 Prozent sind zusammengesetzt,

48:13.600 --> 48:15.600
einmal die Projektpräsentation.

48:15.600 --> 48:18.600
Da hat man 15 Minuten und das gesamte Projekt vorzustellen.

48:18.600 --> 48:20.600
Und dann nochmal 15 Minuten Fachgespräch,

48:20.600 --> 48:22.600
wo die Prüferinnen und Prüferinnen halt irgendwelche Fragen stellen.

48:22.600 --> 48:24.600
Meistens zum Projekt kann aber auch irgendwas ganz anderes sein,

48:24.600 --> 48:26.600
was halt irgendwie mit der Ausbildung zusammenhängt.

48:26.600 --> 48:29.600
Das zusammen bildet 50 Prozent der Abschlussnote

48:29.600 --> 48:32.600
und die anderen 50 Prozent sind schriftliche Prüfungen.

48:32.600 --> 48:35.600
Einmal dieser gestreckte oder Teil einste gestreckten Abschlussprüfung

48:35.600 --> 48:37.600
nach 18 Monaten, der zählt 20 Prozent.

48:37.600 --> 48:41.600
Und das ist halt einfach mal so komplett in die Breite der ganzen IT-Themen.

48:41.600 --> 48:44.600
Und dann haben wir noch drei Abschlussprüfungen zum Ende der Ausbildung.

48:44.600 --> 48:46.600
Die zählen alle 10 Prozent.

48:46.600 --> 48:49.600
Das sind dann für die Anmerkungsentwickler und Anmerkungsentwicklerinnen

48:49.600 --> 48:52.600
halt eben zwei softwarelastige Prüfungen.

48:52.600 --> 48:56.600
Da muss man dann zum Beispiel Pseudocode schreiben, UML-Diagramme zeichnen,

48:56.600 --> 49:00.600
aber auch mal Netzplan vor vollständigen solche Dinge kommen da drin vor.

49:00.600 --> 49:03.600
Und dann gibt es noch den Visoteil, das ist Wirtschaft und Sozialkunde.

49:03.600 --> 49:05.600
Das gibt es eigentlich in allen Berufen.

49:05.600 --> 49:07.600
Das ist nicht für die IT spezifisch.

49:07.600 --> 49:10.600
Und da macht man dann noch solche Sachen wie Betriebsrat und Mutterschutzgesetz

49:10.600 --> 49:12.600
und alles, was halt für alle Berufe relevant ist.

49:12.600 --> 49:14.600
Das zählt aber auch 10 Prozent.

49:14.600 --> 49:16.600
Und das vernachlässigen viele IT-Leute auch

49:16.600 --> 49:18.600
und versauen sich damit die Note so ganz nebenbei.

49:18.600 --> 49:21.600
Das muss man natürlich auch können, das ist aber in jedem Beruf so.

49:21.600 --> 49:23.600
Und ja, dieses Projekt ist deswegen so wichtig

49:23.600 --> 49:25.600
und macht halt ein Großteil der Note auch aus,

49:25.600 --> 49:27.600
weil man das in seiner eigenen Hand hat.

49:27.600 --> 49:29.600
Das heißt, da sagt einem keinen Prüfungsausschuss,

49:29.600 --> 49:31.600
was man bitte beantworten soll.

49:31.600 --> 49:34.600
Oder irgendwelche Themen, die sich die Prüfungserstelle ausdenken.

49:34.600 --> 49:36.600
Das heißt, ich kann mir das Thema selber suchen.

49:36.600 --> 49:39.600
Ich kann das von vorn bisschen komplett selbst umsetzen, dokumentieren, präsentieren.

49:39.600 --> 49:42.600
Das heißt, ich habe ein Großteil der Note einfach komplett in meiner eigenen Hand.

49:42.600 --> 49:44.600
Und da sieht man dann eben auch bei den Prüflingen,

49:44.600 --> 49:46.600
ob die im Unternehmen gut unterstützt werden.

49:46.600 --> 49:49.600
Weil also wir hatten jetzt vor Kurzem die Winterprüfung.

49:49.600 --> 49:52.600
Da, ich habe ja gerade gesagt, bei uns sind die Dokus ungefähr 50 Seiten lang.

49:52.600 --> 49:55.600
Wir hatten einen Experten, der hat 12,5 Seiten abgegeben.

49:55.600 --> 49:56.600
Und da kamen sich dann überlegen,

49:56.600 --> 49:58.600
das ist dann vielleicht nicht mehr so eine ganz so gute Leistung.

49:58.600 --> 50:00.600
Und der hat sich dann aber gesagt, so war doch eine super Doku.

50:00.600 --> 50:02.600
Alle haben gesagt, dass die gut ist.

50:02.600 --> 50:04.600
Ja, da hat der Ausbilder die Ausbildung nicht so gut,

50:04.600 --> 50:06.600
wusste nicht so gut, was da gefragt wird.

50:06.600 --> 50:10.600
Also von daher, da muss man auch Unterstützung bekommen vom Unternehmen.

50:10.600 --> 50:12.600
Und wenn man das kriegt, dann macht man aber eine gute Leistung.

50:12.600 --> 50:14.600
Und die schriftlichen Prüfung ist halt immer,

50:14.600 --> 50:16.600
ich weiß nicht, was dran kommt, ich muss alles lernen.

50:16.600 --> 50:19.600
Da kann ich halt auch mal einen schlechten Tag haben, das komplöte Team dran.

50:19.600 --> 50:22.600
Was wir noch vielleicht noch einmal besprechen könnten,

50:22.600 --> 50:25.600
ist wie lange dauert jetzt nochmal eine Ausbildung?

50:25.600 --> 50:30.600
Du hast gesagt, wenn man Abi hat, dann kann man das verkürzen auf zwei Jahre.

50:30.600 --> 50:33.600
Das heißt also im Regelfall drei Jahre gilt das auch,

50:33.600 --> 50:37.600
wenn man das als im Kontext eines dualen Studiums macht.

50:37.600 --> 50:41.600
Oder ist es da vielleicht länger, weil man ja möglicherweise,

50:41.600 --> 50:43.600
also wahrscheinlich ist es nicht so, aber gibt es da,

50:43.600 --> 50:46.600
also kannst du da was erzählen oder könnt ihr was erzählen

50:46.600 --> 50:49.600
zu den verschiedenen Ausbildungswegen, wie lange die dauern?

50:49.600 --> 50:51.600
Gerne, beim dualen Studium ist das sogar andersherum,

50:51.600 --> 50:53.600
ist es eher kürzer, die Ausbildung.

50:53.600 --> 50:57.600
Also grundsätzlich ist so eine Ausbildung drei Jahre lang.

50:57.600 --> 50:59.600
Man kann unter bestimmten Voraussetzungen

50:59.600 --> 51:02.600
die maximal auf anderthalb Jahre verkürzen.

51:02.600 --> 51:04.600
Das kommt auch an, wenn man zum Beispiel ein Abi mitbringt

51:04.600 --> 51:06.600
oder wenn man schon eine andere Ausbildung gemacht hat

51:06.600 --> 51:08.600
oder wenn man sogar gleich eine Umschulung macht,

51:08.600 --> 51:10.600
dann ist es sowieso auf zwei Jahre eingeschränkt.

51:10.600 --> 51:13.600
Also je nachdem, ich hatte selber schon dazu,

51:13.600 --> 51:15.600
viele haben ein halbes Jahr verkürzt,

51:15.600 --> 51:17.600
das ist eigentlich meistens problemlos machbar,

51:17.600 --> 51:19.600
wenn man vielleicht schon ein bisschen was mitbringt

51:19.600 --> 51:21.600
und ein bisschen lernen möchte.

51:21.600 --> 51:23.600
Ich hatte auch schon einen, der hat ein Jahr verkürzt,

51:23.600 --> 51:25.600
einfach weil er selber richtig Bock hatte

51:25.600 --> 51:27.600
und vorher schon programmieren konnte quasi vor der Ausbildung,

51:27.600 --> 51:29.600
was natürlich in keinster Weise Voraussetzung ist,

51:29.600 --> 51:31.600
aber es gibt es natürlich auch.

51:31.600 --> 51:33.600
Also von daher, das ist alles machbar.

51:33.600 --> 51:35.600
Im Rahmen eines dualen Studiums wird es meistens sogar so gemacht,

51:35.600 --> 51:37.600
dass man die Ausbildung verkürzen muss,

51:37.600 --> 51:39.600
weil man ja am Ende des Studiums auch eine Bachelorarbeit schreibt

51:39.600 --> 51:41.600
und dann wäre das ganz schön schwierig.

51:41.600 --> 51:43.600
Deswegen verkürzen die meistens ein halbes Jahr

51:43.600 --> 51:45.600
und haben demnach eigentlich schon nach einem Jahr

51:45.600 --> 51:47.600
den ersten Teil der Abschlussprüfung

51:47.600 --> 51:49.600
und nach zwei Jahren halt, manchmal sogar nach zwei Jahren

51:49.600 --> 51:51.600
schon den zweiten Teil der Abschlussprüfung

51:51.600 --> 51:53.600
und dann quasi direkt im Anschluss nochmal eben die Bachelorarbeit.

51:53.600 --> 51:56.600
Also da kann man ein paar Wochenenden zu sich einplanen,

51:56.600 --> 51:58.600
bis das fertig ist.

51:58.600 --> 52:03.600
Da kann ich auch nur sagen, Hut ab vor Leuten, die das schaffen.

52:03.600 --> 52:05.600
Also genau, oder auch Leuten,

52:05.600 --> 52:08.600
die irgendwie einen Abendstudium noch neben der Arbeit machen.

52:08.600 --> 52:11.600
Also das ist schon krass.

52:11.600 --> 52:13.600
Und ich glaube, ich könnte das nicht.

52:13.600 --> 52:17.600
Und deswegen meine Hochachtung vor allem, die das eben schaffen.

52:17.600 --> 52:19.600
Eine Frage, Stefan, habe ich noch,

52:19.600 --> 52:24.600
als du vorhin über den praktischen Prüfungsteil gesprochen hast.

52:24.600 --> 52:26.600
Also ich erinnere mich noch sehr gut an meine.

52:26.600 --> 52:28.600
Ich bin da hingekommen.

52:28.600 --> 52:31.600
Ich war sehr nervös, kann ich auch dazu sagen.

52:31.600 --> 52:33.600
Und worauf ich jetzt hinaus bin möchte,

52:33.600 --> 52:37.600
ist, man schreibt ja auch noch einen Berichtshäft.

52:37.600 --> 52:39.600
Also ist...

52:39.600 --> 52:41.600
Ja, das tut man, ja.

52:41.600 --> 52:43.600
Ja, man lacht schon.

52:43.600 --> 52:45.600
Okay, dann wissen wir schon, welche Richtung das geht.

52:45.600 --> 52:47.600
Also, ihr müsst euch das so vorstellen,

52:47.600 --> 52:50.600
für jede Woche, die man in der Ausbildung zugebracht hat,

52:50.600 --> 52:53.600
schreibt man einen Berichtshäft, was man so getan hat.

52:53.600 --> 52:55.600
Also man gibt das in die Abteilung

52:55.600 --> 52:58.600
oder dem entsprechenden Chef, wenn man keine Abteilung durchläuft.

52:58.600 --> 53:00.600
Und dann bei mir war das so,

53:00.600 --> 53:03.600
dass das sehr stark darauf geachtet wurde,

53:03.600 --> 53:05.600
dass das gut formuliert ist,

53:05.600 --> 53:08.600
dass das abdeckt, was ich gemacht hatte.

53:08.600 --> 53:10.600
Und der Witz an der Geschichte ist,

53:10.600 --> 53:12.600
ich bin dann zu dieser praktischen Prüfe gekommen,

53:12.600 --> 53:14.600
den nimmt man dann auch mit.

53:14.600 --> 53:16.600
Die Prüfer können, war das zumindest damals,

53:16.600 --> 53:19.600
theoretisch irgendwas aufschlagen, sagen sie,

53:19.600 --> 53:24.600
Herr Koch, in Ihrer Ausbildungswoche 53

53:24.600 --> 53:26.600
haben Sie das und das und das und das.

53:26.600 --> 53:28.600
Und was bei mir passiert ist,

53:28.600 --> 53:30.600
er hat diesen Ringorden aufgemacht

53:30.600 --> 53:33.600
und da mit dem Daumen so an den Seiten...

53:33.600 --> 53:36.600
Okay, ja, Berichtschef haben Sie auch, das war's.

53:36.600 --> 53:38.600
Und dann denkst du dir wirklich,

53:38.600 --> 53:41.600
deswegen habe ich mir jede Woche Mühe gegeben

53:41.600 --> 53:43.600
und das dafür...

53:43.600 --> 53:45.600
Das war alles.

53:45.600 --> 53:48.600
Schreibt man heute immer noch Berichtshäfte?

53:48.600 --> 53:50.600
Ja, Berichtshäfte muss man schreiben,

53:50.600 --> 53:52.600
die sind Voraussetzungen,

53:52.600 --> 53:54.600
um überhaupt zur Prüfung zugelassen zu werden.

53:54.600 --> 53:56.600
Das darf man gar nicht geprüft werden.

53:56.600 --> 53:58.600
Du musst das einfach anders definieren.

53:58.600 --> 54:00.600
Du hast es nicht für die Prüfer geschrieben,

54:00.600 --> 54:02.600
weil das war noch nie Bewertungsbestandteil oder irgendwas,

54:02.600 --> 54:05.600
aber bei Berichtschef schreibt man eigentlich nur für sich selbst.

54:05.600 --> 54:07.600
Man darf und muss das auch

54:07.600 --> 54:09.600
während der Arbeitszeit übrigens schreiben dürfen.

54:09.600 --> 54:11.600
Das ist im Bebeck festgelegt,

54:11.600 --> 54:13.600
nicht nur in den Archieberufen, sondern allen Berufen,

54:13.600 --> 54:15.600
also Berufsbildungsgesetz.

54:15.600 --> 54:17.600
Und es geht da...

54:17.600 --> 54:19.600
Es ist quasi dientes zum Schutz des Azubis,

54:19.600 --> 54:21.600
weil ich hatte vorhin schon gesagt,

54:21.600 --> 54:24.600
es gibt leider auch immer noch viele schwarze Schafe

54:24.600 --> 54:26.600
und in der IT ist das nicht so unüblich.

54:26.600 --> 54:29.600
Oh, Mensch, der Typ hat schon während des Abiturs programmieren gelernt.

54:29.600 --> 54:31.600
Super, den stellen wir ein für eine Ausbildung,

54:31.600 --> 54:33.600
aber das verdient mehr als er uns kostet.

54:33.600 --> 54:35.600
Das gibt es leider.

54:35.600 --> 54:37.600
Und da wird auch keine Energie in die Ausbildung gesteckt.

54:37.600 --> 54:39.600
Und was mache ich dann als Azubi,

54:39.600 --> 54:41.600
wenn ich am Ende eine echt bescheidene Prüfung abliefe

54:41.600 --> 54:43.600
oder sogar durchfalle?

54:43.600 --> 54:45.600
Wie beweise ich dann, dass ich nicht ausgebildet wurde?

54:45.600 --> 54:47.600
Das ist ja die Pflicht des Ausbildenden.

54:47.600 --> 54:49.600
Und das kann ich nur mit dem Berichtsheft,

54:49.600 --> 54:51.600
weil da muss der Ausbilder oder Zuständige

54:51.600 --> 54:53.600
eben jede Woche oder jeden Monat unterschreiben,

54:53.600 --> 54:55.600
dass man da so was gelernt hat im Unternehmen.

54:55.600 --> 54:57.600
Und wenn man da immer unterschreibt, Kaffee kochen,

54:57.600 --> 54:59.600
Kunden Websites machen,

54:59.600 --> 55:01.600
dann wird das nicht richtig ausgebildet.

55:01.600 --> 55:03.600
Und natürlich passiert dann recht wenig,

55:03.600 --> 55:05.600
wenn man damit zu IAK geht,

55:05.600 --> 55:07.600
weil die Unternehmen sind, Zahlen der Mitglieder,

55:07.600 --> 55:09.600
die werden da nicht so viel Energie reinstecken,

55:09.600 --> 55:11.600
das zu verfolgen.

55:11.600 --> 55:13.600
Aber zumindest hat man da eine Chance.

55:13.600 --> 55:15.600
Und deswegen ist das weiterhin Prüfungsvoraussetzung.

55:15.600 --> 55:17.600
Inzwischen ist es allerdings leider so,

55:17.600 --> 55:19.600
dass die Prüfer und Prüferinnen

55:19.600 --> 55:21.600
da gar nicht mehr reingucken dürfen.

55:21.600 --> 55:23.600
Inzwischen ist es bei vielen IAKen digitalisiert.

55:23.600 --> 55:25.600
Das heißt, nur die IAK darf dort reinschauen.

55:25.600 --> 55:27.600
Die Prüfer kriegen ja keinen Einblick mehr.

55:27.600 --> 55:29.600
In unserem Prüfungsausschuss haben wir regelmäßig

55:29.600 --> 55:31.600
die Berichtshäfte auch durchgesehen.

55:31.600 --> 55:33.600
Und gerade auch bei Prüflingen, die nicht so gut waren,

55:33.600 --> 55:35.600
haben wir da tatsächlich auch reingeguckt

55:35.600 --> 55:37.600
und dann auch am Ende die Empfehlung ausgesprochen,

55:37.600 --> 55:39.600
so geh mal damit zu IAK und beschwer dich mal,

55:39.600 --> 55:41.600
weil du wurdest nicht ausgebildet.

55:41.600 --> 55:43.600
Und das ist dann das Einzige, was man in der Hand hat,

55:43.600 --> 55:45.600
als Azubi, weil viele erzählen,

55:45.600 --> 55:47.600
nach einer schlechten Prüfung kann man natürlich immer,

55:47.600 --> 55:49.600
dass das das Unternehmen erhetzen, mal besser lernen soll.

55:49.600 --> 55:51.600
Aber wenn man da halt sieht, jeden Tag Kunden Website, Kunden Website, Kunden Website,

55:51.600 --> 55:53.600
wie gesagt, man muss halt auch noch Rate

55:53.600 --> 55:55.600
und irgendwas dazu lernen.

55:55.600 --> 55:57.600
Und wenn das Unternehmen das nicht macht,

55:57.600 --> 55:59.600
dann steht man halt ganz schlecht da.

55:59.600 --> 56:01.600
Und da hatten wir leider schon viele Fälle,

56:01.600 --> 56:03.600
die dann halt keine gute Prüfung gemacht haben

56:03.600 --> 56:05.600
und dann natürlich ihr Auswirkungsunternehmen

56:05.600 --> 56:07.600
auch verlassen wollten, weil die wurden ja nicht ausgebildet.

56:07.600 --> 56:09.600
Das wussten die selber natürlich auch.

56:09.600 --> 56:11.600
Aber dann finden mal mit einer Vier

56:11.600 --> 56:13.600
oder einem Ender Vieraufentzeugnis eine Stelle.

56:13.600 --> 56:15.600
Das ist gar nicht so einfach.

56:15.600 --> 56:17.600
Und dann ist man froh vielleicht,

56:17.600 --> 56:19.600
wenn man noch eine Chance hat, unsere Berichtshäfte mal geschrieben hat.

56:19.600 --> 56:21.600
Ja, und da kann man...

56:21.600 --> 56:23.600
Aber man muss doch vielleicht ganz kurz eingehakt,

56:23.600 --> 56:25.600
feststellen,

56:25.600 --> 56:27.600
dass man jetzt nicht nach 3 Jahren

56:27.600 --> 56:29.600
in die Prüfung geht

56:29.600 --> 56:31.600
und dann feststellt, oh, irgendwas läuft hier falsch.

56:31.600 --> 56:33.600
Gibt es also Touchpoints auch nochmal,

56:33.600 --> 56:35.600
wo man mit unabhängigen Prüfern

56:35.600 --> 56:37.600
und Prüfern etwas macht

56:37.600 --> 56:39.600
oder muss das dann in der Berufsschule passieren eigentlich?

56:39.600 --> 56:41.600
Ich kann da vielleicht ein bisschen einhaken,

56:41.600 --> 56:43.600
wie ich das gemacht habe.

56:43.600 --> 56:45.600
Ich habe ja vorhin gesagt, ich habe erfolgreich eine Ausbildung abgebrochen.

56:45.600 --> 56:47.600
Und den einzigen Touchpoint,

56:47.600 --> 56:49.600
den ich da gesehen hatte,

56:49.600 --> 56:51.600
ist die Probezeit.

56:51.600 --> 56:53.600
Am Ende meiner Probezeit,

56:53.600 --> 56:55.600
als ich die Ausbildung begonnen hatte,

56:55.600 --> 56:57.600
das war 2002,

56:57.600 --> 56:59.600
gesagt,

56:59.600 --> 57:01.600
nee,

57:01.600 --> 57:03.600
das gab eine Riesen...

57:03.600 --> 57:05.600
Wie sagt man das?

57:05.600 --> 57:07.600
Donnerwetter hat man früher gesagt

57:07.600 --> 57:09.600
mit meinen Eltern, das weiß ich auch noch.

57:09.600 --> 57:11.600
Sehr gut, als wäre es gestern gewesen.

57:11.600 --> 57:13.600
Aber ich gesagt habe, hey,

57:13.600 --> 57:15.600
das wird nichts,

57:15.600 --> 57:17.600
ich will das so nicht weitermachen.

57:17.600 --> 57:19.600
Und

57:19.600 --> 57:21.600
unter dem Strich

57:21.600 --> 57:23.600
ist das ja nochmal gut gegangen.

57:23.600 --> 57:25.600
Aber das war so der Punkt,

57:25.600 --> 57:27.600
an dem ich gesagt habe,

57:27.600 --> 57:29.600
ich kann mich gerne in...

57:29.600 --> 57:31.600
Wie war das?

57:31.600 --> 57:33.600
Ich habe in den ersten paar Wochen

57:33.600 --> 57:35.600
eine Diplomarbeit hingelegt bekommen,

57:35.600 --> 57:37.600
wo jemand eine Diplomarbeit

57:37.600 --> 57:39.600
über eine Software, die einen PHP geschrieben hatte

57:39.600 --> 57:41.600
und ich gedacht habe, wieso zwei Dollar hintereinander?

57:41.600 --> 57:43.600
Ach so, es gibt Variablen, etc.

57:43.600 --> 57:45.600
Und dann ging es

57:45.600 --> 57:47.600
tatsächlich so, ja, lernen das mal.

57:47.600 --> 57:49.600
Aber das war es.

57:49.600 --> 57:51.600
Und da habe ich gesagt, das geht nicht.

57:51.600 --> 57:53.600
Da kann ich nur sagen

57:53.600 --> 57:55.600
und

57:55.600 --> 57:57.600
der Schritt dann zur nächsten Ausbildung

57:57.600 --> 57:59.600
war auch nicht besonders einfach,

57:59.600 --> 58:01.600
weil ich natürlich überzeugen musste,

58:01.600 --> 58:03.600
dass ich kein fauler Sack bin

58:03.600 --> 58:05.600
oder irgendwas.

58:05.600 --> 58:07.600
Dass das auch funktioniert.

58:07.600 --> 58:09.600
Aber da kann ich nur sagen,

58:09.600 --> 58:11.600
wenn man an so jemanden kommt,

58:11.600 --> 58:13.600
dann muss man tatsächlich auch so ein bisschen

58:13.600 --> 58:15.600
Kochones beweisen

58:15.600 --> 58:17.600
und das geht so nicht.

58:17.600 --> 58:19.600
Aber du musst natürlich auch dir bewusst sein,

58:19.600 --> 58:21.600
also das muss dir klar sein,

58:21.600 --> 58:23.600
dass das irgendwie

58:23.600 --> 58:25.600
tatsächlich auch nicht richtig läuft.

58:25.600 --> 58:27.600
Also ich meine, manchmal ist es ja auch so,

58:27.600 --> 58:29.600
man hat ja keine Ahnung

58:29.600 --> 58:31.600
und man vertraut ja darauf,

58:31.600 --> 58:33.600
dass das schon seine Richtigkeit haben wird.

58:33.600 --> 58:35.600
Und so wie bei so einem Film

58:35.600 --> 58:37.600
so, der Typ ist maskiert,

58:37.600 --> 58:39.600
keine Ahnung, am Ende,

58:39.600 --> 58:41.600
dann wird es quasi, hey, so

58:41.600 --> 58:43.600
wird es aufgelöst, der war es.

58:43.600 --> 58:45.600
Denkst du, ja, okay, cool,

58:45.600 --> 58:47.600
irgendwann werde ich schon wissen, warum ich das mache.

58:47.600 --> 58:49.600
Es ist halt so ein Ende nicht gibt.

58:49.600 --> 58:51.600
Genau, und das ist halt,

58:51.600 --> 58:53.600
finde ich auch gar nicht so einfach,

58:53.600 --> 58:55.600
das dann festzustellen.

58:55.600 --> 58:57.600
Ja, die Anno- und Anno-Uns sprichst ja

58:57.600 --> 58:59.600
genau.

58:59.600 --> 59:01.600
Da kann ich nur sagen,

59:01.600 --> 59:03.600
mir ist immer mitgegeben worden,

59:03.600 --> 59:05.600
immer mit der Leutschwätze.

59:05.600 --> 59:07.600
Und deswegen, wenn man dann Kontakt

59:07.600 --> 59:09.600
in der Berufsschule hat,

59:09.600 --> 59:11.600
dann auf jeden Fall

59:11.600 --> 59:13.600
ist die beigebaut.

59:13.600 --> 59:15.600
Also, ich wollte, die Kollegen

59:15.600 --> 59:17.600
von Fresenius haben viel abab geschrieben,

59:17.600 --> 59:19.600
das wollte ich jetzt nicht, aber...

59:19.600 --> 59:21.600
Ja, zumindest die,

59:21.600 --> 59:23.600
wie sie das eben dann quasi,

59:23.600 --> 59:25.600
wie sie eingebunden werden, war dann einfach anders.

59:25.600 --> 59:27.600
Auch wenn du vielleicht kein Abab

59:27.600 --> 59:29.600
schreiben wolltest, aber du konntest halt sehen.

59:29.600 --> 59:31.600
Genau, also das war jetzt auf...

59:31.600 --> 59:33.600
Moment, um die kümmert man sich

59:33.600 --> 59:35.600
und um dich halt nicht.

59:35.600 --> 59:37.600
Ich werde den Namen der Akuntur auch nicht nennen.

59:37.600 --> 59:39.600
Es sei denn, es schreibt mich jemand an,

59:39.600 --> 59:41.600
und ich werde den Namen der Akuntur

59:41.600 --> 59:43.600
auch nicht nennen.

59:43.600 --> 59:45.600
Es ist bestimmt ganz anders.

59:45.600 --> 59:47.600
Ja, es ist bestimmt ganz anders.

59:47.600 --> 59:49.600
Also da kann ich nur sagen,

59:49.600 --> 59:51.600
mit den Leuten sprechen

59:51.600 --> 59:53.600
und auch den Mut haben.

59:53.600 --> 59:55.600
Das ist wirklich auch was ich

59:55.600 --> 59:57.600
jetzt für mich sagen

59:57.600 --> 59:59.600
kann.

59:59.600 --> 01:00:01.600
Ich musste an vielen Stellen

01:00:01.600 --> 01:00:03.600
dann halt auch einen gewissen Mut beweisen,

01:00:03.600 --> 01:00:05.600
den man ja auch im Studium

01:00:05.600 --> 01:00:07.600
bestimmt, weiß ich ja nicht,

01:00:07.600 --> 01:00:09.600
also gab immer diese Rangordnung,

01:00:09.600 --> 01:00:11.600
da sind die normal

01:00:11.600 --> 01:00:13.600
Beschäftigten, natürlich gibt es den Chef,

01:00:13.600 --> 01:00:15.600
dann gibt es normal Beschäftigten.

01:00:15.600 --> 01:00:17.600
Zumindest war das in der Akuntur so und auch später.

01:00:17.600 --> 01:00:19.600
Und die einzigen, die unter

01:00:19.600 --> 01:00:21.600
den Azubis sind, sind die Praktikanten.

01:00:21.600 --> 01:00:23.600
Diese

01:00:23.600 --> 01:00:25.600
natürliche Rangordnung.

01:00:25.600 --> 01:00:27.600
Und wenn man dann einfach nur guckt,

01:00:27.600 --> 01:00:29.600
dass man sich irgendwie mit den Leuten

01:00:29.600 --> 01:00:31.600
ja gewissenweise gut stellt

01:00:31.600 --> 01:00:33.600
und dann auch immer viel miteinander kommuniziert,

01:00:33.600 --> 01:00:35.600
wissen wir ja, dass man stecken fährt,

01:00:35.600 --> 01:00:37.600
dann findet man das schon

01:00:37.600 --> 01:00:39.600
gut raus. Und dann aber auch den Mut zu haben

01:00:39.600 --> 01:00:41.600
zu sagen, nee, ich mach

01:00:41.600 --> 01:00:43.600
dann noch was anderes, muss man schon machen

01:00:43.600 --> 01:00:45.600
wollen, aber

01:00:45.600 --> 01:00:47.600
alleine wird es nicht besser.

01:00:47.600 --> 01:00:49.600
Und deswegen muss man nur noch

01:00:49.600 --> 01:00:51.600
in den sauren Apfel beißen sagen,

01:00:51.600 --> 01:00:53.600
ich glaub das wird hier nichts.

01:00:53.600 --> 01:00:55.600
Da muss man aber

01:00:55.600 --> 01:00:57.600
auch ehrlich sein und sagen, die meisten kriegen das nicht hin.

01:00:57.600 --> 01:00:59.600
Wenn man überlegt, man kann mit

01:00:59.600 --> 01:01:01.600
Realschulabschluss diese Ausflug machen,

01:01:01.600 --> 01:01:03.600
da sitzen teilweise 17-Jährige, die sagen

01:01:03.600 --> 01:01:05.600
ich werde hier aber schlecht ausgebildet.

01:01:05.600 --> 01:01:07.600
Die sind froh, dass sie da irgendwie überhaupt

01:01:07.600 --> 01:01:09.600
einen Platz gekriegt haben oder irgendwas.

01:01:09.600 --> 01:01:11.600
Also ich bin ganz ehrlich, die meisten trauen sich das gerade nicht.

01:01:11.600 --> 01:01:13.600
Und deswegen ist es wichtig, dass man

01:01:13.600 --> 01:01:15.600
es nochmal sagt,

01:01:15.600 --> 01:01:17.600
man hat ein Recht, gut ausgebildet zu werden.

01:01:17.600 --> 01:01:19.600
Da steht im Baby drin.

01:01:19.600 --> 01:01:21.600
Leider ist das so, wenn man sich mal das Studium anguckt,

01:01:21.600 --> 01:01:23.600
das ist in irgendeiner Form ja so ein bisschen normiert.

01:01:23.600 --> 01:01:25.600
Es gibt eine Akkreditierung.

01:01:25.600 --> 01:01:27.600
Da sind ungefähr die gleichen Inhalte drin, da weiß man,

01:01:27.600 --> 01:01:29.600
da wird man wahrscheinlich, ob der Dozent dann gut macht

01:01:29.600 --> 01:01:31.600
oder nicht, okay, aber man kriegt auf jeden Fall die passende Inhalte.

01:01:31.600 --> 01:01:33.600
Das ist bei Ausbildungsunternehmen nicht so.

01:01:33.600 --> 01:01:35.600
Da läuft keiner hin und sagt, bildet ihr gut aus, macht ihr das denn auch

01:01:35.600 --> 01:01:37.600
und kümmert ihr euch fünf Stunden am Tag

01:01:37.600 --> 01:01:39.600
um ihr dazu zu bieten oder nicht.

01:01:39.600 --> 01:01:41.600
Sondern da macht einfach jeder so, wie er meint.

01:01:41.600 --> 01:01:43.600
Und da gibt es halt ganz, ganz krasse Qualitätsunterschiede

01:01:43.600 --> 01:01:45.600
auf jeden Fall.

01:01:45.600 --> 01:01:47.600
Und das muss man sich unbedingt vorher angucken.

01:01:47.600 --> 01:01:49.600
Probezeit ist eigentlich schon fast zu spät,

01:01:49.600 --> 01:01:51.600
weil wie du schon sagst, wenn ich dann raus bin aus der Ausbildung

01:01:51.600 --> 01:01:53.600
und woanders noch eine Stelle zu kriegen in der abgebrochenen Ausbildung.

01:01:53.600 --> 01:01:55.600
Das ist wirklich sehr, sehr schwer, ganz ehrlich.

01:01:55.600 --> 01:01:57.600
Und man hat aber keine Chance,

01:01:57.600 --> 01:01:59.600
weil wir das gerade hatten, zu prüfern

01:01:59.600 --> 01:02:01.600
und den Kontakt aufzunehmen, das ist alles ehrenamtlich.

01:02:01.600 --> 01:02:03.600
Wir arbeiten auch nicht für die IHK,

01:02:03.600 --> 01:02:05.600
sondern wir sind komplett eigenständig

01:02:05.600 --> 01:02:07.600
und die IHK beauftragt uns nur.

01:02:07.600 --> 01:02:09.600
Das heißt, es gibt ja auch keine Chance,

01:02:09.600 --> 01:02:11.600
vorab herauszufinden, wer da im Prüfungsausschuss sitzt

01:02:11.600 --> 01:02:13.600
oder mal eben fragen, worauf er weggelegt wird,

01:02:13.600 --> 01:02:15.600
so was gibt es nicht.

01:02:15.600 --> 01:02:17.600
Und die einzige Anschrittpartner, die ich auch nennen könnte,

01:02:17.600 --> 01:02:19.600
du hast schon gesagt, Mitschüler auf jeden Fall, Mitschülerinnen.

01:02:19.600 --> 01:02:21.600
Aber vor allem auch natürlich Lehrer und Lehrerinnen.

01:02:21.600 --> 01:02:23.600
Also die Prüfungsausschüsse müssen immer paritätisch besetzt sein,

01:02:23.600 --> 01:02:25.600
Arbeitnehmer, Arbeitgeber und Lehrer.

01:02:25.600 --> 01:02:27.600
Das heißt, es gibt immer irgendeinen auch den eigenen Lehrer,

01:02:27.600 --> 01:02:29.600
der mit in so einem Ausschuss sitzt.

01:02:29.600 --> 01:02:31.600
Und da kann man mal nachfragen,

01:02:31.600 --> 01:02:33.600
werde ich eigentlich gut ausgebildet oder nicht.

01:02:33.600 --> 01:02:35.600
Also das sollten dann vielleicht Anschrittpartner sein,

01:02:35.600 --> 01:02:37.600
die sich dazu äußern können.

01:02:37.600 --> 01:02:39.600
Und ansonsten ist es tatsächlich gar nicht so einfach,

01:02:39.600 --> 01:02:41.600
wenn man die Probezeit verstreichen lässt,

01:02:41.600 --> 01:02:43.600
rauszukommen aus dem Unternehmen.

01:02:43.600 --> 01:02:45.600
Also ein Ausführungsvertrag gilt ja für beide Seiten.

01:02:45.600 --> 01:02:47.600
Für das Unternehmen ist es auch nicht so einfach,

01:02:47.600 --> 01:02:49.600
die ja zugießlos zu werden.

01:02:49.600 --> 01:02:51.600
Aber auch umgekehrt ist das gar nicht so einfach.

01:02:51.600 --> 01:02:53.600
Wenn man ein Unternehmen hat,

01:02:53.600 --> 01:02:55.600
was einen Partout nicht gehen lassen will

01:02:55.600 --> 01:02:57.600
und Klausel im Baby graus,

01:02:57.600 --> 01:02:59.600
wenn man sagt, ich will den Beruf nicht mehr erlernen.

01:02:59.600 --> 01:03:01.600
Und dann habe ich natürlich ein Problem.

01:03:01.600 --> 01:03:03.600
Wenn ich mich anmöglichse, woanders im anderen Laden

01:03:03.600 --> 01:03:05.600
weiter machen will, dann geht das leider nicht.

01:03:05.600 --> 01:03:07.600
Sonst komme ich nicht aus dem Vertrag aus.

01:03:07.600 --> 01:03:09.600
Also da bindet man sich schon sehr stark an so ein Unternehmen.

01:03:09.600 --> 01:03:11.600
Und wenn man da die falsche Karte zieht,

01:03:11.600 --> 01:03:13.600
haben wir am Bett gehabt.

01:03:13.600 --> 01:03:15.600
Von daher kann ich nur sagen,

01:03:15.600 --> 01:03:17.600
vorab prüfen, auch im Bewerbungsgespräch,

01:03:17.600 --> 01:03:19.600
vorab gerne auch Fragen stellen

01:03:19.600 --> 01:03:21.600
und nicht einfach nur Fragen beantworten.

01:03:21.600 --> 01:03:23.600
Was wird mir hier beigebracht?

01:03:23.600 --> 01:03:25.600
Wie wird mir das beigebracht?

01:03:25.600 --> 01:03:27.600
Wer bringt mir das bei?

01:03:27.600 --> 01:03:29.600
Sitze ich nur mit den Azubis zusammen?

01:03:29.600 --> 01:03:31.600
Lauf ich zum Beispiel durch mehrere Abteilungen?

01:03:31.600 --> 01:03:33.600
Das hast du ja von erzählt.

01:03:33.600 --> 01:03:35.600
Das ist gar nicht ein Unternehmen so, oder?

01:03:35.600 --> 01:03:37.600
Einige machen so einen Rundlauf,

01:03:37.600 --> 01:03:39.600
andere erst mal nur eine Abteilung.

01:03:39.600 --> 01:03:41.600
Manchmal auch gar nicht unbedingt in der IT-Abteilung,

01:03:41.600 --> 01:03:43.600
sondern vielleicht im Einkauf 3 Jahre,

01:03:43.600 --> 01:03:45.600
weil man ist ja eigentlich ein Kaufmännischer auszubilden.

01:03:45.600 --> 01:03:47.600
Von daher unbedingt Nachfragen,

01:03:47.600 --> 01:03:49.600
weil es gibt wirklich super krasse Qualitätsunterschiede.

01:03:49.600 --> 01:03:51.600
Das kann man auch gar nicht.

01:03:51.600 --> 01:03:53.600
Ja, ist natürlich aber auch viel verlangt,

01:03:53.600 --> 01:03:55.600
um das jetzt auch mal so

01:03:55.600 --> 01:03:57.600
vielleicht noch ein jüngeres Ich zu verteidigen

01:03:57.600 --> 01:03:59.600
und auch das, was du Chef gesagt hattest.

01:03:59.600 --> 01:04:01.600
Weil ich war da auch 18,

01:04:01.600 --> 01:04:03.600
also ich hätte rückwirkend

01:04:03.600 --> 01:04:05.600
es nicht gut gefunden

01:04:05.600 --> 01:04:07.600
oder finde es nicht gut,

01:04:07.600 --> 01:04:09.600
dass ich da schon wählen durfte,

01:04:09.600 --> 01:04:11.600
weil ich habe keine Ahnung gehabt.

01:04:11.600 --> 01:04:13.600
Ach, das hatten wir im Alter nichts.

01:04:13.600 --> 01:04:15.600
Ja, okay.

01:04:15.600 --> 01:04:17.600
Aber ich würde sagen, mittlerweile

01:04:17.600 --> 01:04:19.600
habe ich da schon ein bisschen mehr raus.

01:04:19.600 --> 01:04:21.600
Und wenn diese Geschichte geht von wegen

01:04:21.600 --> 01:04:23.600
eine Idee, die erst ab 21,

01:04:23.600 --> 01:04:25.600
mit 18 weiß es auch noch nicht,

01:04:25.600 --> 01:04:27.600
dann kannst du es auch gleich ab 16 machen.

01:04:27.600 --> 01:04:29.600
So, das ist meine Haltung.

01:04:29.600 --> 01:04:31.600
Aber das ist ein anderes Thema.

01:04:31.600 --> 01:04:33.600
Aber da war es auch so,

01:04:33.600 --> 01:04:35.600
dass ich tatsächlich erstmal

01:04:35.600 --> 01:04:37.600
diesen Mut fassen musste,

01:04:37.600 --> 01:04:39.600
dass ich das wirklich da durchdrück.

01:04:39.600 --> 01:04:41.600
Weil du hast keine Ahnung,

01:04:41.600 --> 01:04:43.600
ich bin da auch hingegangen in das Gespräch

01:04:43.600 --> 01:04:45.600
und ich dachte, ich werde geprüft.

01:04:45.600 --> 01:04:47.600
Und so haben sie sich auch präsentiert

01:04:47.600 --> 01:04:49.600
zu uns, wir wollen eigentlich nichts von dir.

01:04:49.600 --> 01:04:51.600
Und dann auch zu sagen,

01:04:51.600 --> 01:04:53.600
nee, so habe ich mir das nicht vorgestellt.

01:04:53.600 --> 01:04:55.600
Das ist natürlich auch...

01:04:55.600 --> 01:04:57.600
Da muss man erstmal hinkucken.

01:04:57.600 --> 01:04:59.600
Das ist ja auch ein Bruch von der Schule

01:04:59.600 --> 01:05:01.600
zu diesem Szenario,

01:05:01.600 --> 01:05:03.600
weil die Schule ja schon

01:05:03.600 --> 01:05:05.600
irgendwie versucht,

01:05:05.600 --> 01:05:07.600
alle Uniformen durch ihr System

01:05:07.600 --> 01:05:09.600
irgendwie durchzukriegen.

01:05:09.600 --> 01:05:11.600
Und da wird von dir eben erwartet,

01:05:11.600 --> 01:05:13.600
dass du quasi dich da

01:05:13.600 --> 01:05:15.600
in dieses Bötchen reinsetzt

01:05:15.600 --> 01:05:17.600
den Weg mitfährst, so wie er eben ist.

01:05:17.600 --> 01:05:19.600
Und auf einmal,

01:05:19.600 --> 01:05:21.600
das ist ja beim Studium auch so,

01:05:21.600 --> 01:05:23.600
dann wird von dir verlangt,

01:05:23.600 --> 01:05:25.600
okay, jetzt musst du

01:05:25.600 --> 01:05:27.600
quasi selbst gestalten.

01:05:27.600 --> 01:05:29.600
Also idealerweise.

01:05:29.600 --> 01:05:31.600
Du kannst natürlich musst nicht,

01:05:31.600 --> 01:05:33.600
aber wenn du irgendwie erfolgreich sein willst,

01:05:33.600 --> 01:05:35.600
solltest du dir das halt dann schnell angewöhnen.

01:05:35.600 --> 01:05:37.600
Und das ist halt schwierig.

01:05:37.600 --> 01:05:39.600
Und ich glaube, das ist auch normal

01:05:39.600 --> 01:05:41.600
ein Vorteil von dieser

01:05:41.600 --> 01:05:43.600
praktischen Ausbildung im Vergleich

01:05:43.600 --> 01:05:45.600
theoretischen, was das reine Studium angeht.

01:05:45.600 --> 01:05:47.600
Du hast einfach...

01:05:47.600 --> 01:05:49.600
Also ich habe viele verschiedene

01:05:49.600 --> 01:05:51.600
Eckenheitsschirma gesehen.

01:05:51.600 --> 01:05:53.600
Viele verschiedene Leute, wie

01:05:53.600 --> 01:05:55.600
da damals auch die verschiedene Abteilung

01:05:55.600 --> 01:05:57.600
funktioniert haben.

01:05:57.600 --> 01:05:59.600
Ich habe dann schon einen gewissen

01:05:59.600 --> 01:06:01.600
Grundstock gehabt, als ich gesagt habe,

01:06:01.600 --> 01:06:03.600
okay, ich gucke mich irgendwie um.

01:06:03.600 --> 01:06:05.600
Weil ich wusste irgendwie, wie das mitte,

01:06:05.600 --> 01:06:07.600
wie man menschelt,

01:06:07.600 --> 01:06:09.600
wie man sich gut

01:06:09.600 --> 01:06:11.600
in so eine Abteilung integriert etc.

01:06:11.600 --> 01:06:13.600
Und ich glaube, das ist ein...

01:06:13.600 --> 01:06:15.600
Wenn man eher so der Typ ist, der das

01:06:15.600 --> 01:06:17.600
gerne macht,

01:06:17.600 --> 01:06:19.600
da würde ich sagen, bin ich eher so.

01:06:19.600 --> 01:06:21.600
Dann ist das ein Vorteil,

01:06:21.600 --> 01:06:23.600
weil du mehr Erfahrungen, was

01:06:23.600 --> 01:06:25.600
diese sozialen Interaktionen

01:06:25.600 --> 01:06:27.600
angeht, sammelt es, glaube ich.

01:06:27.600 --> 01:06:29.600
Und ansonsten ist es so, dass er dann sehr...

01:06:29.600 --> 01:06:31.600
Ich stelle mir das Studium immer so vor,

01:06:31.600 --> 01:06:33.600
ja, dann bin ich da

01:06:33.600 --> 01:06:35.600
bei den Vorlesungen und dann habe ich dann

01:06:35.600 --> 01:06:37.600
meine Mitstudierenden und dann habe ich da meinen,

01:06:37.600 --> 01:06:39.600
was ist ich, Studentenjob.

01:06:39.600 --> 01:06:41.600
Also ich bin in der Mensa und ist noch so ein bisschen

01:06:41.600 --> 01:06:43.600
theoretischer, ein bisschen mehr

01:06:43.600 --> 01:06:45.600
an diesem Schulleben dran.

01:06:45.600 --> 01:06:47.600
Und bei dem anderen ist es so,

01:06:47.600 --> 01:06:49.600
jetzt bist du der Azubi und

01:06:49.600 --> 01:06:51.600
jetzt musst du hier irgendwie mitschwimmen.

01:06:51.600 --> 01:06:53.600
Da hast du da so ein bisschen

01:06:53.600 --> 01:06:55.600
mehr Zeit

01:06:55.600 --> 01:06:57.600
um da Eindrücke zu sammeln.

01:06:57.600 --> 01:06:59.600
Also für mich persönlich ist es

01:06:59.600 --> 01:07:01.600
in dem Fall, ich habe sehr viel

01:07:01.600 --> 01:07:03.600
jetzt negatives berichtet,

01:07:03.600 --> 01:07:05.600
aber in dem Fall ist es, glaube ich,

01:07:05.600 --> 01:07:07.600
tatsächlich ein großer Vorteil.

01:07:07.600 --> 01:07:09.600
Was ich noch ergänzen kann,

01:07:09.600 --> 01:07:11.600
deine Ausbildung ist ja auch schon

01:07:11.600 --> 01:07:13.600
ein bisschen länger hier. Ich war auch ähnlich.

01:07:13.600 --> 01:07:15.600
Wir haben ungefähr zur gleichen Zeit angefangen.

01:07:15.600 --> 01:07:17.600
Ich habe auch gedacht, oh Gott, bitte nehmt mich.

01:07:17.600 --> 01:07:19.600
Keine Frage falsch beantworten.

01:07:19.600 --> 01:07:21.600
Ehrlicherweise ist jetzt fast 20 Jahre her.

01:07:21.600 --> 01:07:23.600
Die Zeiten sind vorbei.

01:07:23.600 --> 01:07:25.600
Also wir haben einen ganz klassischen Bewerbermarkt.

01:07:25.600 --> 01:07:27.600
Wir haben vorhin schon Übereinstellungschancen

01:07:27.600 --> 01:07:29.600
nach der Ausbildung gesprochen.

01:07:29.600 --> 01:07:31.600
Ein Thilo werden gesucht ohne Ende.

01:07:31.600 --> 01:07:33.600
Azubis werden genauso gesucht ohne Ende.

01:07:33.600 --> 01:07:35.600
Gerade in neuen Zahlen von der Arbeitsagentur raus.

01:07:35.600 --> 01:07:37.600
Es gibt ja noch 1.000 Azubis weniger,

01:07:37.600 --> 01:07:39.600
als es offene Stellen gibt.

01:07:39.600 --> 01:07:41.600
Das heißt, die wissen das

01:07:41.600 --> 01:07:43.600
und die stellen heute auch ganz andere Fragen.

01:07:43.600 --> 01:07:45.600
Das dürfen sie auch,

01:07:45.600 --> 01:07:47.600
weil sie sitzen am längeren Hebel einfach.

01:07:47.600 --> 01:07:49.600
Das heißt, der Kampf um die Azubis

01:07:49.600 --> 01:07:51.600
ist bei uns genauso schlimm wie

01:07:51.600 --> 01:07:53.600
um die Festangestellten, tatsächlich.

01:07:53.600 --> 01:07:55.600
Mit dem Problem, dass die ja noch gar nicht genau wissen,

01:07:55.600 --> 01:07:57.600
ob sie vielleicht überhaupt IT machen sollen.

01:07:57.600 --> 01:07:59.600
Das heißt, man muss sich davon überzeugen,

01:07:59.600 --> 01:08:01.600
auch noch IT zu machen.

01:08:01.600 --> 01:08:03.600
Also das ist gar nicht so einfach.

01:08:03.600 --> 01:08:05.600
Das ist ein großer Teil für Ausprungsverantwortliche

01:08:05.600 --> 01:08:07.600
heutzutage.

01:08:07.600 --> 01:08:09.600
Das zeigt sich auch in den Fragen,

01:08:09.600 --> 01:08:11.600
die wir inzwischen gestellt bekommen

01:08:11.600 --> 01:08:13.600
in unseren Vorstellungsgesprächen.

01:08:13.600 --> 01:08:15.600
Also ich mag diese klassischen Fragen nicht so,

01:08:15.600 --> 01:08:17.600
wo sehen sie sich in 5 Jahren?

01:08:17.600 --> 01:08:19.600
Das finde ich ganz gruselig.

01:08:19.600 --> 01:08:21.600
Aber genau diese Frage hat uns ein Bewerber schon gestellt.

01:08:21.600 --> 01:08:23.600
Wo sehen sie denn ihr Unternehmen in 5 Jahren?

01:08:23.600 --> 01:08:25.600
Erzählen Sie mal, was haben Sie denn hier dann,

01:08:25.600 --> 01:08:27.600
wenn ich hier anfange?

01:08:27.600 --> 01:08:29.600
Also das wissen die jungen Leute schon.

01:08:29.600 --> 01:08:31.600
Die Generationen sind da schon ein bisschen anders

01:08:31.600 --> 01:08:33.600
und wollen jetzt mehr voraus

01:08:33.600 --> 01:08:35.600
und wollen auch mehr von den Unternehmen haben.

01:08:35.600 --> 01:08:37.600
Und sind nicht mehr diese Bit-Steller,

01:08:37.600 --> 01:08:39.600
wie wir vielleicht früher noch fragen.

01:08:39.600 --> 01:08:41.600
Cool.

01:08:41.600 --> 01:08:43.600
Das ist vielleicht auch nochmal ein ganz interessantes Stichwort.

01:08:43.600 --> 01:08:45.600
Wir haben viel jetzt drauf geschaut,

01:08:45.600 --> 01:08:47.600
was es eigentlich für Bewerberinnen und Bewerber zu erwarten.

01:08:47.600 --> 01:08:49.600
Natürlich auch ein Stück weit,

01:08:49.600 --> 01:08:51.600
was sollten die Unternehmen mitbringen,

01:08:51.600 --> 01:08:53.600
damit die Bewerberinnen und Bewerber gut ausgebildet werden.

01:08:53.600 --> 01:08:55.600
Aber was muss man denn vielleicht auch mal

01:08:55.600 --> 01:08:57.600
auf der anderen Seite,

01:08:57.600 --> 01:08:59.600
was muss man denn eigentlich mitbringen,

01:08:59.600 --> 01:09:01.600
uns da auch gerne so ein paar coole Azubis

01:09:01.600 --> 01:09:03.600
reinholen,

01:09:03.600 --> 01:09:05.600
weil auf der einen Seite

01:09:05.600 --> 01:09:07.600
helfen die uns natürlich langfristig

01:09:07.600 --> 01:09:09.600
unsere Recruiting-Strategie ein Stück weit

01:09:09.600 --> 01:09:11.600
verändert zu betrachten,

01:09:11.600 --> 01:09:13.600
als immer nur von der Konkurrenz abzuwerben.

01:09:13.600 --> 01:09:15.600
Auf der anderen Seite hat man ja auch die Möglichkeit,

01:09:15.600 --> 01:09:17.600
die Leute genau den Leuten genau das beizubringen,

01:09:17.600 --> 01:09:19.600
was man in seinem Unternehmen braucht.

01:09:19.600 --> 01:09:21.600
Was brauch ich denn dafür eigentlich?

01:09:21.600 --> 01:09:23.600
Viel Zeit und Geld.

01:09:23.600 --> 01:09:25.600
Das ist das erste.

01:09:25.600 --> 01:09:27.600
Das würde ich mal mitgeben.

01:09:27.600 --> 01:09:29.600
Also ohne Zeit geht es nicht.

01:09:29.600 --> 01:09:31.600
Geld haben wir gerade schon gesagt,

01:09:31.600 --> 01:09:33.600
Studiengebühren, okay, da sind wir ein paar 10.000.

01:09:33.600 --> 01:09:35.600
Ansonsten ist es natürlich im Vergleich zu einem Fest angestellten,

01:09:35.600 --> 01:09:37.600
verdient der Azubi natürlich nicht so viel.

01:09:37.600 --> 01:09:39.600
Aber was viel wichtiger ist, ist die Zeit.

01:09:39.600 --> 01:09:41.600
Weil man braucht ausbildende Personen,

01:09:41.600 --> 01:09:43.600
die da Zeit investieren müssen,

01:09:43.600 --> 01:09:45.600
einfach.

01:09:45.600 --> 01:09:47.600
Und das wird in vielen Unternehmen einfach nicht so gesehen.

01:09:47.600 --> 01:09:49.600
Da läuft der Azubi halt einfach mit,

01:09:49.600 --> 01:09:51.600
der sitzt halt daneben, da macht da irgendwie mal ein bisschen was.

01:09:51.600 --> 01:09:53.600
Aber man muss auch den Leuten ja was beibringen.

01:09:53.600 --> 01:09:55.600
Das lehnen die nicht einfach so.

01:09:55.600 --> 01:09:57.600
Und wenn hier ist das Buch, liest das mal,

01:09:57.600 --> 01:09:59.600
dann heißt es aber ja nicht, dass ich Ausbilder bin,

01:09:59.600 --> 01:10:01.600
sondern ich habe da nur das Buch hingelegt.

01:10:01.600 --> 01:10:03.600
Also das reicht halt nicht.

01:10:03.600 --> 01:10:05.600
Und ich muss vielleicht auch prüfen, ob das wirklich angekommen ist.

01:10:05.600 --> 01:10:07.600
Ich muss bei diesem Abschlussbrück da vielleicht mal drauf gucken.

01:10:07.600 --> 01:10:09.600
Auch mal ein Rechtschreibfehler korrigieren.

01:10:09.600 --> 01:10:11.600
Und auch mal das Fachgespräch üben und so weiter.

01:10:11.600 --> 01:10:13.600
Und jetzt haben wir gehört, es gibt diese ganze Themenbreite.

01:10:13.600 --> 01:10:15.600
Die muss ich als Ausbilder natürlich auch abdecken.

01:10:15.600 --> 01:10:17.600
Auch ich muss mich nochmal wieder mit Subnetting auseinandersetzen.

01:10:17.600 --> 01:10:19.600
Weil ich muss das dem mal zu Bier vermitteln.

01:10:19.600 --> 01:10:21.600
Das ist ja klar.

01:10:21.600 --> 01:10:23.600
Sonst soll das sonst machen.

01:10:23.600 --> 01:10:25.600
Das heißt, das ist das Kern Investment.

01:10:25.600 --> 01:10:27.600
Viele denken sich, oh, geil, Azubi.

01:10:27.600 --> 01:10:29.600
Ja, dann stelle ich da eben ein.

01:10:29.600 --> 01:10:31.600
Der ist billig, der arbeitet mir, was weg.

01:10:31.600 --> 01:10:33.600
Da habe ich dann noch mehr Zeit als vorher.

01:10:33.600 --> 01:10:35.600
Im Gegenteil, da geht richtig Zeit rein.

01:10:35.600 --> 01:10:37.600
Das ist ein Zeitinvestment.

01:10:37.600 --> 01:10:39.600
Und ansonsten, ganz klassisch versteht im Gesetz,

01:10:39.600 --> 01:10:41.600
ich muss persönlich und fachlich geeignet sein,

01:10:41.600 --> 01:10:43.600
jemanden ausbilden zu dürfen überhaupt erstmal.

01:10:43.600 --> 01:10:45.600
Und die persönliche Eignung

01:10:45.600 --> 01:10:47.600
lässt sich darauf reduzieren,

01:10:47.600 --> 01:10:49.600
dass ich am besten keine Vorstrafen habe.

01:10:49.600 --> 01:10:51.600
Dann ist das eigentlich schon ganz gut.

01:10:51.600 --> 01:10:53.600
Die fachliche Eignung

01:10:53.600 --> 01:10:55.600
heißt zum Beispiel,

01:10:55.600 --> 01:10:57.600
dass ich vielleicht selber

01:10:57.600 --> 01:10:59.600
in dem Beruf eine Ausbildung gemacht habe.

01:10:59.600 --> 01:11:01.600
Oder in irgendeiner anderen Form

01:11:01.600 --> 01:11:03.600
meine Qualifikation nachweisen kann.

01:11:03.600 --> 01:11:05.600
Und am einfachsten kann ich das,

01:11:05.600 --> 01:11:07.600
indem ich den ADA oder AEFO schein mache.

01:11:07.600 --> 01:11:09.600
Also ADA Ausbildung der Ausbilder

01:11:09.600 --> 01:11:11.600
oder AEFO Ausbildung Eignungsverordnung.

01:11:11.600 --> 01:11:13.600
Da gibt es bei jeder Industrie- und Handelskammer

01:11:13.600 --> 01:11:15.600
oder bei Handwerkskammern Prüfung.

01:11:15.600 --> 01:11:17.600
Da muss ich dann insbesondere

01:11:17.600 --> 01:11:19.600
tatsächlich einfach Gesetzestext hauptsächlich auswendig lernen.

01:11:19.600 --> 01:11:21.600
Das ist eine Verweisung.

01:11:21.600 --> 01:11:23.600
Also ich muss einem fiktiven Azubi etwas beibringen.

01:11:23.600 --> 01:11:25.600
Und dann wird darüber ein Fachgespräch geführt

01:11:25.600 --> 01:11:27.600
und geguckt, wie gut ich das gemacht habe.

01:11:27.600 --> 01:11:29.600
Ob ich nicht eine andere Methode hätte beste wählen können

01:11:29.600 --> 01:11:31.600
und so weiter und so fort.

01:11:31.600 --> 01:11:33.600
Aber eben auch die ganzen rechtlichen Sachen.

01:11:33.600 --> 01:11:35.600
Das darf man halt auch nicht vergessen.

01:11:35.600 --> 01:11:37.600
Man kann so ein Azubi da noch keine 18 ist,

01:11:37.600 --> 01:11:39.600
nicht bis 22 Uhr programmieren lassen oder so was.

01:11:39.600 --> 01:11:41.600
Solche Sachen sind natürlich auch wichtig.

01:11:41.600 --> 01:11:43.600
Wir haben Arbeitsschutz-Gesetze, die eingehalten werden müssen.

01:11:43.600 --> 01:11:45.600
Und das ist halt, wenn man diese Ausbildung

01:11:45.600 --> 01:11:47.600
der Ausbilder macht,

01:11:47.600 --> 01:11:49.600
dann muss man noch mal so ein bisschen zeigen,

01:11:49.600 --> 01:11:51.600
dass man auch methodisch was kann.

01:11:51.600 --> 01:11:53.600
Also mache ich die vier-Stufen-Methode

01:11:53.600 --> 01:11:55.600
oder ein Lehrgespräch

01:11:55.600 --> 01:11:57.600
oder solche Sachen, die man halt schön lernen kann.

01:11:57.600 --> 01:11:59.600
Und wenn man diesen Zettel hat,

01:11:59.600 --> 01:12:01.600
dann darf man auch offiziell ausbilden

01:12:01.600 --> 01:12:03.600
und kann dann als Ausbildungsunternehmen

01:12:03.600 --> 01:12:05.600
eingetragen werden bei der IAK.

01:12:05.600 --> 01:12:07.600
Diese Hürde muss man auf jeden Fall nehmen.

01:12:07.600 --> 01:12:09.600
Ich kann nicht einfach Azubis einstellen.

01:12:09.600 --> 01:12:11.600
Ich muss auf jeden Fall bei der IAK

01:12:11.600 --> 01:12:13.600
als Ausbildungsunternehmen mich registrieren lassen.

01:12:13.600 --> 01:12:15.600
Und am einfachsten geht es halt,

01:12:15.600 --> 01:12:17.600
nachweisen, dass man qualifiziert ist

01:12:17.600 --> 01:12:19.600
und junge Leute ausbilden darf.

01:12:19.600 --> 01:12:21.600
Weil man darf nicht vergessen, die sind

01:12:21.600 --> 01:12:25.600
ja von 16 bis Mitte 20, 30, 40 heutzutage.

01:12:25.600 --> 01:12:27.600
Und wenn ich da junge Menschen ausbilde,

01:12:27.600 --> 01:12:29.600
den kann ich mit einer schlechten Ausbildung

01:12:29.600 --> 01:12:31.600
auch echt ihr Leben versauen.

01:12:31.600 --> 01:12:33.600
Das darf man jetzt auch nicht vergessen.

01:12:33.600 --> 01:12:35.600
Und da habe ich auch eine gewisse Verantwortung.

01:12:35.600 --> 01:12:37.600
Und da kann ich jetzt nicht jeden Hans und Franz,

01:12:37.600 --> 01:12:39.600
Entschuldigung Hans, ausbilden lassen.

01:12:39.600 --> 01:12:41.600
Das passt einfach nicht.

01:12:41.600 --> 01:12:43.600
Das finde ich auch gut, dass es wenigstens

01:12:43.600 --> 01:12:45.600
ein Naderschein, den gibt es,

01:12:45.600 --> 01:12:47.600
übertreibt jetzt mal mit drei Wochenendkursen,

01:12:47.600 --> 01:12:49.600
dann habe ich den.

01:12:49.600 --> 01:12:51.600
Da muss ich jetzt auch nicht so viel für lernen und so weiter.

01:12:51.600 --> 01:12:53.600
Das zeigt trotzdem nicht, dass ich eine gute Ausbildung mache.

01:12:53.600 --> 01:12:55.600
Da muss ich also, was ich am wichtigsten finde,

01:12:55.600 --> 01:12:57.600
ist, das Mindset muss auch passen.

01:12:57.600 --> 01:12:59.600
Wenn ich jetzt sage, geil, ich will Azubis ausbilden,

01:12:59.600 --> 01:13:01.600
aber mein Chef sagt, ja, aber wichtiger

01:13:01.600 --> 01:13:03.600
ist, dass das Projekt fertig ist,

01:13:03.600 --> 01:13:05.600
dann werde ich keine gute Ausbildung machen können.

01:13:05.600 --> 01:13:07.600
Das Unternehmen, und zwar von oben,

01:13:07.600 --> 01:13:09.600
von der Geschäftsführung ab,

01:13:09.600 --> 01:13:11.600
muss sagen, wir wollen ausbilden

01:13:11.600 --> 01:13:13.600
und wir investieren dafür Zeit und Geld.

01:13:13.600 --> 01:13:15.600
Und wir sehen auch, dass das ein langfristiges Investment ist.

01:13:15.600 --> 01:13:17.600
Und nicht, dass wir nächste Woche

01:13:17.600 --> 01:13:19.600
dadurch mehr Kundenaufträge kriegen.

01:13:19.600 --> 01:13:21.600
Das finde ich immer ganz wichtig.

01:13:21.600 --> 01:13:23.600
Und wenn ich dann in der Prüfung Leute sitzen habe,

01:13:23.600 --> 01:13:25.600
die schlecht abschneiden, dann ist das meistens so,

01:13:25.600 --> 01:13:27.600
dass das eben nicht so ist.

01:13:27.600 --> 01:13:29.600
Sondern da war die Person halt, die musste ran,

01:13:29.600 --> 01:13:31.600
die musste arbeiten.

01:13:31.600 --> 01:13:33.600
Und da wurde auch mal, wie gerade zum Beispiel,

01:13:33.600 --> 01:13:35.600
das Berichtseff, das kannst du aber schön zu Hause schreiben.

01:13:35.600 --> 01:13:37.600
Obwohl halt im Gesetz steht,

01:13:37.600 --> 01:13:39.600
dass man es während der Arbeitszeit machen darf.

01:13:39.600 --> 01:13:41.600
Und ja, Augen auf,

01:13:41.600 --> 01:13:43.600
bei der Ausbildungsunternehmenswahl

01:13:43.600 --> 01:13:45.600
kann ich da nur sagen.

01:13:47.600 --> 01:13:49.600
Gibt es da denn so was wie,

01:13:49.600 --> 01:13:51.600
ah, sorry, sag du Hans.

01:13:51.600 --> 01:13:53.600
Dank dir.

01:13:53.600 --> 01:13:55.600
Ich wollte einfach auf etwas hinaus,

01:13:55.600 --> 01:13:57.600
was wir ja heutzutage so

01:13:57.600 --> 01:13:59.600
als Convenience in so vielen Bereichen

01:13:59.600 --> 01:14:01.600
irgendwie nutzen, Rating-Systeme.

01:14:01.600 --> 01:14:03.600
Ich sag mal, wenn ich ins Restaurant

01:14:03.600 --> 01:14:05.600
gehe, schaue ich bei Google Maps.

01:14:05.600 --> 01:14:07.600
Was sind da eigentlich so die Bewertungen,

01:14:07.600 --> 01:14:09.600
wenn ich das Hotel mir angucke,

01:14:09.600 --> 01:14:11.600
mache ich das Gleiche,

01:14:11.600 --> 01:14:13.600
oder gehe bei Booking hin.

01:14:13.600 --> 01:14:15.600
Für Unternehmen gibt es ja

01:14:15.600 --> 01:14:17.600
ganz häufig so,

01:14:17.600 --> 01:14:19.600
ja, Bewertungsportale,

01:14:19.600 --> 01:14:21.600
wie jetzt Kununu oder ähnliches.

01:14:21.600 --> 01:14:23.600
Hilft das auch bei der Ausbildung?

01:14:23.600 --> 01:14:25.600
Gibt es da vergleichbare Portale?

01:14:25.600 --> 01:14:27.600
Weißt du, was was cool ist?

01:14:27.600 --> 01:14:29.600
Ich wollte das Gleiche fragen.

01:14:29.600 --> 01:14:31.600
Sehr schön.

01:14:31.600 --> 01:14:33.600
Ja, wir sind schon jahrelang,

01:14:33.600 --> 01:14:35.600
machen wir schon diesen Podcast zusammen

01:14:35.600 --> 01:14:37.600
und da haben wir uns von den Fragen ja

01:14:37.600 --> 01:14:39.600
vielleicht schon in eine ähnliche Richtung gesehen.

01:14:39.600 --> 01:14:41.600
Also Kununu finde ich tatsächlich gut.

01:14:41.600 --> 01:14:43.600
Ich glaube, man kann da sogar unterscheiden haben,

01:14:43.600 --> 01:14:45.600
auszubilden, das bewertet oder nicht und so.

01:14:45.600 --> 01:14:47.600
Das ist zum Beispiel ein sehr guter Punkt.

01:14:47.600 --> 01:14:49.600
Auf der anderen Seite,

01:14:49.600 --> 01:14:51.600
wie das mit so Siegeln immer ist,

01:14:51.600 --> 01:14:53.600
ich selber habe bei einigen mitgemacht,

01:14:53.600 --> 01:14:55.600
wo man einfach selbstständig

01:14:55.600 --> 01:14:57.600
ein Online-Formular ausfüllt.

01:14:57.600 --> 01:14:59.600
Magischerweise ist man dann Top-Ausbilder Deutschlands

01:14:59.600 --> 01:15:01.600
und kann für 10.000 Euro ein Siegel kaufen,

01:15:01.600 --> 01:15:03.600
was man auf die Website backen kann.

01:15:03.600 --> 01:15:05.600
Das ist einfach mitgemacht.

01:15:05.600 --> 01:15:07.600
Ich würde da auf jeden Fall,

01:15:07.600 --> 01:15:09.600
wenn dann den Plattformen vertrauen,

01:15:09.600 --> 01:15:11.600
wo die Mitarbeiter selber das bewerten können.

01:15:11.600 --> 01:15:13.600
Kununu ist da durchaus gängig, denke ich mal.

01:15:13.600 --> 01:15:15.600
Auf der anderen Seite gibt es immer mehr

01:15:15.600 --> 01:15:17.600
die Bestrebungen von den Iakanen,

01:15:17.600 --> 01:15:19.600
dort eine Zertifizierung zu machen.

01:15:19.600 --> 01:15:21.600
Die haben wir zum Beispiel auch durchlaufen.

01:15:21.600 --> 01:15:23.600
Das ist aber sehr unter den Wegsatz.

01:15:23.600 --> 01:15:25.600
Es gibt 79 verschiedene Iakanen,

01:15:25.600 --> 01:15:27.600
nicht jede bietet das an.

01:15:27.600 --> 01:15:29.600
Bei uns in der Region im Nordwesten

01:15:29.600 --> 01:15:31.600
haben sich einige Iakanen zusammengeschlossen

01:15:31.600 --> 01:15:33.600
in das Unternehmen kommen,

01:15:33.600 --> 01:15:35.600
die führen Interviews mit dem Vorstand,

01:15:35.600 --> 01:15:37.600
mit dem Ausbilder, mit den Azubis,

01:15:37.600 --> 01:15:39.600
mit den Ausbildungsbeauftragten.

01:15:39.600 --> 01:15:41.600
Die gehen da wirklich rein,

01:15:41.600 --> 01:15:43.600
die lassen sich den Ausbildungsplan zeigen.

01:15:43.600 --> 01:15:45.600
Was sind die Voraussetzungen, Ausbildungsplan zu können?

01:15:45.600 --> 01:15:47.600
Ich baue auch einen betrieblichen Ausbildungsplan.

01:15:47.600 --> 01:15:49.600
Es gibt im Gesetz den Ausbildungsrahmenplan,

01:15:49.600 --> 01:15:51.600
wo über 100 Stichpunkte drin sind,

01:15:51.600 --> 01:15:53.600
was man zum Beispiel als Anwendungsentwickler

01:15:53.600 --> 01:15:55.600
so lernen muss.

01:15:55.600 --> 01:15:57.600
Das Unternehmen muss diesen Ausbildungsrahmenplan

01:15:57.600 --> 01:15:59.600
in einen betrieblichen Ausbildungsplan überführen.

01:15:59.600 --> 01:16:01.600
Zum Beispiel steht drin,

01:16:01.600 --> 01:16:03.600
in Woche 2 machst du das in dieser Schulung durch diese Person.

01:16:03.600 --> 01:16:05.600
Also wirklich runterbrechen,

01:16:05.600 --> 01:16:07.600
weil wir hatten vorhin schon gehört,

01:16:07.600 --> 01:16:09.600
je nachdem in welchem Unternehmen ich bin.

01:16:09.600 --> 01:16:11.600
Wenn ich halt keine Einkaufsabteilung habe,

01:16:11.600 --> 01:16:13.600
dann kann ich schlecht Einkauf beibringen.

01:16:13.600 --> 01:16:15.600
Dann muss ich halt irgendwas anders in der Zeit machen.

01:16:15.600 --> 01:16:17.600
Also ich muss das wirklich auf meinen Unternehmen runterbrechen.

01:16:17.600 --> 01:16:19.600
Und die haben sich dann zum Beispiel

01:16:19.600 --> 01:16:21.600
diesen Plan angeguckt, ob da alles abgedeckt ist.

01:16:21.600 --> 01:16:23.600
Ob zum Beispiel die Azubis das Bericht sefft,

01:16:23.600 --> 01:16:25.600
während der Arbeitszeit schreiben dürfen.

01:16:25.600 --> 01:16:27.600
Also die prüfen das rechtlich,

01:16:27.600 --> 01:16:29.600
um Recruiting bis zum Übernahmengespräch

01:16:29.600 --> 01:16:31.600
und auch Fortbildungsmöglichkeiten nach der Ausbildung

01:16:31.600 --> 01:16:33.600
gucken sich das gesamte Ding an.

01:16:33.600 --> 01:16:35.600
Und da muss ich ja auch nicht einfach

01:16:35.600 --> 01:16:37.600
eine Checkbox ausfüllen, quasi.

01:16:37.600 --> 01:16:39.600
Dann kriege ich das dann. Also sowas kann ich empfehlen.

01:16:39.600 --> 01:16:41.600
Da weiß man auf jeden Fall,

01:16:41.600 --> 01:16:43.600
dass der Unternehmen da Wert drauflegt

01:16:43.600 --> 01:16:45.600
und da auch einiges an Zeit und Ressourcen reingesteckt hat.

01:16:45.600 --> 01:16:47.600
Zumindest das weiß das nach.

01:16:47.600 --> 01:16:49.600
Das würde ich empfehlen.

01:16:49.600 --> 01:16:51.600
Die anderen Sachen,

01:16:51.600 --> 01:16:53.600
die man leider auch so von so großen

01:16:53.600 --> 01:16:55.600
Zeitungen und Wochenmagazinen,

01:16:55.600 --> 01:16:57.600
das ist eher so, ich klick's mir selbst zusammen

01:16:57.600 --> 01:16:59.600
und zahle dann viel Geld dafür.

01:16:59.600 --> 01:17:01.600
Und darauf würde ich,

01:17:01.600 --> 01:17:03.600
das kann man sich auch schenken.

01:17:03.600 --> 01:17:05.600
Okay, also das heißt aber auch dann,

01:17:05.600 --> 01:17:07.600
für die Unternehmen, die das überlegen,

01:17:07.600 --> 01:17:09.600
eine Ausbildung jetzt anzubieten

01:17:09.600 --> 01:17:11.600
oder Leute auszubilden,

01:17:11.600 --> 01:17:13.600
dass sie sich dann auch selbst entsprechend gut

01:17:13.600 --> 01:17:15.600
repräsentieren, was das anbelangt.

01:17:15.600 --> 01:17:17.600
Weil, wie wir gehört haben,

01:17:17.600 --> 01:17:19.600
die Leute, die da

01:17:19.600 --> 01:17:21.600
potenziell in die Ausbildung gehen,

01:17:21.600 --> 01:17:23.600
die gucken sich das sehr, sehr genau an.

01:17:23.600 --> 01:17:25.600
Und weil es eine Entscheidung auch fürs Leben ist,

01:17:25.600 --> 01:17:27.600
ich glaube,

01:17:27.600 --> 01:17:29.600
es ist halt einfach sehr,

01:17:29.600 --> 01:17:31.600
sehr wichtig.

01:17:31.600 --> 01:17:33.600
Dann vielleicht noch der Punkt,

01:17:33.600 --> 01:17:35.600
wenn man jetzt als Unternehmen sagt,

01:17:35.600 --> 01:17:37.600
man möchte da durchstarten,

01:17:37.600 --> 01:17:39.600
wie macht man das am besten

01:17:39.600 --> 01:17:41.600
neben den Kriterien,

01:17:41.600 --> 01:17:43.600
die du schon genannt hast,

01:17:43.600 --> 01:17:45.600
wendet man sich an seine IHK

01:17:45.600 --> 01:17:47.600
und sagt, hey, ich hab hier jemanden,

01:17:47.600 --> 01:17:49.600
der hat die gleiche Ausbildung

01:17:49.600 --> 01:17:51.600
oder braucht man die überhaupt dafür?

01:17:51.600 --> 01:17:53.600
Und wenn man glaubhaft versichern kann,

01:17:53.600 --> 01:17:55.600
dass man die für den Beruf notwertigen Kenntnis

01:17:55.600 --> 01:17:57.600
auch anders vermitteln kann, muss man jemanden haben,

01:17:57.600 --> 01:17:59.600
der die Ausbildung gemacht hat.

01:17:59.600 --> 01:18:01.600
Man kann zum Beispiel auch, ich hatte gesagt,

01:18:01.600 --> 01:18:03.600
man muss zum Beispiel nicht den Aderschein haben,

01:18:03.600 --> 01:18:05.600
einen Studium an einer deutschen Hochschule

01:18:05.600 --> 01:18:07.600
berechtigt zum Beispiel auch dazu,

01:18:07.600 --> 01:18:09.600
jemanden auszubilden oder so.

01:18:09.600 --> 01:18:11.600
Aderschein on top würde ich trotzdem empfehlen,

01:18:11.600 --> 01:18:13.600
weil man lernt da nicht das Mutterschutzgesetz

01:18:13.600 --> 01:18:15.600
im Studium von daher,

01:18:15.600 --> 01:18:17.600
das ist immer zu empfehlen,

01:18:17.600 --> 01:18:19.600
aber es gibt vergleichbare Qualifikationen,

01:18:19.600 --> 01:18:21.600
und das muss auch nicht der Ausbilder

01:18:21.600 --> 01:18:23.600
selber sein oder die Ausbilderin.

01:18:23.600 --> 01:18:25.600
Es kann auch zum Beispiel ein Kollege in der Abteilung sein,

01:18:25.600 --> 01:18:27.600
der diesen blöden Schein hat, aber jemand anders

01:18:27.600 --> 01:18:29.600
macht dann die Ausbildung.

01:18:29.600 --> 01:18:31.600
Es geht dann nur um den formellen Nachweis,

01:18:31.600 --> 01:18:33.600
dass das Unternehmen in der Lage ist, auszubilden.

01:18:33.600 --> 01:18:35.600
Es gibt ja so ein bisschen die Einteilung

01:18:35.600 --> 01:18:37.600
in Ausbildender, Ausbilder, Ausbildungsleiter

01:18:37.600 --> 01:18:39.600
und Ausbildungsbeauftragter.

01:18:39.600 --> 01:18:41.600
Wenn das jetzt alles auseinandernimmt,

01:18:41.600 --> 01:18:43.600
der Ausbildende ist der, der formal hier unterschreibt

01:18:43.600 --> 01:18:45.600
unter dem Vertrag quasi,

01:18:45.600 --> 01:18:47.600
dann gibt es den Ausbildungsleiter,

01:18:47.600 --> 01:18:49.600
der sich die Sachen durch plant,

01:18:49.600 --> 01:18:51.600
vielleicht auch für mehrere Azubis,

01:18:51.600 --> 01:18:53.600
dann gibt es den verantwortlichen Ausbilder

01:18:53.600 --> 01:18:55.600
oder Ausbilderin, der dafür zuständig ist,

01:18:55.600 --> 01:18:57.600
diesen Azubi wirklich bis zum Ende der Prüfung zu begleiten.

01:18:57.600 --> 01:18:59.600
Aber das macht er vielleicht alles nicht selbst,

01:18:59.600 --> 01:19:01.600
weil in meinem Fall zum Beispiel,

01:19:01.600 --> 01:19:03.600
ich kann jetzt auch Subnetting etc. beibringen,

01:19:03.600 --> 01:19:05.600
aber vielleicht kann ein Softwareentwickler

01:19:05.600 --> 01:19:07.600
das vielleicht nicht so gut,

01:19:07.600 --> 01:19:09.600
dann gibt es halt noch Ausbildungsbeauftragte,

01:19:09.600 --> 01:19:11.600
die man dann zum Beispiel einbezieht,

01:19:11.600 --> 01:19:13.600
wenn man über Netzwerke spricht,

01:19:13.600 --> 01:19:15.600
dann nehme ich halt meinen admin-Kollegen,

01:19:15.600 --> 01:19:17.600
der hat schon mal eine gute Sache,

01:19:17.600 --> 01:19:19.600
damit wird man erstmal anfangen

01:19:19.600 --> 01:19:21.600
und dann guckt man weiter

01:19:21.600 --> 01:19:23.600
und weiß die Frage genau.

01:19:23.600 --> 01:19:25.600
Man kann sich an die IRK wenden auf jeden Fall,

01:19:25.600 --> 01:19:27.600
da gibt es Ausbildungsbeauftragte,

01:19:27.600 --> 01:19:29.600
die kommen dann auch durchaus ins Unternehmen

01:19:29.600 --> 01:19:31.600
und erklären einem dann, was die Voraussetzungen sind,

01:19:31.600 --> 01:19:33.600
geben einem da Tipps.

01:19:33.600 --> 01:19:35.600
Es gibt natürlich auch bei vielen IRK-Netzwerktreffen

01:19:35.600 --> 01:19:37.600
für Ausbilder, Ausbilder-Arbeitskreise zum Beispiel,

01:19:37.600 --> 01:19:39.600
wo man sich austauschen kann

01:19:39.600 --> 01:19:41.600
und sich dann einfach bei anderen Unternehmen auch was abgucken kann,

01:19:41.600 --> 01:19:43.600
muss nicht alles neu erfinden.

01:19:43.600 --> 01:19:45.600
Zum Beispiel, wenn ich wirklich ein kleines Unternehmen bin

01:19:45.600 --> 01:19:47.600
und zum Beispiel nicht die große Netzwerktechnik-Abteilung habe,

01:19:47.600 --> 01:19:49.600
dann kann ich den Azubi für zwei Monate

01:19:49.600 --> 01:19:51.600
in ein anderes Unternehmen schicken, wo die das zum Beispiel machen

01:19:51.600 --> 01:19:53.600
und danach kommen sie dann wieder und so weiter.

01:19:53.600 --> 01:19:55.600
Es gibt da ganz, ganz viele Möglichkeiten.

01:19:55.600 --> 01:19:57.600
Die Ausbildung soll ja auch vorangetrieben werden

01:19:57.600 --> 01:19:59.600
und da gibt es viele Unterstützungsmöglichkeiten

01:19:59.600 --> 01:20:01.600
und da ist da, sehe ich, der erste Anschrittpartner eigentlich die IRK.

01:20:03.600 --> 01:20:05.600
Eine Frage von mir noch.

01:20:05.600 --> 01:20:07.600
Stefan, was würdest du denn sagen,

01:20:07.600 --> 01:20:09.600
wenn ich als Unternehmer jetzt zu dir komme

01:20:09.600 --> 01:20:11.600
und sage, ich habe gehört, ein Podcast gehört,

01:20:11.600 --> 01:20:13.600
du kannst ja auch ausbilden,

01:20:13.600 --> 01:20:15.600
was sind so die drei Punkte,

01:20:15.600 --> 01:20:17.600
die ich als Ausbildendes Unternehmen

01:20:17.600 --> 01:20:19.600
davon habe, dass ich eben ausbilde?

01:20:19.600 --> 01:20:21.600
Weil du hast gesagt, wenn ich es machen möchte,

01:20:21.600 --> 01:20:23.600
ich brauche Zeit, ich brauche Geld,

01:20:23.600 --> 01:20:25.600
das ist ein Invest.

01:20:25.600 --> 01:20:27.600
Und was würdest du dann sagen,

01:20:27.600 --> 01:20:29.600
warum ist es eine gute Idee,

01:20:29.600 --> 01:20:31.600
als Unternehmen auszubilden für das Unternehmen?

01:20:33.600 --> 01:20:35.600
Also jetzt würde ich sagen,

01:20:35.600 --> 01:20:37.600
ich habe engagierte und langfristig gebundene Mitarbeitungen

01:20:37.600 --> 01:20:39.600
für das Unternehmen.

01:20:39.600 --> 01:20:41.600
Wenn ich eine gute Ausbildung mache,

01:20:41.600 --> 01:20:43.600
gibt es eigentlich wenig Gründe für die Leute,

01:20:43.600 --> 01:20:45.600
mich danach zu verlassen.

01:20:45.600 --> 01:20:47.600
Weil ich habe die Sehen halt,

01:20:47.600 --> 01:20:49.600
man hat investiert,

01:20:49.600 --> 01:20:51.600
man hat an die Leute geglaubt und hat sie unterstützt.

01:20:51.600 --> 01:20:53.600
Also ich glaube, ich habe da

01:20:53.600 --> 01:20:55.600
langfristig Mitarbeiter,

01:20:55.600 --> 01:20:57.600
die auch bei uns bleiben.

01:20:57.600 --> 01:20:59.600
Auf der anderen Seite,

01:20:59.600 --> 01:21:01.600
das hat eine Freundin auch schon ganz kurz,

01:21:01.600 --> 01:21:03.600
ich kann die Leute so ausbilden, wie ich sie brauche.

01:21:03.600 --> 01:21:05.600
Wenn ich Java wirklich brauche,

01:21:05.600 --> 01:21:07.600
bild ich halt Java aus, sonst nehme ich halt eine andere Sprache.

01:21:07.600 --> 01:21:09.600
Wenn ich das noch nötig ist mit ausbilden,

01:21:09.600 --> 01:21:11.600
kann ich natürlich gerade im Anwendungs- und Entwicklungsumfeld

01:21:11.600 --> 01:21:13.600
genau die Plattform,

01:21:13.600 --> 01:21:15.600
das Bildtool, den Server benutzen,

01:21:15.600 --> 01:21:17.600
den ich bei mir im Einsatz habe.

01:21:17.600 --> 01:21:19.600
Die sind dann perfekt auf meinen Stack ausgebildet.

01:21:19.600 --> 01:21:21.600
Ich glaube, das kriege ich so am Freien Markt sicher nicht.

01:21:21.600 --> 01:21:23.600
Und als letztes,

01:21:23.600 --> 01:21:25.600
sollte man auch nicht unterschätzen,

01:21:25.600 --> 01:21:27.600
die Ausbilder und Ausbilderinnen selber

01:21:27.600 --> 01:21:29.600
müssen sich natürlich auch nochmal mit der Materie auseinandersetzen.

01:21:29.600 --> 01:21:31.600
Das heißt, die werden im Zweifel auch

01:21:31.600 --> 01:21:33.600
noch besser dadurch ausgebildet.

01:21:33.600 --> 01:21:35.600
Weil ich musste mir, als ich gerade angefangen bin

01:21:35.600 --> 01:21:37.600
und jetzt liebe Subnetting selber angucken,

01:21:37.600 --> 01:21:39.600
weil ich konnte es auch, ich habe gerade die Prüfung gestanden,

01:21:39.600 --> 01:21:41.600
aber dass jemand anderen beizubringen ist,

01:21:41.600 --> 01:21:43.600
ist ja nochmal wieder eine ganz andere Sache.

01:21:43.600 --> 01:21:45.600
Das heißt auch, die mit der Ausbildung beauftragten,

01:21:45.600 --> 01:21:47.600
vertiefen nochmal ihr Wissen

01:21:47.600 --> 01:21:49.600
und natürlich auch das zwischenmenschliche,

01:21:49.600 --> 01:21:51.600
da steht auch sogar im Bebeck drin,

01:21:51.600 --> 01:21:53.600
es ist auch die Aufgabe der Unternehmen,

01:21:53.600 --> 01:21:55.600
die Leute charakterlich auszubilden.

01:21:55.600 --> 01:21:57.600
Also für mich ist das allerwichtigste,

01:21:57.600 --> 01:21:59.600
ich mache das jetzt seit fast 20 Jahren,

01:21:59.600 --> 01:22:01.600
einfach mit jungen Menschen zusammenzuarbeiten.

01:22:01.600 --> 01:22:03.600
Ich bin auch schon ein bisschen älter

01:22:03.600 --> 01:22:05.600
mit dem Gen Z drin.

01:22:05.600 --> 01:22:07.600
Das heißt, die haben ganz andere Ansichten,

01:22:07.600 --> 01:22:09.600
von denen lerne ich auch ganz viele Sachen dazu,

01:22:09.600 --> 01:22:11.600
die jetzt nicht zwangsläufig noch mit IT zu tun haben,

01:22:11.600 --> 01:22:13.600
aber einfach die zwischenmenschlichen Sachen.

01:22:13.600 --> 01:22:15.600
Und das finde ich enorm wertvoll

01:22:15.600 --> 01:22:17.600
und auch fürs Unternehmen,

01:22:17.600 --> 01:22:19.600
wenn man die dann auch als echte Mitarbeiter begreift

01:22:19.600 --> 01:22:21.600
und halt nicht eben nur als Azubis die danach sowieso gehen

01:22:21.600 --> 01:22:23.600
und denen vielleicht auch mal zuhört

01:22:23.600 --> 01:22:25.600
und was von denen ins Unternehmen mit zurückbringen,

01:22:25.600 --> 01:22:27.600
kriegt man ja auch einen frischen Input von außen.

01:22:27.600 --> 01:22:29.600
Und man ist halt nicht jahrelang

01:22:29.600 --> 01:22:31.600
in dem eigenen Saft-Schmort man davor sich hin,

01:22:31.600 --> 01:22:33.600
sondern die Azubis kommen halt mit neuen Augen nochmal rein

01:22:33.600 --> 01:22:35.600
und fragen und fragen und fragen,

01:22:35.600 --> 01:22:37.600
wenn man dann erklären muss,

01:22:37.600 --> 01:22:39.600
warum man seit 20 Jahren auf Java Version 4 arbeitet.

01:22:39.600 --> 01:22:41.600
Ja, dann stellt man sich halt mal die Frage,

01:22:41.600 --> 01:22:43.600
ob man das mal ändern sollte.

01:22:43.600 --> 01:22:45.600
Das finde ich wichtig, frischen Wind von draußen.

01:22:45.600 --> 01:22:47.600
Cool, danke.

01:22:49.600 --> 01:22:51.600
Das wäre jetzt auch so meine Abschlussfrage

01:22:51.600 --> 01:22:53.600
an dich, Stefan gewesen.

01:22:53.600 --> 01:22:55.600
Was hat dich motiviert, Ausbilder zu werden?

01:22:55.600 --> 01:22:57.600
Aber du hast ja schon so ein bisschen angerissen,

01:22:57.600 --> 01:22:59.600
also du bist gerne mit jungen Leuten zusammen,

01:22:59.600 --> 01:23:01.600
hast einfach Spaß,

01:23:01.600 --> 01:23:03.600
magst wahrscheinlich auch so ein bisschen zurückgeben.

01:23:03.600 --> 01:23:05.600
Tipp ich mal.

01:23:05.600 --> 01:23:07.600
Genau.

01:23:07.600 --> 01:23:09.600
Und auch einfach die Lehre selber,

01:23:09.600 --> 01:23:11.600
Leuten was beizubringen.

01:23:11.600 --> 01:23:13.600
Wie gesagt, ich muss es selber nochmal ganz anders verstehen.

01:23:13.600 --> 01:23:15.600
Wenn ich jemandem eine Vorschleife erklären muss,

01:23:15.600 --> 01:23:17.600
muss ich halt im Detail verstehen,

01:23:17.600 --> 01:23:19.600
warum das jetzt in Java so und so ist und so.

01:23:19.600 --> 01:23:21.600
Sonst fühle ich mich selber nicht wohl dabei.

01:23:21.600 --> 01:23:23.600
Also das auch selber zu vertiefen, diese Technik

01:23:23.600 --> 01:23:25.600
und dann halt auch jungen Leuten da irgendwie das beizubringen

01:23:25.600 --> 01:23:27.600
und einfach das weiterzugeben, worauf ich selber halt Bock habe.

01:23:27.600 --> 01:23:29.600
Ich weiß ja selber nicht gemacht, weil ich das blöd fand.

01:23:29.600 --> 01:23:31.600
Und ich finde das Softwareentwicklung mega cool.

01:23:31.600 --> 01:23:33.600
Und das kann gar nicht genug Softwareentwickler geben.

01:23:33.600 --> 01:23:35.600
Also doch, es sollte nicht zu viele Softwareentwickler geben,

01:23:35.600 --> 01:23:37.600
wollen auch noch Geld verdienen.

01:23:37.600 --> 01:23:39.600
Aber das den Leuten beizubringen, finde ich eigentlich sehr cool.

01:23:39.600 --> 01:23:41.600
Und dann bei jemandem zu sehen so,

01:23:41.600 --> 01:23:43.600
der hat jetzt echt selbstständig eine coole, weiß ich nicht,

01:23:43.600 --> 01:23:45.600
Webman-Wendung gebaut.

01:23:45.600 --> 01:23:47.600
Und ich habe nur das beigebracht, finde ich mega gut.

01:23:47.600 --> 01:23:49.600
Und das macht einfach Spaß.

01:23:49.600 --> 01:23:51.600
Ja, das ist die Hauptmotivation, glaube ich.

01:23:51.600 --> 01:23:53.600
Ja, sehr cool.

01:23:53.600 --> 01:23:55.600
Ja, hört super an.

01:23:55.600 --> 01:23:57.600
Wie viele Prozent deiner Zeit verbringst du denn

01:23:57.600 --> 01:23:59.600
mit der Ausbildung,

01:23:59.600 --> 01:24:01.600
der Auszubildenden?

01:24:01.600 --> 01:24:03.600
Ist das eine 100-Prozent-Sache

01:24:03.600 --> 01:24:05.600
oder ist das geteilt?

01:24:05.600 --> 01:24:07.600
Ist geteilt tatsächlich.

01:24:07.600 --> 01:24:09.600
Also muss man immer gucken,

01:24:09.600 --> 01:24:11.600
ob das so sinnvoll ist.

01:24:11.600 --> 01:24:13.600
Ich habe einige bekannte Unternehmen,

01:24:13.600 --> 01:24:15.600
wo es halt auch 100-Prozent-Ausbilder-Stellen gibt.

01:24:15.600 --> 01:24:17.600
Hat alles Vor- und Nachteile.

01:24:17.600 --> 01:24:19.600
Klar, die sind dann immer dazu da

01:24:19.600 --> 01:24:21.600
und haben immer Zeit für die Azubis.

01:24:21.600 --> 01:24:23.600
Auf der anderen Seite sind das meistens auch die dann

01:24:23.600 --> 01:24:25.600
nicht sinnvoll mit 100 Prozent der Zeit ausbilden.

01:24:25.600 --> 01:24:27.600
Auf der anderen Seite

01:24:27.600 --> 01:24:29.600
muss man natürlich als Ausbilder

01:24:29.600 --> 01:24:31.600
immer noch ein bisschen am Puls der Zeit bleiben.

01:24:31.600 --> 01:24:33.600
Es nutzt halt nichts,

01:24:33.600 --> 01:24:35.600
wenn ich zehn Jahre lang das Leiche vermittle

01:24:35.600 --> 01:24:37.600
und inzwischen gibt es aber Java 19

01:24:37.600 --> 01:24:39.600
oder sind ganz andere Sachen drin.

01:24:39.600 --> 01:24:41.600
Also das muss ich natürlich auch selber können

01:24:41.600 --> 01:24:43.600
und vor allem auch in der Praxis umsetzen können.

01:24:43.600 --> 01:24:45.600
Das reicht ja nicht, wenn ich das Buch lese

01:24:45.600 --> 01:24:47.600
und das dann weitergebe.

01:24:47.600 --> 01:24:49.600
Also von daher, ich fände es gut,

01:24:49.600 --> 01:24:51.600
wenn man auch noch einen echten Projekt nebenbei arbeitet.

01:24:51.600 --> 01:24:53.600
Das war immer schwierig.

01:24:53.600 --> 01:24:55.600
Es sollte aber auch nicht zu wenig sein.

01:24:55.600 --> 01:24:57.600
In meinem konkreten Fall ist es ungefähr Hälfte, Hälfte.

01:24:57.600 --> 01:24:59.600
Aber einfach nur um eine Hausnummer zu nennen.

01:24:59.600 --> 01:25:01.600
Wir sind in unserer IT 4-Zieg-Leute.

01:25:01.600 --> 01:25:03.600
Wir haben fünf Azubis.

01:25:03.600 --> 01:25:05.600
Drei in der normalen Ausbildung,

01:25:05.600 --> 01:25:07.600
zwei im dualen Studium.

01:25:07.600 --> 01:25:09.600
Und ich mache das noch mit einem Kollegen zusammen,

01:25:09.600 --> 01:25:11.600
der das auch ungefähr die Hälfte der Zeit macht.

01:25:11.600 --> 01:25:13.600
Und da sind wir gut ausgelastet.

01:25:13.600 --> 01:25:15.600
Mehr Zeit könnt ihr auf jeden Fall investieren.

01:25:15.600 --> 01:25:17.600
Allein die Prüfungsvorbereitung nimmt

01:25:17.600 --> 01:25:19.600
einen sehr, sehr großen Anteil bei uns ein.

01:25:19.600 --> 01:25:21.600
Auch durch diese neue, neu gestaltete Prüfung.

01:25:21.600 --> 01:25:23.600
Mehr investieren können die sicherlich.

01:25:23.600 --> 01:25:25.600
Man könnte es aber auch auf mehrere Köpfe verteilen.

01:25:25.600 --> 01:25:27.600
Wenn ich Leute sehe,

01:25:27.600 --> 01:25:29.600
die teilweise 20 Azubis haben als einziger Ausbilder,

01:25:29.600 --> 01:25:31.600
da kann ich nicht nachvollziehen.

01:25:31.600 --> 01:25:33.600
Da kann ich die Leute nicht mehr betreuen.

01:25:33.600 --> 01:25:35.600
Das funktioniert nicht.

01:25:35.600 --> 01:25:37.600
Also ganz blöd gesagt, so eine Quote weiß ich nicht.

01:25:37.600 --> 01:25:39.600
Per Person, vielleicht 3,

01:25:39.600 --> 01:25:41.600
oder 4 Azubis, das könnte ich noch verkraften.

01:25:41.600 --> 01:25:43.600
Alles darüber wird irgendwann ein bisschen,

01:25:43.600 --> 01:25:45.600
da kann ich nicht mehr nachvollziehen,

01:25:45.600 --> 01:25:47.600
wie man das realistisch pinkregen will.

01:25:47.600 --> 01:25:53.480
Weil einfach, wenn man guckt, na anwendigste Entwickler, man muss ja was machen, Code Reviews.

01:25:53.480 --> 01:25:56.480
Erstmal muss man den Code beibringen, dann programmieren die Wat, dann muss man denen

01:25:56.480 --> 01:25:59.680
die Fehler erklären, dann muss man sich da hinsetzen, dann muss man parallel die Prüfungsvorbeite

01:25:59.680 --> 01:26:00.680
natürlich noch machen.

01:26:00.680 --> 01:26:03.460
Den ganzen Code, den die programmieren, wenn man es nicht sowieso mit Pull Request oder

01:26:03.460 --> 01:26:06.120
so macht, muss ja irgendwer auch anschauen, das können natürlich auch andere Entwickler

01:26:06.120 --> 01:26:07.120
machen.

01:26:07.120 --> 01:26:09.160
Aber im besten Fall machen das natürlich die Ausbilder, weil im Zweifel muss man dann

01:26:09.160 --> 01:26:11.520
noch mal eben erklären ganz nebenbei, was Polymorphie ist.

01:26:11.520 --> 01:26:14.640
Und der andere Entwickler sagt einfach nur, das ist doof, aber hat vielleicht keine Lust

01:26:14.640 --> 01:26:18.000
oder kann das auch gar nicht so prüfungsrelevant erklären.

01:26:18.000 --> 01:26:21.080
Und das ist halt immer ein Abwägen zwischen, ja, die sollen auch was echtes machen, aber

01:26:21.080 --> 01:26:25.360
sie müssen es auch mit Hinblick auf die Prüfung irgendwie vernünftig verstehen und erklären

01:26:25.360 --> 01:26:26.360
können.

01:26:26.360 --> 01:26:28.920
Und was wir in der Prüfung dann immer sehen, ist die zeigen dann Codebeispiele auf ihren

01:26:28.920 --> 01:26:29.920
Folien.

01:26:29.920 --> 01:26:32.240
Und wenn man nach der ersten Code-Seile fragt, dann können die Leute nicht erklären, was

01:26:32.240 --> 01:26:33.240
sie da nicht programmiert haben.

01:26:33.240 --> 01:26:35.800
So mein Lieblingsbeispiel, in der letzten Prüfung sind immer Lambda-Ausdrücke, jeder

01:26:35.800 --> 01:26:39.080
benutzt Lambda-Ausdrücke, was ja auch super ist, aber nicht einer kann erklären, was das

01:26:39.080 --> 01:26:40.080
eigentlich ist.

01:26:40.080 --> 01:26:41.600
So kann ich ja nicht in eine Prüfung gehen.

01:26:41.600 --> 01:26:45.440
Das heißt, da reicht es nicht nur zu sagen, ja, mach mal anders, sondern du musst den

01:26:45.440 --> 01:26:48.080
Leuten das ja auch erklären, warum das so ist.

01:26:48.080 --> 01:26:51.320
Du sollst die Leute ja ausbilden, sollen es ja verstehen und sollen am Ende auf einster

01:26:51.320 --> 01:26:54.480
Niveau ja auch erklären können, warum sie das so und so gemacht haben und nicht anders.

01:26:54.480 --> 01:26:58.200
Und das fehlt dann halt oft, wenn ich im Projektgeschäft wenig Zeit habe.

01:26:58.200 --> 01:27:01.680
Und da würde ich sagen, da muss man sich die Zeit nehmen.

01:27:01.680 --> 01:27:06.040
Du scheint es in der Sache sehr gut zu machen.

01:27:06.040 --> 01:27:07.040
Ich habe...

01:27:07.040 --> 01:27:09.040
Oh ja, hoffentlich, danke.

01:27:09.040 --> 01:27:12.480
Ich melde mich direkt an euch.

01:27:12.480 --> 01:27:16.480
Nee, macht auf jeden Fall schon Lust und sehr cool.

01:27:16.480 --> 01:27:23.680
War super interessant, mit euch beiden zu sprechen und so ein bisschen in diese Welt,

01:27:23.680 --> 01:27:30.640
die ich ja nicht kenne, genauso wie die Studiumswelt, die ich auch nicht kenne, mal so reinzureuchen.

01:27:30.640 --> 01:27:37.760
Und bevor wir aber den Sack zumachen, wir verlinken noch ein paar Dinge, die du, Stefan

01:27:37.760 --> 01:27:39.240
noch zusammengetragen hast.

01:27:39.240 --> 01:27:44.960
Unter anderem hast du auch einen Podcast, den du empfehlen würdest, in dem man reinhorchen

01:27:44.960 --> 01:27:45.960
kann.

01:27:45.960 --> 01:27:51.440
Magst du noch mal ganz kurz was zu diesen Links sagen, die du dann noch, die du uns für

01:27:51.440 --> 01:27:53.160
die Show Notes jetzt zusammengetragen hast?

01:27:53.160 --> 01:27:54.160
Ja, gerne.

01:27:54.160 --> 01:27:58.240
Also, wer noch nicht genug hat von meiner Stimme, darf gerne reinhören in den Podcast, in

01:27:58.240 --> 01:27:59.240
der Alteebegruppe Podcast.

01:27:59.240 --> 01:28:03.680
Da geht es genau darum, um Ausprüfungsinhalte, Prüfungsvorbereitung, wie ist die Prüfung

01:28:03.680 --> 01:28:04.680
überhaupt aufgebaut.

01:28:04.680 --> 01:28:08.680
Aber auch zum Beispiel, das hatte ich ja vorhin gesagt, wie erkenne ich ein gutes Ausprüfungsunternehmen.

01:28:08.680 --> 01:28:11.720
Ja, so schon direkt im Bewerbungsgespräch, wo man auf achten kann, als Angehender, als

01:28:11.720 --> 01:28:12.720
Zubi vielleicht.

01:28:12.720 --> 01:28:15.840
Also, alles rund um die IT-Ausbildung, sind auch ein paar Fachthemen bei, ich habe vor

01:28:15.840 --> 01:28:19.320
kurzem tatsächlich was zu Rate aufgenommen, weil das immer in der Prüfung rankommt,

01:28:19.320 --> 01:28:20.960
da musste ich mir sehr mal nochmal einiges anlesen.

01:28:20.960 --> 01:28:23.760
Also von daher, genau, das ist mein eigener Podcast.

01:28:23.760 --> 01:28:30.520
Ansonsten gibt es die sicherlich wichtigste Plattform im Deutschsprachengraum ist fachinformatiker.de,

01:28:30.520 --> 01:28:33.680
nicht gejennert und auch nicht auf die sieben anderen Berufe eingeschränkt, aber da kann

01:28:33.680 --> 01:28:35.360
man sich austauschen rund um die IT-Ausbildung.

01:28:35.360 --> 01:28:39.000
Das ist ein großes Forum, das gibt es seit 20 Jahren, das ist eigentlich die Anlaufstelle

01:28:39.000 --> 01:28:40.000
für alles Mögliche.

01:28:40.000 --> 01:28:44.560
Soll ich mich da bewerben, ist mein Anschreiben gut, aber auch hin bis ist das Projekt geeignet,

01:28:44.560 --> 01:28:46.240
was habe ich hier in der Aufgabe falsch gemacht, etc.

01:28:46.240 --> 01:28:51.120
Also das ist einfach das Forum, wo sich die Auszubildenden und auch Ausbilder und IHK-Prüfer

01:28:51.120 --> 01:28:53.560
will ich tummeln und sich dort austauschen.

01:28:53.560 --> 01:28:55.960
Das kann ich auf jeden Fall empfehlen.

01:28:55.960 --> 01:29:00.040
Und ansonsten, wer wirklich ausbilden will und sich da mal informieren will, es gibt

01:29:00.040 --> 01:29:04.280
die Fachinformatiker Ausbildungsverordnung, die man einfach mal lesen kann, da steht

01:29:04.280 --> 01:29:09.160
dann auch der Ausbildungsrahmenplan drin, was man alles so vermitteln muss und da muss

01:29:09.160 --> 01:29:14.640
man ein bisschen verstehen, was da gemeint ist, weil diese Inhalte sind sehr zeitlos

01:29:14.640 --> 01:29:15.880
und abstrakt formuliert.

01:29:15.880 --> 01:29:22.120
Einfach mal nur zum Hintergrund, die Ausbildungsordnung, die jetzt abgelöst wurde 2020, wurde 1997

01:29:22.120 --> 01:29:23.120
beschlossen.

01:29:23.120 --> 01:29:26.080
Das heißt, wir haben über 20 Jahre nach dieser alten Verordnung ausgebildet.

01:29:26.080 --> 01:29:31.640
Da stand also nirgends wo GIT drin oder Java oder sonst was, da steht halt nur drin eine

01:29:31.640 --> 01:29:35.760
Poamelsprache lernen und das war es und auch das kann man sogar noch mehr abstrahieren.

01:29:35.760 --> 01:29:38.920
Das heißt, dieser Ausbildungsrahmenplan, wenn man da nicht sofort draus schlau wird, ist

01:29:38.920 --> 01:29:39.920
das kein Wunder.

01:29:39.920 --> 01:29:46.960
Da gibt es dann noch eine Handreichung vom Berufsinstitut für Bildung, da steht dann

01:29:46.960 --> 01:29:48.560
drin auf 100 Seiten.

01:29:48.560 --> 01:29:52.640
Übrigens, diese Inhalte sind damit gemeint und dann steht da zum Beispiel GIT statt

01:29:52.640 --> 01:29:54.360
Versunstverwaltungsoftware oder sowas.

01:29:54.360 --> 01:29:58.200
Das kann ich empfehlen, wenn man mit dem Gedankenspiel selber auszubilden und da sieht man dann

01:29:58.200 --> 01:30:02.120
aber auch für Anmelsimmigler zum Beispiel, dass da durchaus modernes Zeug drin ist.

01:30:02.120 --> 01:30:07.800
Also inzwischen geht es um Unitests genauso wie um UML Diagramme oder CI-CD Pipelines

01:30:07.800 --> 01:30:08.800
oder so.

01:30:08.800 --> 01:30:12.120
Das ist alles Ausbildungsinhalt, der heute auch erwartet wird und da auch drin steht.

01:30:12.120 --> 01:30:15.360
Da sieht man, dass das modern ist und halt eben nicht angestaubt, wie vielleicht viele

01:30:15.360 --> 01:30:16.360
noch denken.

01:30:16.360 --> 01:30:20.680
Und ansonsten, klar, man kann sich gerne auch mal den Rahmenlehrplan angucken, der ist

01:30:20.680 --> 01:30:22.360
dann halt verbindlich für die Berufsschulen.

01:30:22.360 --> 01:30:26.960
Der ist tendenziell natürlich ein bisschen schwerfälliger, weil es halt Bildung ist.

01:30:26.960 --> 01:30:31.600
Und was wir noch nicht gesagt hatten, die ERK Prüfung ist deutschlandweit einheitlich

01:30:31.600 --> 01:30:33.000
außer in Baden-Württemberg.

01:30:33.000 --> 01:30:36.520
Die haben eine komplett eigene Prüfung, weil sie sich halt nicht beteiligen, warum auch

01:30:36.520 --> 01:30:37.520
immer.

01:30:37.520 --> 01:30:38.520
Das hat sich auch mit der Neuordnung nicht verändert.

01:30:38.520 --> 01:30:40.080
Das ist immer ganz, ganz schlimm.

01:30:40.080 --> 01:30:42.840
Aber wenn man wissen möchte, was man an der Berufsschule lehren, dann kann man da gerne

01:30:42.840 --> 01:30:43.840
mal reingucken.

01:30:43.840 --> 01:30:47.480
Und wenn die Inhalte für einen passen, dann einfach mal bei der ERK melden und vielleicht

01:30:47.480 --> 01:30:48.480
selber ausbilden.

01:30:48.480 --> 01:30:49.480
Das wäre eine schöne Sache.

01:30:49.480 --> 01:30:52.680
Das sind die gesetzlichen Rahmenbedingungen für die Ausbildung in Deutschland, gibt es

01:30:52.680 --> 01:30:54.280
für jeden Berufs- und Ausprungsverordnung.

01:30:54.280 --> 01:30:58.280
Und beispielsweise können wir da die FI-Ausprungsverordnung mal verlinken, dann findet man die anderen

01:30:58.280 --> 01:30:59.280
sich auch.

01:30:59.280 --> 01:31:02.480
Ich hätte jetzt noch gedacht, dass du sagst, Baden-Württemberg und Bayern.

01:31:02.480 --> 01:31:05.480
Eigentlich mit mir an, oder?

01:31:05.480 --> 01:31:06.480
Eigentlich mit Bayern.

01:31:06.480 --> 01:31:07.480
Ich bin du San Vanessa.

01:31:07.480 --> 01:31:11.480
Nur Baden-Württemberg hätte sich ausgehalten.

01:31:11.480 --> 01:31:18.480
Ja, wahrscheinlich die Autobauindustrie oder die Ingenieurskunst, die möchten das irgendwie

01:31:18.480 --> 01:31:19.480
anders haben.

01:31:19.480 --> 01:31:23.920
Wenn man irgendwas produziert in Deutschland, muss man mal gucken, es kommt fast ausschließlich

01:31:23.920 --> 01:31:24.920
aus Barwür.

01:31:24.920 --> 01:31:25.920
Das ist so.

01:31:25.920 --> 01:31:26.920
Das kann sein.

01:31:26.920 --> 01:31:30.720
Es ist auf jeden Fall richtig blöd, weil sobald man eine Frage kriegt, wie ist das

01:31:30.720 --> 01:31:31.720
mit der Prüfung?

01:31:31.720 --> 01:31:32.720
Ja, wofür wohnst du denn?

01:31:32.720 --> 01:31:33.720
Ja, da unten.

01:31:33.720 --> 01:31:34.720
Da ist alles anders.

01:31:34.720 --> 01:31:35.720
Und da kann man aufhören.

01:31:35.720 --> 01:31:36.720
Das ist wirklich alles anders.

01:31:36.720 --> 01:31:39.840
Die schreiben die Prüfung auch irgendwie in der Schule und das ist also wirklich ganz,

01:31:39.840 --> 01:31:40.840
ganz komisch.

01:31:40.840 --> 01:31:44.680
Aber so ist es halt, das System in Deutschland kann man nichts machen.

01:31:44.680 --> 01:31:51.280
Aber besser als, es könnte auch schlimmer sein als das.

01:31:51.280 --> 01:31:52.280
Ja, stimmt.

01:31:52.280 --> 01:31:53.280
Genau.

01:31:53.280 --> 01:31:55.480
Haben wir auch schon in anderen Bereichen schlimmer.

01:31:55.480 --> 01:31:58.000
Ja, super.

01:31:58.000 --> 01:32:05.480
Dann vielen Dank zunächst mal, dass du, Stefan, dich sozusagen da eingebracht hast und gesagt

01:32:05.480 --> 01:32:12.880
hast, dass da ja noch ein quasi unerforschter Teil, unbesprochener Teil, schlummert nach

01:32:12.880 --> 01:32:18.120
der letzten Folge über, über den Weg eben in die, in den Beruf.

01:32:18.120 --> 01:32:19.120
Genau.

01:32:19.120 --> 01:32:21.560
Und danke euch beiden, dass ihr da wart.

01:32:21.560 --> 01:32:22.560
Danke für die Einladung.

01:32:22.560 --> 01:32:23.560
Genau.

01:32:23.560 --> 01:32:25.160
Hat richtig Spaß gemacht hier.

01:32:25.160 --> 01:32:26.480
Mit den jungen Leuten.

01:32:26.480 --> 01:32:27.480
Ja, ab wann gemerkt.

01:32:27.480 --> 01:32:28.480
Genau.

01:32:28.480 --> 01:32:30.480
Ja, vielen Dank.

01:32:30.480 --> 01:32:37.320
Und genau, lass uns einfach irgendwie nochmal irgendwann treffen zu irgendeinem Thema aus

01:32:37.320 --> 01:32:38.320
dem Bereich.

01:32:38.320 --> 01:32:39.320
Irgendwas finden wir da ja.

01:32:39.320 --> 01:32:43.040
Dann kann man ja auch mal, holen wir einen Azubi von dir mit dazu.

01:32:43.040 --> 01:32:45.040
Ja, erklärt dann was über Lambda Funktionen.

01:32:45.040 --> 01:32:46.040
Ja, auch.

01:32:46.040 --> 01:32:49.920
Ja, der erklärt uns dann mal hier, wie das heutzutage alles nicht läuft.

01:32:49.920 --> 01:32:55.080
Also Subnetting, Lambda Funktionen, RAID und RAID.

01:32:55.080 --> 01:32:58.120
Und auf das Gerichtshäft.

01:32:58.120 --> 01:33:00.120
Da ist es recht damit.

01:33:00.120 --> 01:33:03.120
Genau, wenn man mal drauf, genau.

01:33:03.120 --> 01:33:15.160
Wunderbar, dann viele liebe Grüße nach Nordwesten und ins Zentrum Deutschlands und natürlich

01:33:15.160 --> 01:33:16.160
nach Köln.

01:33:16.160 --> 01:33:23.320
Und genau, wir hören uns nächste Woche wieder und macht's gut und bis bald.

01:33:23.320 --> 01:33:24.320
Ciao.

01:33:24.320 --> 01:33:25.320
Danke euch, macht's gut.

01:33:25.320 --> 01:33:26.320
Tschüss.

01:33:26.320 --> 01:33:27.320
Tschüss.

01:33:27.320 --> 01:33:53.320
Tschüss.

Revision 557: Neues in WebKit

23. Februar 2023 | Keine Kommentare

Schepp und Peter nahmen die Veröffentlichung der Safari Technology Previews 161 und 162 zum Anlass, die dort frisch implementierten Features zu diskutieren und zu kommentieren.

Schaunotizen

[00:01:25] Best of Safari Technology Preview
Los geht es mit neuen Media-Query-Features, speziell prefers-reduced-motion und prefers-contrast (die in den Previews nicht neu sind, aber jetzt besser debugged werden können). Wir diskutieren die Hürden im praktischen Einsatz dieser Features (sowie von prefers-color-scheme) und erinnern an Hotdog Stand. Die Unterstützung von @property fehlt nach den neuesten Safari-Updates nun nur noch in Firefox, aber insgesamt sieht es für das CSS Typed OM und das Houdini-Projekt eher nicht so glänzend aus (Working Draft berichtete bereits). Über Fragen des Umgangs mit immer komplexerem CSS kommen wir zum Thema Selektor-Performance von :has(), die sich mit dem Profi-Profiling-Tool von Chrome messen lässt. Die Unterstützung von :user-invalid und :user-valid feiern wir marginal enthusiastischer als die von Lookbehind Assertions in Regulären Ausdrücken und wir nehmen die (beinahe) bestehende Existenz des ResizableArrayBuffer zur Kenntnis. Safari wird nun als letzter fehlender Browser Unterstützung für OffscreenCanvas bekommen, was Peter dazu bringt, seine jüngsten Abenteuer rund um willReadFrequently nochmal wiederzugeben. Zum Ende hin quatschen wir noch über margin-trim, CSS Subgrids, Declarative Shadow DOM, E4X, HTMLElement.attachInternals() bzw. Form-associated custom elements, globale Event Handler und die Zukunft von Safari und der ganzen weiten Browserwelt.
Transkript
WEBVTT

00:00.000 --> 00:06.360
Bist du einer der reduced motion referiert oder eher nicht und ich brauche es nicht

00:07.040 --> 00:11.040
Preverse reduced motion ist ja ein feature dass wir als webentwicklerinnen

00:12.120 --> 00:13.520
verwenden können

00:13.520 --> 00:18.320
Und die frage ist wenn ich jetzt jemand bin der darauf angewiesen ist dass die motion reduced ist so wie du es gerade beschrieben hast

00:19.200 --> 00:25.360
Dann kann ich doch webentwickler die ja tendenziell dazu neigen über lange animationen zu machen und zu verspielt zu werden doch nicht über einen

00:25.360 --> 00:31.360
Weg trauen oder?

00:31.360 --> 00:33.360
und

00:51.040 --> 00:54.000
working draught revision 557

00:54.000 --> 01:02.520
diese revision von working draught wird euch präsentiert von höhrerinnen und höhrern wie euch auf patreon.com

01:03.160 --> 01:09.360
Working draught könnt ihr uns ein paar euro in den hut werfen aus euren beiträgen und unseren gelinglichen werbeeinnahmen bezahlen wir allerleit

01:09.360 --> 01:12.280
höhere software bus und das honorar unserer audio produceren

01:12.560 --> 01:15.200
Wenn ihr euch auch beteiligen wollt könnt ihr das unter patreon.com

01:15.200 --> 01:23.760
Slashworking draught sehr gerne machen wir danken euch tausendfach für die unterstützung und fürs weitere zuhören

01:25.760 --> 01:30.960
Wir sind heute zu zweit und zwar während er zum ein der peter

01:31.520 --> 01:35.000
moin moin und ich bin der cheb und wir

01:35.680 --> 01:37.680
haben uns überlegt dass wir

01:37.680 --> 01:40.280
anlässlich der letzten safari

01:40.800 --> 01:42.320
technology previews

01:42.320 --> 01:45.320
technik previews technologie previews

01:45.320 --> 01:48.320
einfach mal wieder ein bisschen über webkit reden

01:48.320 --> 01:50.320
und

01:50.320 --> 01:53.320
was da so alles neues passiert

01:53.320 --> 01:58.320
weil das doch schon so einiges ist und auch ein paar coole sachen

01:58.320 --> 02:04.320
genau wo hingegen wir festgestellt haben dass im safari 16.3 der jetzt ja gerade

02:04.320 --> 02:08.320
irgendwie diese woche also in dieser aufnahmewoche ausgerollt wurde

02:08.320 --> 02:15.320
dass da im grunde nur bug fixes drin sind genau was auch cool ist die semantik versioning oder irgendwie so was ist das normal

02:15.320 --> 02:24.320
die versionsnummer von safari ist ja glaube ich immer gekoppelt an die versionsnummer das betrachten ja das kann auch nicht sein

02:24.320 --> 02:28.320
weil ich glaube also zumindest an die ios version

02:28.320 --> 02:32.320
genau das war auch mein eindruck aber beim desktop weiß ich nichts

02:32.320 --> 02:35.320
ja ich glaube desktop ist anders

02:35.320 --> 02:36.320
genau

02:36.320 --> 02:39.320
ja muss ja die aktuelle ist irgendwie

02:39.320 --> 02:41.320
ja

02:41.320 --> 02:44.320
wir sind doch echt die falschen leute für fragen zu macOS

02:44.320 --> 02:46.320
definitiv ja

02:46.320 --> 02:48.320
google das jetzt nochmal schnell

02:48.320 --> 02:51.320
aktuelle version wir bräuchten jetzt chatgbt

02:51.320 --> 02:53.320
also

02:53.320 --> 02:55.320
10.14.6

02:55.320 --> 02:57.320
ist wohl die aktuelle

02:57.320 --> 03:01.320
was überhaupt gar nichts mit der versionnummer von safari zu tun hat

03:01.320 --> 03:03.320
das stimmt

03:03.320 --> 03:09.320
gut aber auf jeden fall ist die 16.3 nur ein bug fix release deswegen

03:09.320 --> 03:15.320
übersehen wir das einfach weil da gibt es halt nichts spannendes außer dass Dinge die sowieso funktionieren sollten funktionieren

03:15.320 --> 03:19.320
genau und im webkit Bereich ist es natürlich trotzdem

03:19.320 --> 03:23.320
schön also man freut sich über darüber das zu lesen weil

03:23.320 --> 03:28.320
die haben ja viele coole features aber leider ja auch öfters mal ganz ganz merkwürdige bugs

03:28.320 --> 03:34.320
genau das heißt also da ist einiges hoffentlich stabiler und besser als vorher

03:37.320 --> 03:44.320
gut aber ich würde sagen wir gehen mal durch die beiden technologie previews durch die wir da haben 161 und 162

03:44.320 --> 03:49.320
und machen im prinzip so eine art non random glücksrad

03:49.320 --> 03:53.320
gucken wir mal was uns so zu den einzelnen features und

03:53.320 --> 03:58.320
Sachen so einfällt die da jetzt aktiviert wurden implementiert wurden oder etwas

03:58.320 --> 04:01.320
und bug fix wurden oder wo es halt eben einfach auch nur

04:01.320 --> 04:07.320
Änderungen gibt in irgendwelchen developer tools das kann uns ja eventuell auch dazu verleiten irgendwie

04:07.320 --> 04:09.320
ja

04:09.320 --> 04:13.320
irgendwas auf die themenplatte zu setzen ich würde direkt mal aufschlagen

04:13.320 --> 04:18.320
ja gerne mit dem ersten feature dass sie in der technologie preview 161

04:18.320 --> 04:24.320
geführt haben nämlich emulation toggles für css media features und zwar

04:24.320 --> 04:28.320
pre first reduced motion und pre first contrast

04:28.320 --> 04:32.320
erstmal ist natürlich sinnvoll dass man das irgendwie in seinen dev tools

04:32.320 --> 04:36.320
bekommt sonst kann man ja nicht testen was man da macht aber jetzt würde ich natürlich

04:36.320 --> 04:39.320
erstmal so die frage an dich schäbstellen

04:39.320 --> 04:44.320
hast du die im einsatz und wie entscheidet man sich dazu die einzusetzen in welchem

04:44.320 --> 04:48.320
rahmen oder so weil das fällt ja so in die gleiche kategorie von so user

04:48.320 --> 04:53.320
preferences umsetzen wie ein dark mode rein also pre first color scheme oder wie das heißt

04:53.320 --> 04:58.320
ja und das kriege ich ja noch so einig einigermaßen so in meinem cortex so

04:58.320 --> 05:01.320
vorgehalten es gibt irgendwie so die helle seite die dunkle seite das wissen

05:01.320 --> 05:05.320
wir schon seit lux skywalker und das kriege ich irgendwie so alles rein aber

05:05.320 --> 05:11.320
wie handhabt man so als man an der front diese preferred reduced motion und diese

05:11.320 --> 05:16.320
ganzen anderen preferences die man da so umsetzen kann ja bevor ich darauf

05:16.320 --> 05:20.320
antworte wollte ich noch vorab schicken du hast treffenerweise gesagt dass das

05:20.320 --> 05:26.320
ja media features sind kannst du noch kurz sagen was der unterschied warum du

05:26.320 --> 05:31.320
nicht media query gesagt hast ich glaube technisch gesehen ist es so media query

05:31.320 --> 05:34.320
ist ja so die gesamtheit von ad media und dann kommt da ihr kommt da irgendwelche

05:34.320 --> 05:38.320
regeln und dann gibt es darin die types und die features und die features sind

05:38.320 --> 05:42.320
im prinzip die wenn ich das so mal hinsetzen darf das sind im prinzip die

05:42.320 --> 05:47.320
parametrisierbaren varianten wo man irgendwie sagen kann breite bis oder

05:47.320 --> 05:52.320
color scheme dieses oder jenes und die alten waren die media features mit den

05:52.320 --> 05:57.320
vorgegebenen im prinzip geräteklassen von wegen es gibt ein mir type tv es gibt

05:57.320 --> 06:01.320
ein mir type handheld zuzeiten als es eine klare trennung gab zwischen zum

06:01.320 --> 06:04.320
beispiel einem handheld device und nicht wo das ja heutzutage irgendwie

06:04.320 --> 06:09.320
hybridgeräte sein können und wo ihr auch ein fernseher definitiv ein bestimmtes

06:09.320 --> 06:13.320
benutzungsmodell und niedrig auflösenden röhrenschirm und so was ähnliches

06:13.320 --> 06:19.320
vorausgesetzt hat so in der richtung ja genau ja die weil tatsächlich diese

06:19.320 --> 06:24.320
media features sind ja eben nur quasi ein baustein einer media query und diese

06:24.320 --> 06:29.320
media features kannst du ja auch in html bei ganz vielen elementen benutzen also

06:29.320 --> 06:38.320
bei dem source zum beispiel oder also für das picture element und bei video

06:38.320 --> 06:46.320
und bei link rel jetzt zum beispiel preload das ist dann eben das media feature

06:46.320 --> 06:51.320
und in css mit der ad media rule und dem ganzen schnick und schnack dadurch

06:51.320 --> 06:56.320
dadurch wird es erst so media query genau habe ich auch irgendwie lange gar nicht

06:56.320 --> 07:00.320
so drauf geachtet ist jetzt auch nicht unbedingt was also es ist jetzt nicht

07:00.320 --> 07:05.320
super wichtig dass man es weiß aber war dann irgendwann ist es mir das mal

07:05.320 --> 07:10.320
aufgefallen dass es eben doch zwei paar schuhe sind ja aber ich meine im prinzip

07:10.320 --> 07:14.320
ist ja das einzige also die einzigen zwei media types die ja noch relevant sind

07:14.320 --> 07:20.320
sind ja tatsächlich screen also der default und print maximal noch ja und das

07:20.320 --> 07:23.320
sind ja im prinzip wenn man jetzt mal so die analogie wieder her nimmt von wegen die

07:23.320 --> 07:27.320
feature sind parametrisierbare varianten könntest du ja im prinzip genauso gut

07:27.320 --> 07:31.320
sagen dass die types einfach nullstellige funktionen sind und dann kannst du das

07:31.320 --> 07:34.320
durchaus alles in einen top werfen und rumrühren weil ich glaube am ende

07:34.320 --> 07:37.320
interessiert das nicht so wirklich also da gibt es keinen druck die und zu

07:37.320 --> 07:43.320
unterscheiden glaube ich wenn man spezifikationen ja genau und um dann

07:43.320 --> 07:48.320
deine frage zu beantworten also tatsächlich also prefers contrast ist was

07:48.320 --> 07:54.320
dass ich momentan oder auch in der vergangenheit gar nicht bisher irgendwie

07:54.320 --> 08:00.320
bakere genau ich glaube da würde ich wahrscheinlich auch noch mal irgendwie

08:00.320 --> 08:05.320
mich einlesen wollen bevor ich da einfach ad hoc irgendwas mit baue im

08:05.320 --> 08:11.320
grunde genommen wünscht sich da eben der die besuchende oder der besucher

08:11.320 --> 08:18.320
einfach einen höheren kontrast es gibt ja noch diesen high contrast mode zum

08:18.320 --> 08:23.320
Beispiel in windows der sieht auch richtig also der ist schon echt übel so

08:23.320 --> 08:28.320
für ihr meintest du meinst hotdog stand richtig ist das hotdog stand ich glaube

08:28.320 --> 08:32.320
das glaube ich das war so ein theme das konnte man einsteigen hotdog stand war

08:32.320 --> 08:36.320
das halt eben das knallrote mit knallgelben ja ich glaube so der

08:36.320 --> 08:40.320
kontrast modus den du meinst nee aber so von der wirkung her auf jeden fall

08:40.320 --> 08:45.320
ähnlich da weiß ich jetzt gerade nicht ob das ob das das gleiche ist wie

08:45.320 --> 08:50.320
prefers contrast und deswegen sage ich also wenn ich dieses fällt irgendwie

08:50.320 --> 08:55.320
anfangen zu barkern würde ich mich da wahrscheinlich erstmal einlesen wollen

08:55.320 --> 09:02.320
genau prefers reduced motion das setze ich ein aber eigentlich eigentlich

09:02.320 --> 09:08.320
falsch weil was ich damit mache ist dass ich immer sozusagen alle animationen

09:08.320 --> 09:15.320
wieder wegnehme wenn jemand dieses diese preference gesetzt hat und ich glaube

09:15.320 --> 09:22.320
korrekt darf händis wenn ich die animationen in so ein prefers reduced motion

09:22.320 --> 09:30.320
hineinwickeln wo jemand sagt er möchte oder sie weil das dann quasi so ein

09:30.320 --> 09:36.320
art progressive enhancement ist und wer eben einen alten browser hat indem man das

09:36.320 --> 09:42.320
eben so nicht melden kann an die webseite dann dann hat man auch trotzdem fällt

09:42.320 --> 09:46.320
man eben zurück auf man hat keine animationen und wenn man eben dann eine

09:46.320 --> 09:51.320
betroffenen person ist und einen älteren browser hat dann braucht man eben kein

09:51.320 --> 09:57.320
kotz einwand neben seinem rechner wenn man die webseite betrachtet aber dann

09:57.320 --> 10:03.320
könnte man doch theoretisch einfach ganz ans ende von allem doch für alle

10:03.320 --> 10:09.320
elemente alle animationen und transitions auf aufschalten wird das nicht funktionieren

10:09.320 --> 10:16.320
genau so so mache ich das aber ich glaube ich finde also im infekt ist das jetzt

10:16.320 --> 10:20.320
das feinheiten ich glaube ich finde den umgekehrten ansatz besser wo man eben

10:20.320 --> 10:27.320
animationen hinzufügt wenn jemand prefers reduced motion ausgeschaltet hat

10:27.320 --> 10:33.320
genau und so wie du es gerade gesagt hast so mache ich das und so machen das

10:33.320 --> 10:38.320
glaube ich auch viele dass dass man dann einfach animation nun transition dann

10:38.320 --> 10:43.320
und dann noch important genau und die dinge dann nachträglich wieder

10:43.320 --> 10:50.320
abschaltet bist du einer der reduced motion preferiert oder er nicht

10:50.320 --> 10:58.320
und ich brauche es nicht also das ist ja dann es gibt weiß gar nicht vestibular

10:58.320 --> 11:04.320
oder motion sickness irgendwie dann ist dein gleichgewichtsorgan gestört glaube

11:04.320 --> 11:09.320
ich und es gibt so bestimmte arten von animationen die die du dann einfach nicht

11:09.320 --> 11:15.320
gut verträgst also wir wird zwar in der barn schlecht wenn ich arbeite und im

11:15.320 --> 11:20.320
auto wenn ich lese aber da da habe ich jetzt keine probleme ich finde aber

11:20.320 --> 11:26.320
manchmal tatsächlich wenn Sachen so zu verspielt und zu langartig animiert sind

11:26.320 --> 11:35.320
dann also dann finde ich das doof irgendwie schnell vorwärts kommen will ja gut

11:35.320 --> 11:39.320
aber das geht uns ja allen so die frage auf die ich halt hinaus möchte ist die

11:39.320 --> 11:45.320
first reduced motion ist ja ein feature dass wir als webentwicklerin verwenden

11:45.320 --> 11:49.320
können und die frage ist wenn ich jetzt jemand bin der darauf angewiesen ist

11:49.320 --> 11:52.320
dass die motion reduced ist so wie du es gerade beschrieben hast dann kann ich

11:52.320 --> 11:56.320
doch webentwickler die ja tendenziell dazu neigen über lange animationen zu

11:56.320 --> 12:00.320
machen und zu verspielt zu werden doch nicht über den weg trauen oder also für

12:00.320 --> 12:05.320
wen ist dieses feature ich kann mich ja wenn ich jetzt sozusagen den kurz einmal

12:05.320 --> 12:09.320
brauche wenn das wenn ich zu viel animationen habe kann ich mich ja nicht

12:09.320 --> 12:12.320
darauf verlassen dass das vernünftige webentwickler in weiser voraussicht

12:12.320 --> 12:15.320
abschalten sondern ich muss doch eigentlich andere wege finden das zu

12:15.320 --> 12:19.320
machen mit meinen user style sheets alle transitions abschalten oder mein

12:19.320 --> 12:24.320
betriebssystem irgendwie einrichten oder ähnliches ist das nicht so ja also

12:24.320 --> 12:29.320
wahrscheinlich wäre das der sichere weg genau also was genau und dann kann

12:29.320 --> 12:33.320
es vielleicht noch sein dass irgendwelche javascript gesteuerten animationen

12:33.320 --> 12:41.320
da da könnte man ja dann so ein match media abfrage machen genau die frage

12:41.320 --> 12:45.320
ist ob das überhaupt jemand macht aber das ist wieder sehr schön dass du wieder

12:45.320 --> 12:48.320
auf die webentwickler perspektive gehst und in meinem kopf sofort der

12:48.320 --> 12:52.320
entsprechende prototype override gebaut wurde mit dem ich halt irgendwie element

12:52.320 --> 12:56.320
und animate überschreiben kann mit das macht einfach nichts ich traue den

12:56.320 --> 13:03.320
webentwickler nicht ich glaube da hast du recht genau weil ich meine wenn ich

13:03.320 --> 13:05.320
jetzt so in meinen alltag reingucke ich muss letztens irgendwie dark mode

13:05.320 --> 13:08.320
implementieren habe halt allein schon festgestellt das klappt schon allein

13:08.320 --> 13:12.320
deshalb nicht weil auf linux der chrome die user preference ist einfach nicht

13:12.320 --> 13:16.320
umsetzt so ich stelle mein betriebssystem ein ich hätte gern dark mode das geht

13:16.320 --> 13:19.320
mit firefox auch aber chrome sagt halt eben nicht kriege ich sie halt trotzdem hier

13:19.320 --> 13:23.320
light mode und selbst dann habe ich festgestellt dass wenn ich webseiten

13:23.320 --> 13:26.320
nutze ich das gerne hin und wieder einfach auch manuell umschalte mit halt dem

13:26.320 --> 13:29.320
ding was die leute da in der ecke meistens haben also ein switch damit man

13:29.320 --> 13:33.320
das halt eben umschalten kann zwischen dark und light und wenn man schon so was

13:33.320 --> 13:36.320
bauen muss dann ist es ja eigentlich nur umso schwieriger geworden das ordentlich

13:36.320 --> 13:39.320
zu machen wenn man halt eben auch diese preference damit rein rechnen muss

13:39.320 --> 13:43.320
weil du hast ja entweder eine explizite einstellung oder ein media query switch

13:43.320 --> 13:46.320
halt eben über die preferences vom betriebssystem und wie findest du da jetzt

13:46.320 --> 13:54.320
raus was jemand wirklich haben möchte ja so ein bisschen so wie so das welche

13:54.320 --> 14:00.320
lokalisierte version meiner seite soll ich jetzt weiter leiten also macht das

14:00.320 --> 14:05.320
nur also die besuchende personen über über so ein umschalter oder gucke ich

14:05.320 --> 14:11.320
auf die quasi sprache die im http da übermittelt wird

14:11.320 --> 14:16.320
ja und selbst dann kannst du ja längst noch nicht alles umschalten irgendwie so

14:16.320 --> 14:22.320
ja ja das kommen wir da in input type number und ähnliche späße ja das ist

14:22.320 --> 14:27.320
auf jeden fall komplex und ich finde auch je mehr dieser dinge man einbaut

14:27.320 --> 14:34.320
desto mehr also multiversen hat man dann sozusagen die man testen muss neben

14:34.320 --> 14:40.320
auch noch quasi desktop und vielleicht tablet und mobile allen dazwischen dann

14:40.320 --> 14:45.320
hat man noch leitmotor dark mode und das ganze dann noch mal multipliziert mit

14:45.320 --> 14:50.320
einmal mit motion einmal ohne und also das finde ich schon sehr schwer und ich

14:50.320 --> 14:53.320
finde auch so ein dark mode ein anständigen zu bauen das ist auch richtig

14:53.320 --> 14:58.320
arbeit das gibt ja hier diesen dark mode für arme wo man quasi über css filter

14:58.320 --> 15:03.320
dann die die seite invertiert und dann alle bildelemente sich nimmt und die wieder

15:03.320 --> 15:08.320
zurück invertiert und dann noch quasi am fahrbrat dreht damit rot das nach

15:08.320 --> 15:12.320
dem invertieren grün geworden ist dann auch wieder quasi zurück ins rot gedreht

15:12.320 --> 15:18.320
wird da kommt man aber eben nur also das dann wieder pareto prinzip mit wenig

15:18.320 --> 15:23.320
aufwand schafft 80 prozent der strecke aber so richtig cool ist es nicht ist es

15:23.320 --> 15:26.320
nicht aber zum beispiel auf meinem firefox den ich auf meinem mobilgerät

15:26.320 --> 15:30.320
verwende habe ich eine extension installiert die macht halt sowas in

15:30.320 --> 15:34.320
der richtung weil ich halt den webseiten nicht zu trauen kann dass sie meine

15:34.320 --> 15:38.320
preferences irgendwie ernst nehmen und ich krieg wirklich schleuder trauma wenn

15:38.320 --> 15:41.320
ich irgendwie so mein dunkles betriebssystem habe und dann plötzlich so

15:41.320 --> 15:46.320
bamm knallweise seite es geht halt nicht sieht halt jetzt doof aus und manchmal

15:46.320 --> 15:52.320
ist auch wirklich zeug ernsthaft unlesbar aber was will man machen die web

15:52.320 --> 15:56.320
entwickeln entwickeln setzen das halt auch nicht richtig um und das wenn sie es

15:56.320 --> 15:59.320
unrichtig umsetzen wollen die zugangsdaten zu ihren jugendzünden von vor 20

15:59.320 --> 16:03.320
jahren haben sie halt auch nicht mehr und dann sind die halt so wie sie sind ja ich

16:03.320 --> 16:08.320
finde das schon also schon grundsätzlich sinnvoll dass man dass man sich

16:08.320 --> 16:15.320
dann selber hilft mit eigen user styles also die sind ja tatsächlich auch bei

16:15.320 --> 16:21.320
design vorgesehen dass die gibt und dass die genau die glaube die genau die

16:21.320 --> 16:28.320
override ja per default in der kaskade auch die website styles richtig und nur

16:28.320 --> 16:33.320
bei importen dreht sich das wenn sie importen haben haben sie die haben

16:33.320 --> 16:36.320
sie die haben sie das letzte wort aber sonst ist das irgendwie noch komplizierter

16:36.320 --> 16:40.320
aber auch das ist halt wieder das sind dann in multiversen wieder durch die halt

16:40.320 --> 16:48.320
keiner durchsteigt ja genau ja vielleicht auch einfach nochmal hier an die höhere

16:48.320 --> 16:54.320
abgegeben wie wie macht ihr das vielleicht wollte uns da mal irgendwie was

16:54.320 --> 17:01.320
schreiben in unserem community slack unter draft.community da findet ihr den

17:01.320 --> 17:06.320
weg dahin genau also ich finde das alles auch gut ich finde auch gut dass es

17:06.320 --> 17:14.320
gibt aber ich das macht halt die arbeit nicht einfacher beileibe nicht

17:14.320 --> 17:19.320
aber hey dafür kriegen wir neue neue power tools mit denen wir die arbeit noch

17:19.320 --> 17:26.320
interessanter gestalten können ja das wäre es CSS custom properties und damit

17:26.320 --> 17:31.320
meine ich jetzt nicht die ganz normalen CSS variablen mit zwei dashes davor für

17:31.320 --> 17:35.320
irgendwie so theming und so das ist ja im prinzip nur langweilige string

17:35.320 --> 17:39.320
interpolation man kann ja auch richtige eigene properties deklarieren mit

17:39.320 --> 17:43.320
ad property was ich noch nie gemacht habe aber ich habe ja zum glück hier ein

17:43.320 --> 17:48.320
kompetenten mitarbeiter im call chef erzählt was macht ad property und warum

17:48.320 --> 17:52.320
ist das gut dass wir das jetzt in safari auch demnächst haben werden oder zu

17:52.320 --> 17:57.320
wissen also ich finde das finde ich ziemlich ziemlich gut ich stehe

17:57.320 --> 18:01.320
total auf dieses ad property ich finde ja auch dass das so das beste

18:01.320 --> 18:07.320
abfallprodukt von CSS hudini ist während der rest von hudini glaube ich

18:07.320 --> 18:13.320
meiner meinung nach dann irgendwie langsam in die tonne wandern kann und

18:13.320 --> 18:18.320
haben wir eine revision zu genau wir haben auch eine revision dazu die kann

18:18.320 --> 18:23.320
wir nochmal verlinken also kurz gesagt du kannst halt einfach custom

18:23.320 --> 18:30.320
properties damit typen also CSS variablen sozusagen weil und der browser

18:30.320 --> 18:36.320
wenn du die types dann kann der browser die eben auch interpolieren und damit

18:36.320 --> 18:42.320
animieren und nützlich ist sowas bei zum beispiel

18:42.320 --> 18:49.320
wenn man gradients mit custom properties irgendwie zusammensetzt dann war es

18:49.320 --> 18:53.320
eben bisher so dass wenn man wenn man die farben oder die hintergrundfarben

18:53.320 --> 18:58.320
oder so animieren wollte und das ist eben eine custom property dann konnte

18:58.320 --> 19:03.320
der browser das nicht und dann sind die im prinzip wie so wie so ein bit von

19:03.320 --> 19:09.320
null auf eins geflippt und wenn man eben dann diese variable zum beispiel

19:09.320 --> 19:17.320
als color typed dann weiß der browser alles klar von der zu der farbe da kann

19:17.320 --> 19:21.320
ich folgendermaßen interpolieren und dann hat man eben eine animation eine

19:21.320 --> 19:25.320
flüssige genau man muss halt weg ich nochmal herausstellen normale css

19:25.320 --> 19:29.320
variablen so irgendwie mein margin oder so auch wenn ich den auf null setze

19:29.320 --> 19:33.320
steht er halt im prinzip auf dem string null also das ist halt für css nicht

19:33.320 --> 19:37.320
ersichtlich dass da irgendwie ein typ drin wohnt und deswegen kann man damit

19:37.320 --> 19:40.320
eine ganze menge sachen halt nicht tun wie zum beispiel diese interpolations

19:40.320 --> 19:44.320
geschichte ich meine das eigentlich spannende ist natürlich wenn man dann

19:44.320 --> 19:47.320
schritt zurücktritt das was du gerade beschrieben hast das properties

19:47.320 --> 19:53.320
tatsächlich typen haben das ist ja sozusagen dann auch so die eine api

19:53.320 --> 19:58.320
zumindest um wirklich naja mit css properties oder beziehungsweise deren

19:58.320 --> 20:03.320
werte tatsächlich in irgendwie einer geteibten weise verwenden zu können

20:03.320 --> 20:06.320
das ist ja normalerweise bei css nicht der fall das ist ja alles irgendwie einfach

20:06.320 --> 20:09.320
nur ein riesiger hoffen strings und die werden dann irgendwann innerhalb der

20:09.320 --> 20:13.320
css engine uminterpretiert dass irgendwie null eine zahl sein könnte oder

20:13.320 --> 20:16.320
irgendwie sieben pixel halt am ende tatsächlich irgendeine zahl in pixel

20:16.320 --> 20:21.320
bedeuten oder sieben am oder was auch immer und das macht halt ja eine ganze

20:21.320 --> 20:24.320
menge also nicht nur da halt eben diese interpolation für animation das ist

20:24.320 --> 20:26.320
halt eben das eine aber zum anderen macht es natürlich auch das programmieren

20:26.320 --> 20:30.320
viel einfacher wenn ich halt irgendwie mit javascript was abfragen kann irgendwie

20:30.320 --> 20:34.320
wie breit ist das ding und ich kriege halt eine information zurück wenn da der

20:34.320 --> 20:38.320
string drin steht irgendwie im 50 am dann kann ich damit ja exakt nichts

20:38.320 --> 20:41.320
anfangen ich müsste das element hier wirklich messen um damit an der ende

20:41.320 --> 20:45.320
irgendwas anzufangen oder manuell passen gottbeware jetzt kann mir der browser halt

20:45.320 --> 20:49.320
eben sagen das sind 50 und zwar in der einheit em und ich muss das nicht mehr

20:49.320 --> 20:54.320
manuell auseinander passen was so diverse css manipulationen natürlich

20:54.320 --> 20:59.320
einfacher bis überhaupt erst möglich macht ich hatte ja mal du unterhands hatte

20:59.320 --> 21:06.320
doch mal dieses projekt namens warhul und ich glaube da habt ihr da drauf ich glaube

21:06.320 --> 21:11.320
das ist dann das type css o.m. ne heißt das dann nope es war nicht das typed o.m.

21:11.320 --> 21:14.320
weil das ja keiner unterstützt hat okay aber der chrome hat es unterstützt

21:14.320 --> 21:19.320
damals schon aber das habt ihr trotzdem dann nicht genutzt weil es wäre halt

21:19.320 --> 21:23.320
keine universelle lösung gewesen der chrome hat das unterstützt ist jetzt

21:23.320 --> 21:26.320
eine sehr sehr freundliche auslegung dessen was der machen konnte also der konnte

21:26.320 --> 21:32.320
halt wirklich für ich glaube also zu dem zeitpunkt für ausschließlich measures

21:32.320 --> 21:36.320
also length konnte er das aber schon bei farben hat es halt auch aufgehört

21:36.320 --> 21:39.320
hatte der einfach keinen support für also ich konnte den abfragen mit dem type

21:39.320 --> 21:43.320
o.m. sag mal gibt mir mal hier irgendwie so die maße hat das gemacht wie ich

21:43.320 --> 21:47.320
gerade beschrieben habe das sind 50 einheiten und die einheit ist em okay

21:47.320 --> 21:51.320
wunderbar damit kann man arbeiten aber schon bei farben kam halt am ende

21:51.320 --> 21:56.320
so ein o.p.k. objekt raus wo man wirklich nur sagen konnte aha das ist halt ein

21:56.320 --> 21:59.320
o.p.k. objekt das repräsentiert irgendein wert und ich kann das ding

21:59.320 --> 22:02.320
stringifizieren bekommt dann also irgendwie ein hexadecimalen farbcode

22:02.320 --> 22:06.320
raus aber das ist mehr operation als stringifizieren gab es da nicht drin

22:06.320 --> 22:09.320
irgendwie so einfach komponente extra hier dann mal wieder bei unseren manuellen

22:09.320 --> 22:15.320
rumpasen das war wirklich finster damals ja weil weiß halt das ist ja immer

22:15.320 --> 22:19.320
noch finster ich gehe fest davon aus weil es ist halt einfach auch ein riesiges

22:19.320 --> 22:23.320
breit was da gebohrt wird das ist ja ja wieder so ein klassischer web

22:23.320 --> 22:27.320
entwicklungsproblem fall wo man irgendwie was vorhandenes hat es gibt

22:27.320 --> 22:31.320
css es gibt auch das cssom und es gibt code der sich darauf verlässt dass es

22:31.320 --> 22:35.320
funktioniert wie es halt eben schon immer war und jetzt muss man nachträglich

22:35.320 --> 22:39.320
eine low level api an das high level konstrukt dran flanschen womit man das

22:39.320 --> 22:43.320
high level konstrukt das css dann bedienen kann und das führt halt eben

22:43.320 --> 22:46.320
dazu dass das was halt eben danach gelagert kommt automatisch mit irgendwelcher

22:46.320 --> 22:51.320
legacy last belastet ist und ja oftmals auch nicht irgendwie intern konsistenz

22:51.320 --> 22:55.320
sein kann einfach weil die high level welt von der es abgeleitet ist ja schon

22:55.320 --> 22:59.320
in nicht in sich konsistent ist das kennt man ja aus webkomponens da kommt es ja

22:59.320 --> 23:03.320
darauf an wann das ding initialisiert wurde ob man dann irgendwie seinen kind

23:03.320 --> 23:06.320
inhalt sehen sehen kann oder ob der noch und definiert ist das wirkt sich dann

23:06.320 --> 23:09.320
halt eben auch bei css auf und das ist halt eben nicht implementiert wird oder dass

23:09.320 --> 23:13.320
die browser so langsam damit sind habe ich halt vollstes verständnis für weil

23:13.320 --> 23:17.320
mal ganz ehrlich das interessiert ja auch kaum jemanden also das hätte mir damals

23:17.320 --> 23:20.320
echt das leben sehr viel leichter gemacht und irgendwie alles viel toller

23:20.320 --> 23:26.320
gemacht und das sowas wie ad property ist super und das brauchen wir mit so ein bisschen

23:26.320 --> 23:29.320
air quotes aber das brauchen halt wir und ich glaube die meisten leute die halt

23:29.320 --> 23:33.320
einfach nur damit zu kämpfen haben dass ihre webseite einigermaßen konsistent

23:33.320 --> 23:38.320
aussehen soll den ist das weniger wichtig als irgendwie keine ahnung neuer css

23:38.320 --> 23:41.320
filter oder sowas damit kann man einfach mehr anfangen und ich glaube mehr

23:41.320 --> 23:47.320
leuten was gutes tun wäre halt zu meiner einschätzung der lage ja ich glaube

23:47.320 --> 23:55.320
genau es ist halt andererseits eine relativ niedrig hängende fruit also frucht

23:55.320 --> 24:04.320
weil im prinzip kennt css ja die typen schon also man musste jetzt eben quasi

24:04.320 --> 24:12.320
nur noch rein bauen dass dass das eben diese typen auch auf custom properties oder

24:12.320 --> 24:19.320
mit denen genutzt werden kann dieses typen das ist ja dann wieder was das steckt

24:19.320 --> 24:24.320
da zwar theoretisch auch irgendwie drin aber das ist halt wie du schon gesagt

24:24.320 --> 24:30.320
hast einfach ein dickeres brett und man kann halt schon nette sachen machen

24:30.320 --> 24:34.320
ich meine so speziell das typ system ich meine das ist ja am ende kein unterschied

24:34.320 --> 24:37.320
weil die typen die du halt auf normalen properties vorfindest auf irgendwie

24:37.320 --> 24:40.320
color und background position oder so sind ja am ende die gleichen typen die du

24:40.320 --> 24:47.320
auch verwendest für deine ad property regeln also das muss man dann ja da

24:47.320 --> 24:52.320
wo das andere gleich genau dazu genau genau aber es ist halt natürlich auch

24:52.320 --> 24:54.320
das vergrößert natürlich für die browser so die gesamte oberfläche von

24:54.320 --> 24:58.320
zeug dass man testen muss weil du hast dann ja neben dem alten css som ja auch

24:58.320 --> 25:03.320
typen muss alles getestet und supportet und gebackfixt werden macht es halt auch

25:03.320 --> 25:08.320
nicht einfacher nicht das stimmt ich meine wo wir schon mal dabei sind könnten

25:08.320 --> 25:13.320
wir eben auch noch erwähnen das ja vom typen auch eine ganze Menge kram in

25:13.320 --> 25:17.320
diesem technologie preview 161 auch aktiviert wird und das ist nicht nur

25:17.320 --> 25:22.320
ad property als spielt halt zusammen sondern auch das typen an sich wird hier

25:22.320 --> 25:25.320
enabled und eine ganze Menge dinge apis und so werden da unterstützt die sind

25:25.320 --> 25:31.320
dann da auch mit verfügbar ja ich würde mal interessieren also warum weil das

25:31.320 --> 25:38.320
ja viel arbeit ist was die dazu bewegt hat dieses typen zu implementieren

25:38.320 --> 25:44.320
weil ich weiß nicht ob die so diesen hudini weggehen wollen das glaube ich hier

25:44.320 --> 25:50.320
nicht also ich denke die sehen das auch wahrscheinlich eher so das paint api und

25:50.320 --> 25:56.320
layout api dass das alles irgendwie das aus denen wahrscheinlich nichts wird oder

25:56.320 --> 26:05.320
aber was der use case ist dass sie sagen keel des typen das brauchen die leute so

26:05.320 --> 26:11.320
hart dass wir das implementieren also ich mein sag ja so du willst einen eignen

26:11.320 --> 26:15.320
der will sein eigen effekt irgendwie eine webseite bauen wenn es hart auf hart

26:15.320 --> 26:19.320
kommt kannst du immer hingehen und kannst das kennenwisselement rausholen

26:19.320 --> 26:24.320
also du kriegst immer irgendwie deine pixel da auf den bildschirm das normale

26:24.320 --> 26:32.320
cssom ist so hart eingeschränkt das ist halt wirklich wirklich im prinzip also du

26:32.320 --> 26:36.320
kannst es behandeln als wäre es nicht da du kannst halt irgendwie so die style

26:36.320 --> 26:39.320
property von dem element setzen und du kannst wenn es hoch kommt irgendwie so

26:39.320 --> 26:42.320
über die style rule sind zum style sheet drüber iterieren aber wenn du

26:42.320 --> 26:46.320
irgendwas machen willst was auch nur minimal advance da ist als das mitjar

26:46.320 --> 26:51.320
was kript ist es halt wirklich ziemlich schwierig und du hast da wirklich so

26:51.320 --> 26:56.320
fälle wo einfach so gesagt werden muss sorry webentwickler geht halt nicht also

26:56.320 --> 26:59.320
ich sage dir mal ein beispiel du hast eine zusammengesetzte property wie

26:59.320 --> 27:02.320
background wo du halt eben color und background image und background position

27:02.320 --> 27:06.320
und so weiter alles reinschreibst und sobald du halt hingehst und du hast

27:06.320 --> 27:10.320
da eine normale css variable drin die ganz normale mit den zwei dashes und du

27:10.320 --> 27:15.320
baust in diese property rein dann ist allein das vorhandensein von so einer

27:15.320 --> 27:21.320
css variable schon so schon grund dafür dass wenn du abfragst hey was ist in

27:21.320 --> 27:24.320
die background position von diesem element dass du als antwort zurückbekommst

27:24.320 --> 27:28.320
den leeren string nicht unterscheidbar von das ist irgendwie auf zum beispiel

27:28.320 --> 27:31.320
den leeren string oder irgendwas anderes gibt ja CSS properties oder leere

27:31.320 --> 27:34.320
string erlaubt das background position ist ein schlechtes beispiel aber wo du

27:34.320 --> 27:38.320
halt den leeren string zurückbekommst warum weil du halt eine css variable

27:38.320 --> 27:42.320
irgendwo in die ganze background deklaration reingeschrieben hast dadurch

27:42.320 --> 27:46.320
weil das ja nur ein string replacement ist ist es für css nicht mehr nachvollziehbar

27:46.320 --> 27:51.320
ob man jetzt damit einen wert wie zum beispiel die background position 50

27:51.320 --> 27:54.320
prozent 50 prozent reingeschrieben hat oder die background position und die

27:54.320 --> 27:58.320
color oder ein element aus der background position also einer von den

27:58.320 --> 28:04.320
zwei zahlen oder oder oder also die custom property kann quasi für mehrere

28:04.320 --> 28:10.320
ja longhands longhand properties stehen gleichzeitig oder auch nicht genau

28:10.320 --> 28:13.320
nicht kann sondern könnte und allein weil sie weil es könnte kann dir das css um

28:13.320 --> 28:18.320
dann keine antwort mehr darauf geben was ist die background position und die ant

28:18.320 --> 28:21.320
der antwort die du bekommst ist halt nicht unterscheidbar in einigen umständen

28:21.320 --> 28:26.320
von ist nicht gesetzt ja und dann stehst du halt rum und versuchst halt

28:26.320 --> 28:29.320
rauszufinden wie die background position ist und die einzige antworte die dir

28:29.320 --> 28:32.320
halt eben gegeben werden kann ist das halt fundamental unmöglich das mit

28:32.320 --> 28:38.320
sicherheit rauszufinden und das ist schon hart schwach genau wobei kannst du das

28:38.320 --> 28:46.320
denn nicht was ist denn mit get computed style ist das also nicht den computer

28:46.320 --> 28:50.320
nicht den computer style haben willst weil du zum beispiel sowas baust du halt die

28:50.320 --> 28:54.320
css deklaration also tatsächlich den input vergleichen möchtest hat das

28:54.320 --> 29:00.320
ding als background position wirklich gesetzt bekommen keine ahnung 4 em 50

29:00.320 --> 29:05.320
rem mal so als beispiel weil du ja mit dem css interagieren willst die

29:05.320 --> 29:10.320
computer styles sind ja am ende die tatsächlich realisierten ich weiß

29:10.320 --> 29:13.320
jetzt gerade den spezifikations nicht mehr begriff nicht mehr aber es gibt ja

29:13.320 --> 29:15.320
die computer styles sind dann nachher kommt ja die wirkliche wirkliche

29:15.320 --> 29:19.320
wahrheit also wie es wirklich am ende umgesetzt und ausgerechnet ist das

29:19.320 --> 29:23.320
kriegste immer raus mit eben get computed style aber halt nicht wie du

29:23.320 --> 29:26.320
dahin gekommen bist und wenn du das wissen willst dann ist halt Schluss und

29:26.320 --> 29:30.320
das ist ja eigentlich css der weg zu den computer styles die computer styles sind

29:30.320 --> 29:39.320
ja nur das ergebnis vom css das war echt ein war echt also ist ja nichts

29:39.320 --> 29:43.320
geworden weil aus einer reihe von gründen aber meine fresse ich habe so viel

29:43.320 --> 29:48.320
gelernt und wenn ich eins sagen kann das alte css um hat fast ich nie wieder an

29:48.320 --> 29:52.320
das habe ich gelernt das hast du auf hier für den podcast eigentlich gemacht

29:52.320 --> 29:57.320
damit du damit du uns davon erzählen kannst so sieht es nämlich aus alles für

29:57.320 --> 30:03.320
das publikum aber hier ein habe ich noch eine frage hätte ich noch zu diesen

30:03.320 --> 30:09.320
css custom property zeug das woran ich gerade arbeite macht eine ganze

30:09.320 --> 30:13.320
Menge css generieren also wirklich ganz ganz viel mit ganz ganz vielen

30:13.320 --> 30:19.320
komplizierten kalke war geschichten und sowas und ich fühle mich ja ein bisschen

30:19.320 --> 30:23.320
gebissen mittlerweile davon dass css ja keine sonntags oder runtime erbos mir

30:23.320 --> 30:29.320
durchgibt also ich lade meine webseite neu und das sieht halt nicht aus wie es

30:29.320 --> 30:34.320
so aussehen soll und im idealfall merke ich das im schlimmsten fall nicht ist

30:34.320 --> 30:37.320
das eigentlich noch angemessen also ich meine das verhalten dass es weiter

30:37.320 --> 30:41.320
funktioniert ist korrekt weil das ist wie css funktioniert progressive enhancement

30:41.320 --> 30:48.320
etc das soll so bleiben aber sollte nicht irgendwie eine ungültige css

30:48.320 --> 30:51.320
konstruktion uns mittlerweile mal gemeldet wird und ich meine jetzt halt

30:51.320 --> 30:55.320
nicht irgendwie so ein css validator den ich über meinen style sheet meine css

30:55.320 --> 30:58.320
darüber laufen lassen kann weil wenn ich mit javascript irgendwelches css

30:58.320 --> 31:02.320
generiere was ich halt eben gerade tue da nutzt mir das nicht ich will ja wissen

31:02.320 --> 31:05.320
was das was ich den browser zu essen gebe ob das tatsächlich noch irgendwelche

31:05.320 --> 31:10.320
gültigkeits anforderungen erfüllt gibt es da was oder sollte es das geben oder

31:10.320 --> 31:17.320
ist das käse spinnig also ich glaube das ist ja so zumindest in firefox da

31:17.320 --> 31:23.820
bekommst du ja so was sind das so notifications auf der konsole wenn du

31:23.820 --> 31:32.320
irgendwie also zumindest teilweise wenn du so mumpits werte setzt glaube ich aber

31:32.320 --> 31:39.320
das ist halt nix was du per javascript glaube ich abgreifen kannst also das

31:39.320 --> 31:43.020
müsste ich gar nicht haben aber zum beispiel irgendwie so ich hatte halt mal so

31:43.020 --> 31:46.840
ein brainfahrt wo ich irgendwie so kalk eine einwert mit einheit geteilt durch

31:46.840 --> 31:50.880
anderen wert mit einheit gemacht habe was halt offensichtlich nicht geht weil

31:50.880 --> 31:55.120
ergibt ja keinen sinn so aber was passiert halt die ganze expression ist

31:55.120 --> 31:58.520
halt eben einfach nur wird nicht evaluiert er liefert kein ergebnis

31:58.520 --> 32:04.120
funktioniert nicht was ist wenn du das in css punkt supports reinsteckst und

32:04.120 --> 32:09.360
guckst was also was da auskommt also ich meine dann du würdest es dann missbrauchen

32:09.360 --> 32:17.840
für was jetzt genau also wie würde ich das machen naja du kannst ja ich weiß

32:17.840 --> 32:23.840
nicht ob das ob das ob dann falls so came aber wenn du da eben einen ungültige

32:23.840 --> 32:32.840
deklaration reinsteckst also ich meine das müsste funktionieren aber wie

32:32.840 --> 32:36.800
implementiere ich das denn also ich generiere meinen javascript string mit

32:36.800 --> 32:41.780
50.000 css regeln drin und ich will mitbekommen wenn das nicht funktioniert

32:41.780 --> 32:46.520
möglicher im idealfall nicht nur mit deine 50.000 zeilen sind kaputt sondern

32:46.520 --> 32:52.560
in dieser stelle ist es halt eben suboptimal dieser kalkausdruck den du

32:52.560 --> 32:58.840
da gebaut hast der geht nicht ja schwierig wüsste jetzt auch nicht also

32:58.840 --> 33:04.800
ich glaube also teilweise kannst du es halt noch in den dev tools sehen also da

33:04.800 --> 33:09.360
gibt es jetzt auch immer mehr solche dass du so anmerkungen bekommst nach dem

33:09.360 --> 33:17.400
auto hier wenn du quasi diese property oder das so setzt dann funktioniert

33:17.400 --> 33:21.680
sagen wir mal float nicht mehr oder sowas also dann so hier dein float ist

33:21.680 --> 33:30.840
kaputt weil du hast im parent container display flex gemacht oder so ja genau

33:30.840 --> 33:35.400
das ist ja auch nicht das was du willst und das funktioniert ja auch nur für

33:35.400 --> 33:39.880
bestimmte dinge ja es ist ja auch das ist ja auch mehr so ein das ist ja mehr

33:39.880 --> 33:44.120
so situational awareness so das ist irgendwie so weißt du dieses ding im

33:44.120 --> 33:48.880
flugzeug was der sagt pull up terrain wenn du auf dem berg zu fliegst ja ich

33:48.880 --> 33:52.640
hätte jetzt mehr gern so mehr gern so ein ikam output wo halt so drin steht das

33:52.640 --> 33:57.400
und das ist gerade kaputt an deinem gerät und ich kann dir genau sagen welches

33:57.400 --> 34:04.480
teil das jetzt ist ja und was ist hier mit steilend also jetzt mal irgendwie

34:04.480 --> 34:08.520
ungeachtet dessen ob du das jetzt wie du das da bei dir im projekt jetzt genau

34:08.520 --> 34:14.960
verbaut aber das macht sowas auch ja aber ist halt die frage ob der den

34:14.960 --> 34:18.160
ganzen layers of interaction folgen kann also stell dir vor ich habe einen

34:18.160 --> 34:23.320
kalkausdruck war eins geteilt durch war zwei und in war zwei ist eine einheit

34:23.320 --> 34:29.200
drin das kann der auch gar nicht weil das ja von deiner domstruktur abhängt

34:29.200 --> 34:33.600
auch ja genau aber ich meine am ende sind wir ja bei deinen computer styles von

34:33.600 --> 34:39.240
vorhin irgendwann kommt halt die wahrheit zu tage und dann müsste finde ich

34:39.240 --> 34:44.160
müsste es einen reporting mechanismus geben der da sagt dieses css hier das

34:44.160 --> 34:47.200
funktioniert so nicht und sei es halt nur dass mir die deklaration genannt wird

34:47.200 --> 34:51.160
muss ja nicht mal irgendwie so eine super genaue diagnostik sein von wegen der

34:51.160 --> 34:54.600
spezifischen fehler kalk geteilt durch element mit einheit funktioniert nicht

34:54.600 --> 35:00.680
sondern einfach nur mehr als einfach still scheitern so was halt auch ein

35:00.680 --> 35:03.560
bisschen schwierig ist weil du willst ja progressive enhancement haben aber das

35:03.560 --> 35:07.160
ist ja wahrscheinlich ein kategorie fehler zu sagen unbekannte property oder

35:07.160 --> 35:10.960
unbekannter value versus ich weiß was du versuchst zu machen aber das

35:10.960 --> 35:15.920
funktioniert nicht und hier ist die meldung die dich dahin weist also mit

35:15.920 --> 35:19.040
dieser immer weiter steigenden komplexität von css mit property und

35:19.040 --> 35:23.120
hudini und hast du nicht gesehen wäre es glaube ich mal an der zeit dass die

35:23.120 --> 35:26.120
devtools nicht einfach nur aufrüsten mit neuen buttons die man anklicken kann so

35:26.120 --> 35:29.640
und wirklich mit solchen reporting mechanismen wie immer die auch aussehen

35:29.640 --> 35:33.440
ich bin da halt nur persönlich gerade von gebissen deswegen klar war das so in

35:33.440 --> 35:39.080
meinem kopf herum also tatsächlich ist es ist es ja so dass die ich glaube dass die

35:39.080 --> 35:44.840
devtool machen der verschiedenen browser auch total interessiert sind an solchen

35:44.840 --> 35:49.480
Dingen also weil immer wenn ich mal welche getroffen habe und mich mit den

35:49.480 --> 35:54.480
unterhalten habe und dann eben auch gesagt habe so so im css Bereich zum

35:54.480 --> 36:00.720
Beispiel es wäre halt einfach cool wenn die devtools ein darauf hinweisen würden

36:00.720 --> 36:08.200
dass man bestimmte dinge implizit quasi auslöst durch das explizite setzen

36:08.200 --> 36:12.480
bestimmter properties also da kommt ja dann je nachdem was man da benutzt

36:12.480 --> 36:15.320
kommen ja noch so ein paar sachen im gepack wie zum beispiel ist an eben

36:15.320 --> 36:22.840
floats nicht gehen und so da gibt es ja noch ganz ganz viel mehr und so was finde

36:22.840 --> 36:29.160
ich halt einfach total total gut und die sind da auch absolut interessiert dran

36:29.160 --> 36:36.800
deswegen also musst du da einfach nur den den case für machen und und dann

36:36.800 --> 36:41.120
dass die richtigen leuten einfach schicken und also ich glaube dass die

36:41.120 --> 36:45.720
schon offen wären für sowas und ich finde das jetzt auch tatsächlich sinnvoll

36:45.720 --> 36:50.680
ich glaube aber dass ich glaube es ist mehr als nur den case machen also ich

36:50.680 --> 36:53.880
glaube es lässt sich relativ leicht fordern so wie ich jetzt hier sitze

36:53.880 --> 37:02.000
damit man ja viele also warum sollst du es nicht auch machen und dann ja das

37:02.000 --> 37:05.360
ist ja ein bisschen mühe geben da ist vielleicht auch die chancen einigermaßen

37:05.360 --> 37:10.760
ernst genommen zu werden ja das müsste ich ja tun weil sonst würde ich ja

37:10.760 --> 37:17.720
aussehen wie ein vollhuhn ganz genau ja und vielleicht kann man ja sowas zumindest

37:17.720 --> 37:20.480
mal sowas mit so einer stylend implementierung ja zumindest mal prototypen

37:20.480 --> 37:23.440
dass man so eine browser extension schreibt und irgendwie so sagt das macht

37:23.440 --> 37:27.200
nicht was ich will es macht irgendwie nur so 30 prozent von dem aber event

37:27.200 --> 37:31.440
100 prozent von dem machen würde was ich gerne hätte siehe text dann könnte

37:31.440 --> 37:35.120
das so sein und dann wäre das vielleicht nützlich ja ja genau also ein

37:35.120 --> 37:39.160
browser extension baut es natürlich auch immer super dass er dann auch je nach

37:39.160 --> 37:42.800
dem was also wie beliebt die dann ist und was für einen uptake die hat oder was

37:42.800 --> 37:46.880
die leute darauf eben für ein feedback geben ist natürlich für die browser

37:46.880 --> 37:52.600
mache dann auch noch mal so ein ding wo die dann sehen können hey das finden

37:52.600 --> 37:56.920
schon viele leute gut oder es interessiert kann sau kann ja auch sein und

37:56.920 --> 38:01.640
dann sparen wir uns die arbeit und machen lieber andere dinge

38:01.640 --> 38:05.840
ja okay dann habe ich also jetzt hausaufgaben wunderbar ja aber finde ich

38:05.840 --> 38:13.760
gut bescheid wenn du das wenn du da irgendwie was hast dann würde ich da

38:13.760 --> 38:19.280
auch die werbetrommel rühren für okay das ist das ist ein deal das machen wir

38:19.280 --> 38:27.800
so genau dann haben wir hier wir haben dann sind ein paar fixes für die hess

38:27.800 --> 38:34.120
pseudo klasse da nehme ich an wird sowieso noch immer wieder was geben das

38:34.120 --> 38:37.400
hat war gab es auch im chrome browser ganz am anfang als die has freigeschaltet

38:37.400 --> 38:43.840
haben die das diesen invalidierungsproblemen öfters mal haben weil

38:43.840 --> 38:51.680
hess ja quasi die die richtung umkehrt in die dinge irgendwie ablaufen und das

38:51.680 --> 38:56.600
wird halt gecached damit sie eben auch nicht zu zu viel compute time braucht wenn

38:56.600 --> 39:02.200
irgendwie neue elemente insettiert werden so genau und da gibt es gibt es

39:02.200 --> 39:08.000
einfach cash invalidierungsprobleme immer mal wieder da werden wir glaube ich

39:08.000 --> 39:13.480
auch in in den nächsten releases aller möglichen browser immer wieder so was

39:13.480 --> 39:17.320
sehen wo die dann das dann eben einfangen diese

39:17.320 --> 39:22.040
probleme es ist fast so ein bisschen wie als würde hätte das gestimmt was die

39:22.040 --> 39:25.120
die gesagt haben so was wie hess kannst du nicht machen als hätten die so ein

39:25.120 --> 39:29.280
bisschen recht gehabt also weil es halt mit der normalen zers selektor abbilden

39:29.280 --> 39:32.240
mit dem normalen zers selektor mechanismus nicht funktioniert sondern halt

39:32.240 --> 39:36.400
eben sein eigenes spezialreich werden muss macht man sich da ja schon ne

39:36.400 --> 39:41.800
ganze haufen von schwierigkeiten auf die man sonst nicht hätte andererseits

39:41.800 --> 39:45.600
jetzt hören sie wenigstens auf zu fordern die da sagen sowas wie hess muss

39:45.600 --> 39:53.120
existieren ja ich ja genau also ich finde das ist auf jeden fall schon jetzt

39:53.120 --> 40:00.560
gut genug umgesetzt und gelöst tatsächlich ist es auch so dass das

40:00.560 --> 40:07.520
hess schon einen höheren impact hat so auf das ganze selektor matching ich hatte

40:07.520 --> 40:14.480
nämlich die dieses chrome tracing also dieses interne selektor matching

40:14.480 --> 40:18.440
tracing hatte ich mal auf mein aktuelles projekt angewendet und was kann da

40:18.440 --> 40:24.200
relativ weit oben raus in der tat glaube der ein oder die paar selektoren wo ich

40:24.200 --> 40:29.840
hess verwendet hatte ja liegt halt auf der hand also es wird zwar gecash und so

40:29.840 --> 40:34.600
aber es ist halt einfach für den browser schon deutlich komplexer und du musst

40:34.600 --> 40:38.080
es halt trotzdem irgendwann ja zum ersten mal ausrechnen nützt ja nichts ja

40:38.080 --> 40:48.880
genau also ist der ist ist der impact messbar oder ist ja auch spürbar es

40:48.880 --> 40:53.120
gibt ja diese wenn du leithaus laufen lässt dann gibt es ja immer so dieses

40:53.120 --> 40:58.440
das leithaus bemängelt hey du hast mehr als ich weiß nicht was die grenze

40:58.440 --> 41:04.520
nochmal war 2000 dom notes oder so verwendet und genau das ist ein akuten

41:04.520 --> 41:11.800
fall von reakt ganz schlimm vielleicht vielleicht genau und das liegt eben

41:11.800 --> 41:19.760
daran dass die style calculation oder recalc prozess dann einfach sehr lange

41:19.760 --> 41:25.600
dauert oder das auch der initiale weil eben diese ganzen elemente durchlaufen

41:25.600 --> 41:31.400
diese ganzen selektoren und je nachdem wie diese lektoren aufgebaut sind kann man

41:31.400 --> 41:35.280
das relativ schnell entscheiden dass irgendwie ein element nicht auf diesen

41:35.280 --> 41:40.880
selektor trifft zutrifft oder eben nicht und bei hess ist es natürlich dann

41:40.880 --> 41:48.040
aufwendiger und je je mehr man sein dom auch dann nachträglich noch ändert

41:48.040 --> 41:55.760
desto mehr recalcs löst man aus und es ist im prinzip am enden ein produkt aus

41:55.760 --> 42:05.240
anzahl dom notes und selektor also und da kann kann schon da können einige

42:05.240 --> 42:09.760
hundert mil sekunden sich zusammen leppern wenn man pech hat und das sind

42:09.760 --> 42:17.200
dann wieder so werte die die dann eine rolle spielen in core web vital

42:17.200 --> 42:25.720
zeiten genau und was auch cool ist ist das der also jetzt das dann nicht webkit

42:25.720 --> 42:36.400
sondern die menschen haben diese dieses selektor matching tracing haben die

42:36.400 --> 42:42.360
quasi rausgeholt aus diesem das ist eigentlich so ein interner bereich von

42:42.360 --> 42:45.640
den browser von den chromium browser haben die das in die dev tools geholt mit

42:45.640 --> 42:50.800
der neuesten version normalerweise in diesen profiling crempel drin oder ist

42:50.800 --> 42:55.240
das noch tiefer drin in den nicht in profilding drin also dann machst du dann

42:55.240 --> 43:00.320
da gibt es dann oben einen chromedrop und dann ich glaube tracing und dann

43:00.320 --> 43:06.200
gibt es da dann wird das user interface auch ein bisschen rudimentär genau den

43:06.200 --> 43:10.120
meinte ich eigentlich genau dann hast du hast ja so ganz viele verschiedene

43:10.120 --> 43:14.680
dinge die du da treiben und tracen kannst genau die benutzerfreundlichkeit ist

43:14.680 --> 43:22.040
halt dann einfach völlig weg und das haben die eben in benutzerfreundlich

43:22.040 --> 43:31.720
jetzt nach vorne in die dev tools reingehieft sehr cool genau das ist auf

43:31.720 --> 43:39.200
jeden fall cool was auch cool ist wenn ich überleiten darf ein bisschen neuer

43:39.200 --> 43:43.760
css support auch jetzt hier in der technologie preview in user invalid und

43:43.760 --> 43:51.560
user valid das ist das ist halt eben das was invalid und valid ursprünglich mal

43:51.560 --> 43:57.400
sein wollten aber das ist so ein bisschen ja wie hier pseudo klasse empty

43:57.400 --> 44:02.120
geworden erst auf niemals das implementieren was man sich halt was

44:02.120 --> 44:05.400
einem so die als erste idee in den kopf kommt ist immer eine schlechte idee ist

44:05.400 --> 44:08.040
halt blöd wenn man webstandards macht und man den geist nie wieder in die

44:08.040 --> 44:12.680
flasche bekommt aber ja also das sind die css pseudo klassen für ungültige

44:12.680 --> 44:16.680
formularelemente die erst dann in den ungültig oder gültig zustand

44:16.680 --> 44:20.600
wechseln wenn einmal eine nutzer interaktion stattgefunden hat man macht

44:20.600 --> 44:24.840
das formulare auf und das ist nicht gleich von Anfang an alles rot also das

44:24.840 --> 44:28.760
heißt man war einmal drin oder ich glaube wenn man das formulare abgeschickt hat

44:28.760 --> 44:32.480
dann gilt das eben also wenn man den sub mitknopf drückt dann ist das quasi wird

44:32.480 --> 44:39.920
das auch aktiviert genau ja ich weiß gar nicht wie der browser support da

44:39.920 --> 44:46.640
aussieht ich glaube der ist mittlerweile auch wird langsam gut ich wollte sagen

44:46.640 --> 44:53.360
schalte das sei gar nicht so schlecht ich hätte es auch heute schon nachgeschaut

44:53.360 --> 45:04.880
dann wollen wir uns noch nicht zu früh freuen aber es ist auf jeden fall gut

45:04.880 --> 45:09.600
schon mal ein einbrowser mehr das ist ja nicht so dass sie da bei chrome jetzt

45:09.600 --> 45:14.560
nicht ressourcen hätten um darauf mal zu reagieren und ja es ist auch schon ich

45:14.560 --> 45:17.200
habe mich gerade in den chrome back angeschaut da wird auch überall schon

45:17.200 --> 45:21.200
fleißig kommentiert firefox kann das schon ewigkeiten und euren kommentar

45:21.200 --> 45:26.440
dass das in den webkit tree hinein gemirkt wurde es wird also bereits schön

45:26.440 --> 45:29.880
druck gemacht ja ich würde sagen das ist so von den

45:29.880 --> 45:37.120
sachen die jetzt in der tech preview 161 so drin ist so die interessanteste

45:37.120 --> 45:47.600
neuerung es gibt so stroke dash array und und marker zeugs und font krempel aber

45:47.600 --> 45:54.200
die sind alle so sind okay aber fetzen jetzt nicht so betreffen mich jetzt auch

45:54.200 --> 45:57.760
nicht besonders also ich würde vielleicht noch erwähnen so aus dem

45:57.760 --> 46:02.000
davaskript umfeld ist halt look behind the surgeons in regulären ausdrücken

46:02.000 --> 46:08.160
nicht verkehrt man es braucht wenn man es haben und jetzt so mein persönliches

46:08.160 --> 46:13.680
mein persönliches today i learned wars der resizable array buffer den gibt es

46:13.680 --> 46:20.640
zwar noch nicht aber der ist tatsächlich schon stage 3 bei tc 39 das ist

46:20.640 --> 46:22.920
schon mal nicht schlecht also manchmal sich manuell irgendwie so einen

46:22.920 --> 46:26.120
resizable array buffer kann man sich ja nicht bauen man muss ja im prinzip dann

46:26.120 --> 46:29.760
einen neuen array buffer bauen mit einer neuen größe und dem alten inhalt oder

46:29.760 --> 46:34.560
irgendwie so krams extrem mühsam und sowas in resizable zu haben ist schon

46:34.560 --> 46:38.240
nicht schlecht ja wie gesagt ist noch kein fertiger standard und kann noch fast

46:38.240 --> 46:41.560
keiner aber zumindest haben wir auch jetzt endlich mal eine implementierung die

46:41.560 --> 46:46.600
das supportet finde ich gut das ist mal das das ist auch was dass ich

46:46.600 --> 46:53.360
wahrscheinlich weiß gar nicht wann ich sie brauchen werde jemals aber das ist

46:53.360 --> 46:59.560
dann was ist das von ja genau ja also ich hatte das halt eben im Einsatz als ich

46:59.560 --> 47:07.080
mal gif animation bauen wollte und muss man ja also man hat irgendwie dann so

47:07.080 --> 47:10.560
eine pixel daten irgendwie rgb-werte und man muss dann ja am ende eine palette

47:10.560 --> 47:16.880
raus machen man muss das ja irgendwie auf die 256 farben runter kochen und was

47:16.880 --> 47:19.440
machst du wenn du halt eben einfach nur das schnell und dreckig hin bauen willst

47:19.440 --> 47:22.360
dann nimmst du halt eben deine gesamten frames die du in dieses gif in

47:22.360 --> 47:27.520
nine füttern wirst also all diese ganzen rgb pixel arrays und konkartinierst

47:27.520 --> 47:30.280
sie einfach in einen riesigen area buffer und schiebst den dann in den

47:30.280 --> 47:33.160
entsprechenden prozess und plus den in ein webwalker und dann braucht das zwar

47:33.160 --> 47:37.080
eine sekunde aber das macht ja nichts das sieht ja nicht so oft aber dann halt

47:37.080 --> 47:40.240
eben so eine funktion zu bauen die halt wirklich area buffer konkarteniert ist

47:40.240 --> 47:42.920
erstaunlicherweise nicht ganz so trivial weil man kriegt ja normalerweise auch

47:42.920 --> 47:45.440
keine area buffer angereicht sondern halt irgendwie so diese ganzen komischen

47:45.440 --> 47:50.440
subtypen irgendwie uint irgendwas array und dann muss man sich da halt eben

47:50.440 --> 47:53.760
einen ein zu recht abbrechen wenn man das halt irgendwie generalisiert haben

47:53.760 --> 47:57.360
möchte und stellt sich raus wird in zukunft nicht mehr ganz so schmerzhaft

47:57.360 --> 48:04.320
sein cool genau ansonsten hätte ich noch was ich hier weiter unten noch seh

48:04.320 --> 48:09.720
ist dass es die offscreen canvas jetzt gibt das finde ich glaube ich auch ganz

48:09.720 --> 48:17.640
gut weil klau die ist das am prinzip eine canvas die man im webwalker benutzen

48:17.640 --> 48:21.960
kann oder genau das ist es offscreen canvas also canvas element macht ja

48:21.960 --> 48:26.760
normalerweise pixel auf dem bildschirm außer wenn man das nicht haben will und

48:26.760 --> 48:30.000
also warum würde man das nicht haben wollen man würde das nicht haben wollen

48:30.000 --> 48:33.760
wenn man einfach nur pixel daten im sinn meiner gerade genannten rgb r arrays

48:33.760 --> 48:38.360
erzeugen möchte oder halt einfach auch nur irgendwelche dinge bauen möchte die

48:38.360 --> 48:41.800
überhaupt gar nichts mit rendering zu tun haben also ich will das bild invertieren

48:41.800 --> 48:45.320
und abspeichern aber ich will zu keinem zeitpunkt anzeigen dann gibt es ja

48:45.320 --> 48:48.280
kein gut die canvas anzuzeigen wenn es keinen grund sie gibt sie anzuzeigen

48:48.280 --> 48:51.560
dann kann man sie auch im webwalker haben außer halt eben kann man halt

48:51.560 --> 48:54.440
tatsächlich nicht weil der webwalker dann sagt nee könnt ihr angezeigt werden

48:54.440 --> 48:57.560
wollen und dann geht das bei mir nicht und die offscreen canvas macht es halt eben

48:57.560 --> 49:02.600
dann in einem nicht sichtbaren prozess möglich super sache ja auch so zum

49:02.600 --> 49:07.040
beispiel bild upload wo man dann noch auf dem gerät zum beispiel das bild

49:07.040 --> 49:10.920
quasi klein resize damit der upload eben einfach schneller geht

49:10.920 --> 49:15.400
genau mega pixel zahlen die man heutzutage so ein smartphones hat das

49:15.400 --> 49:22.040
kann man dann auch prima an ein webwalker wegdelegieren oder qr code

49:22.040 --> 49:28.040
auslesen oder dekodieren oder so zeugs ja wenn man übrigens möchte dass das

49:28.040 --> 49:31.720
einigermaßen flott geht heutzutage schon und man keine offscreen canvas hat und

49:31.720 --> 49:36.360
keinen dat worker haben möchte habe ich letztens folgendes rausgefunden das ist

49:36.360 --> 49:40.560
jetzt eine preview auf dem blog post nicht morgen veröffentliche aber es begab

49:40.560 --> 49:43.240
sich so zu der zeit dass ich so zu irgendwie so zu dem hinking und dachte

49:43.240 --> 49:45.520
so hey hast du gerade irgendwelche dringenden browser probleme ich habe

49:45.520 --> 49:49.320
gerade nichts dringendes zu tun und er so ja irgendwie auf meinen neuen laptops in

49:49.320 --> 49:54.720
der firma da werden manche von unseren pdf nicht richtig angezeigt aber nur wenn

49:54.720 --> 49:59.360
die hartweilbeschleunigung an ist so richtig schöner fall von montas geht

49:59.360 --> 50:04.880
der drucker nicht stellt sich also raus liegt halt eben an einem rendering bug in

50:04.880 --> 50:09.000
der engine von chrome beziehungsweise in deren fall in der großen firma war das

50:09.000 --> 50:13.280
etch und der sorgt halt eben dafür dass wenn dann in den pdfs bestimmte font

50:13.280 --> 50:16.040
metriken nicht oder nicht hin richtig hinterlegt sind oder da irgendwelche

50:16.040 --> 50:19.760
rundungsfehler auftauchen bei bestimmten grafiktreibern ist dann dazu führt dass

50:19.760 --> 50:22.480
irgendwie pixel fehlen die buchstaben ineinander laufen und generell alles

50:22.480 --> 50:26.080
aussieht als wäre es schon mal gegessen und die richtige lösung wäre halt eben

50:26.080 --> 50:29.040
gewesen updater halt alle eine pdf in deiner firma ja wird halt nicht

50:29.040 --> 50:32.920
passieren oder halt eben schalte auf allen geräten die hartweilbeschleunigung

50:32.920 --> 50:36.200
aus fast natürlich jetzt so aus der perspektive von meiner kleinen

50:36.200 --> 50:38.960
unterabteilung einer unterabteilung einer webentwicklungsabteilung in einem

50:38.960 --> 50:43.720
riesigen konzern leichter gesagt ist als zu tun also da irgendwie zu den admins

50:43.720 --> 50:46.600
hinzugehen und zu sagen machen wir hier für alle devices diese entsprechende

50:46.600 --> 50:51.160
admin richtlinie da in windows an ist halt zumindest keine dauerlösung weil man

50:51.160 --> 50:55.520
denen halt auch nicht weiter trauen kann als man sie werfen kann und da stellt sich

50:55.520 --> 50:59.200
halt raus hartweilbeschleunigung kann man tatsächlich auf der pro kenvis

50:59.200 --> 51:03.160
eben abschalten und das würde man machen wollen wenn man genauso kram machen

51:03.160 --> 51:05.640
möchte wie das was du gerade beschrieben hast chap weil normalerweise

51:05.640 --> 51:10.000
hartweilbeschleunigung ja gut ist für schnellsachen rendern aber dazu musst du

51:10.000 --> 51:14.360
sie erst mal zu deiner gpu rüber schicken und wenn du viel so tinge machst wie ich

51:14.360 --> 51:18.400
will eigentlich nur irgendwie ein qr code mir auslesen oder irgendwie ein

51:18.400 --> 51:22.480
build resize oder so wenn ich also niemals was anzeigen möchte ist das ja

51:22.480 --> 51:25.640
nicht nötig dann kann ich ja auf der cpu bleiben aber dazu muss ich ja mein

51:25.640 --> 51:29.320
kenvis element sagen können du brauchst nicht hartweilbeschleunigung zu werden

51:29.320 --> 51:33.520
und das geht tatsächlich über so ein flag wenn man sich ein 2d kontext holt

51:33.520 --> 51:38.440
der einfach heißt will read frequently weil man halt eben da sehr viele

51:38.440 --> 51:41.960
readback operationen im sinne von gib mir die pixel macht und dadurch erzwingt

51:41.960 --> 51:45.640
man im prinzip softwarebeschleunigung wodurch dann so use cases wie von dir

51:45.640 --> 51:49.160
gerade beschrieben schneller werden oder jetzt in meinem fall für die leute mit

51:49.160 --> 51:52.760
dem kaputten laptop ich einfach sagen konnte bau diese drei zahlen javascript

51:52.760 --> 51:57.280
ein die patchen kenvis 2d kontext prototype blablabla die machen halt die

51:57.280 --> 52:01.440
get-context-methode so dass die immer will read frequently auf schuhe hat okay

52:01.440 --> 52:04.880
die erst werden dann korrekt wenn auch langsamer gerendert und zeigt war das

52:04.880 --> 52:10.600
problem gegessen ja cool also das ist sehr cool vor allen Dingen steht in den

52:10.600 --> 52:16.320
spezifikationen drin so dieser fleck sagt im browser dass er optimieren soll

52:16.320 --> 52:21.280
dahingehend das oft readback stattfinden da steht nicht drin dass das die

52:21.280 --> 52:25.720
hardwarebeschleunigung ausmacht das würde ja das wäre jetzt ja auch nicht speck

52:25.720 --> 52:32.440
konform die wollen ja immer sozusagen so wenig implementations details eigentlich

52:32.440 --> 52:37.840
liefern wie möglich nur so viel wie nötig genau aber es kreuzt runter kommt

52:37.840 --> 52:41.160
direkt nach dem diesen nach diesem satz wohl halt drin steht blablabla optimiert

52:41.160 --> 52:44.160
für readback operation kommt so ein nicht normativer einschub wo drin steht

52:44.160 --> 52:49.440
ganz im vertrauen in erster für das software rendering erzwingen und so

52:49.440 --> 52:52.440
weiß man dann und auch bei mdn steht so drin dass das dann funktioniert mehr

52:52.440 --> 52:55.520
mehr details haben möchte schaut in mein block da steht das in länger mal

52:55.520 --> 53:00.760
breiter mit code noch mal drin ja cool das merke ich mir auch mal das werde

53:00.760 --> 53:04.200
ich bestimmt mal brauchen das ist super und vor allen

53:04.200 --> 53:07.680
chromen meckert halt auch also wenn du eine normale canvas hast wo du das nicht

53:07.680 --> 53:11.880
aktivierst und du machst irgendwie dreimal nacheinander irgendwie get image data

53:11.880 --> 53:14.760
dann kriegst du doch tatsächlich so eine warning die da sagt sagen wir willst

53:14.760 --> 53:19.680
eventuell diese option anmachen okay ja so eine art warning wie du sie oder

53:19.680 --> 53:25.320
hinweis wie man es also so eine hatte ich eben auch im sinn als ich meinte der

53:25.320 --> 53:30.360
firefox sagt sowas bringt sowas auf der konsole wenn man da irgendwie falsches

53:30.360 --> 53:37.080
css anwendet genau oder halt oder hier so eine passive events bei scroll und

53:37.080 --> 53:45.880
zu zeug ja sowas ist doch cool ja mega total genau ich glaube damit sind wir

53:45.880 --> 53:53.760
aber mit dem tag preview 161 durch aber wenn man auch den 162er das sind

53:53.760 --> 53:57.400
auch noch ein paar gute sachen dann soll man sie noch schnell schnappen das

53:57.400 --> 53:59.800
machen wir ich habe da auch ein paar weniger notizen drin als ich jetzt für

53:59.800 --> 54:06.400
den 161er hatte genau also was ich da gelernt habe ist dass es eine margin

54:06.400 --> 54:10.920
trim css eigenschaft gibt und ich noch nicht gehört habe die ich natürlich

54:10.920 --> 54:17.160
dann mal nach gucken musste genau ich hatte eigentlich gedacht so dass es

54:17.160 --> 54:23.040
dafür da ist es so quasi so so margins die aus elementen herausragen dann

54:23.040 --> 54:28.920
quasi abschneiden kannst zumindest lang margin trim so aber das dem dem ist

54:28.920 --> 54:37.200
nicht so es ist eher zu verstehen wie bei dem wie bei javascript string trim also

54:37.200 --> 54:47.320
das wenn du zum beispiel in einem container in line elemente hast und um und

54:47.320 --> 54:51.000
du abstand zwischen denen haben möchtest also in line block elemente zum

54:51.000 --> 54:58.920
beispiel und würdest jedem einen margin write geben dann kann es ja sein dass eins

54:58.920 --> 55:05.440
von denen ganz am ende der zeit landet mit dem margin den du da vielleicht gar

55:05.440 --> 55:11.280
nicht haben willst genau und du kannst dann diese also an den

55:11.280 --> 55:16.000
kannten kannst du dieses margin dann abschneiden so dass das eigentlich nur

55:16.000 --> 55:23.200
zwischen den elementen gilt aber eben nicht zum rand des der box also ist ein

55:23.200 --> 55:33.760
margin außer an den margins ja schon genau das ist ja net okay okay dann

55:33.760 --> 55:40.600
hat er das deswegen auch nicht genau man sagt damit wo dieses wo der margin

55:40.600 --> 55:46.600
weggetrimpt werden soll so rum funktioniert das genau ah okay ich war

55:46.600 --> 55:50.520
gerade erst wieder so im im im Sinne von eine alternative margin angabe man

55:50.520 --> 55:53.560
macht eine normale margin angabe und sagt dann wo der margin weggetrimpt

55:53.560 --> 55:59.240
werden soll also irgendwie in line start in line end so zu euch

56:00.600 --> 56:06.240
genauso ja genau also du sagst in line an in line start soll das weggetrimpt

56:06.240 --> 56:11.280
werden oder in line end und in block richtung geht das geht das genauso

56:11.280 --> 56:18.320
ja genau ist halt eine kleinigkeit aber auch wieder so ein so ein ein kleiner

56:18.320 --> 56:23.800
baustein mehr der einem irgendwann mal irgendwie nützlich sein kann finde ich ja

56:23.800 --> 56:27.520
auf jeden fall weil ich meine ansonsten musst du halt eben also die alternative

56:27.520 --> 56:31.080
ist halt eine sehr viel komplizierter irgendwie dir mit last child ein

56:31.080 --> 56:36.680
abbrechen was halt ja aber selbst selbst das ist ja nicht immer möglich weil wenn

56:36.680 --> 56:43.880
wenn du dann wenn das dann umricht in eine neue zeile vielleicht ja stimmt

56:43.880 --> 56:47.400
das ist auch nicht dann funktioniert das ja schon nicht mehr genau das würde

56:47.400 --> 56:50.920
halt bei blocks funktionieren aber nicht irgendwie bei in line oder generell

56:50.920 --> 56:56.240
du hast ja auch so Sachen wie grid oder flexbox wo das ja sowieso alles schwierig

56:56.240 --> 57:07.720
wird ja was ich übrigens du finde ist an grid ist dass man nicht sagen kann ich

57:07.720 --> 57:14.240
möchte quasi viel mit das in ein grid aber wenn es aber maximal zwei rein und

57:14.240 --> 57:21.800
alles was mehr ist bitte einfach quasi verschlucken ja also da gibt es so

57:21.800 --> 57:29.160
tricks wie man das machen kann da kannst du quasi ich überlege gerade wie das war

57:29.160 --> 57:36.440
also du kannst es schon irgendwie tricksen aber du darfst dann kein gap benutzen

57:36.440 --> 57:44.160
weil dann sind zwar die elemente nicht mehr da die in zeile 3 4 5 und so weiter

57:44.160 --> 57:51.400
noch automatisch einsortiert werden aber die gaps dazwischen die bleiben okay das

57:51.400 --> 57:55.760
ist halt weil was würdest du machen du würdest dann diese grid zählen oder die

57:55.760 --> 57:59.880
tracks irgendwo wie so eine antike text replacement technik irgendwo in den

57:59.880 --> 58:07.160
orkos schieben ja sich also stell dir mal vor du hast irgendwie so eine bilder

58:07.160 --> 58:16.600
galerie und du du möchtest irgendwie vielleicht du willst nur x zeilen davon

58:16.600 --> 58:22.560
haben und wenn es dann noch mehr bilder sind dann möchtest du einfach also dann

58:22.560 --> 58:27.160
dann möchtest nicht in deinem html lösen indem du da quasi weil du weißt ja

58:27.160 --> 58:32.440
auch bei responsive gar nicht so wie viele mente sind das denn jetzt in dem

58:32.440 --> 58:37.440
viewport die drei zeilen ergeben also bei großen viewports kann es halt mehr

58:37.440 --> 58:43.840
reinstecken beim geräten vielleicht weniger und deswegen das das html kann

58:43.840 --> 58:48.280
jetzt irgendwie das nicht entscheiden das heißt da sind vielleicht dann 20

58:48.280 --> 58:54.040
30 bilder drin und du willst eben unabhängig aber du willst quasi auf

58:54.040 --> 58:59.760
jedem gerät drei zeilen anzeigen in der dann aber eben bei einem gerät beim

58:59.760 --> 59:06.000
desktop zehn spalten sind und bei mobile vielleicht nur drei oder sowas und da

59:06.000 --> 59:12.360
gibt es eben eigentlich nichts was grid vorsieht und um das auszudrücken

59:12.360 --> 59:20.240
stimmt bis wir nur so am rand eingefallen ja aber ich mache jetzt

59:20.240 --> 59:23.160
ja nicht den ganzen tag css aber mein eindruck von grid ist ja schon so dass

59:23.160 --> 59:28.880
das sehr für einen sagen wir aufgeräumtes geplantes layouten gedacht ist und so

59:28.880 --> 59:32.760
bald man funky werden möchte wird es halt relativ schnell relativ schwierig ja

59:32.760 --> 59:37.800
also vielleicht kommt ja auch jetzt was also grid version 2 ist ja in der mache

59:37.800 --> 59:42.840
wo auch subgrid drin steckt und so ich weiß nicht ob dann dann irgendwie noch

59:42.840 --> 59:49.160
neues kommt was das angeht ist es war nur so was was ich letztens als problem

59:49.160 --> 59:55.160
sozusagen auf dem tisch hatte und dass ich dann wo ich noch ein bisschen

59:55.160 --> 59:59.160
rumknobeln musste bis ich das gelöst hatte

01:00:00.440 --> 01:00:04.320
genau wer wissen will wie ich das gelöst habe bitte einfach mich anschreiben

01:00:04.320 --> 01:00:09.040
ich muss dann noch mal selber nachgucken und sagst euch wie kann keine

01:00:09.040 --> 01:00:15.560
artikelveröffentlichung ja ja ja ist recht müsst ihr machen genau müsstest

01:00:15.560 --> 01:00:20.200
ich verspreche es hier mit fein

01:00:21.480 --> 01:00:25.440
genau was ich auch ziemlich cool finde weil ich damit auch schon im aktuellen

01:00:25.440 --> 01:00:32.280
projekt rum gespielt habe ist die klarative shadow dom das ist im

01:00:32.280 --> 01:00:36.160
prinzip auch das ist so ein bisschen so wie diese ad property über die wir am

01:00:36.160 --> 01:00:42.720
anfang gesprochen hatten die erste inkarnation von der war also als

01:00:42.720 --> 01:00:48.360
javascript api und man konnte also die erste deklaration die erste inkarnation

01:00:48.360 --> 01:00:52.560
von shadow dom spezifisch nicht dass das die klarative ist die version 2 0

01:00:52.560 --> 01:00:57.280
genau und das war aber ad property auch das also am anfang konnte man das nur

01:00:57.280 --> 01:01:04.360
mit css.property machen und dann haben die leute gesagt so ja aber warum

01:01:04.360 --> 01:01:07.840
kann man das eigentlich nicht direkt in css machen das wäre doch irgendwie ein

01:01:07.840 --> 01:01:13.840
bisschen schlauer weil oder cooler weil das sehr e4 css also es ist ja css und

01:01:13.840 --> 01:01:20.080
dann ist ja quasi nachträglich diese ad property rule entstanden das also aus dem

01:01:20.080 --> 01:01:24.400
grund und bei diesem deklarative shadow dom ist das eigentlich auch wieder das

01:01:24.400 --> 01:01:29.520
gleiche also shadow dom gibt es ja schon eine ganze weile aber man konnte quasi

01:01:29.520 --> 01:01:37.560
nicht per html das auszeichnen also man musste immer javascript anwerfen dafür

01:01:37.560 --> 01:01:47.800
und irgendwie also fand ich das unnötig also so quasi diesen weg gar nicht zu

01:01:47.800 --> 01:01:56.200
haben und ich finde das ganz gut weil man damit also zum einen so ein graceful

01:01:56.200 --> 01:02:01.600
degradation in alten browser natürlich einerseits hin kriegen kann genau und

01:02:01.600 --> 01:02:06.760
zum anderen ist es eben dann auch suchmaschinen freundlicheres shadow dom

01:02:06.760 --> 01:02:12.680
als wenn du das eben alles nur in javascript rein drückst ist das der

01:02:12.680 --> 01:02:16.680
fall du meinst wegen dem template element oder was genau es ist ja im

01:02:16.680 --> 01:02:20.840
template und im template der content ist ja nicht in nörd aber der wird ja im

01:02:20.840 --> 01:02:26.960
prinzip letztlich nur als input genommen um das fragment zu erzeugen dass da am

01:02:26.960 --> 01:02:32.320
ende repräsentiert wird oder genau

01:02:32.720 --> 01:02:36.840
ja du kannst auch es wird auch einfach natürlich schneller erzeugt wenn du nicht

01:02:36.840 --> 01:02:44.120
erst javascript dafür hochfahren musst ja genau und ich spiele so ein bisschen mit

01:02:44.120 --> 01:02:51.960
mit shadow dom rum um so quasi auf der dem projekt wo ich bin so so

01:02:51.960 --> 01:02:58.280
compartments zu machen innerhalb der seite in denen zum beispiel eben das

01:02:58.280 --> 01:03:03.280
selektor matching einfach schneller abläuft weil das stylesheet dann

01:03:03.280 --> 01:03:08.240
innerhalb des shadow doms eben nur versucht die elemente die da drin sind

01:03:08.240 --> 01:03:14.720
zu matchen und eben nicht den kompletten dom also ein bisschen wie diese diese

01:03:14.720 --> 01:03:18.480
compartments in der titanik die sie eingebaut haben damit die nicht sinkt

01:03:18.480 --> 01:03:22.680
auch das vergleicht mit deinem projekt

01:03:22.680 --> 01:03:33.480
genau ja also nötig würde ich halt eben auch sagen so das braucht man dieses

01:03:33.480 --> 01:03:41.800
declarative shadow dom ich frau mich halt eben ob das reicht weil das bewegt

01:03:41.800 --> 01:03:47.920
sich jetzt ja zunehmend daran irgendwie ein templating mechanismus herzustellen

01:03:47.920 --> 01:03:51.880
also machen wir ja quasi schon es ist ja es kommt ja in buchstäblich ins

01:03:51.880 --> 01:03:54.960
template element rein und das ist eine vorlage dann hat man da so sein dom

01:03:54.960 --> 01:03:58.400
drin und dann kann man das ja mit konkretem inhalt befüllen aber klont

01:03:58.400 --> 01:04:02.040
halt die dom struktur irgendwo rein hat dann halt irgendwie seine web component

01:04:02.040 --> 01:04:05.640
oder dein compartment das macht ja alles Sinn aber ich frage mich jetzt halt

01:04:05.640 --> 01:04:10.280
wirklich wie lange kann man sich noch dem ganzen sagen mal drive dahingehend

01:04:10.280 --> 01:04:13.720
erwähren dass das irgendwann tatsächlich templates werden mit

01:04:13.720 --> 01:04:18.960
halt entsprechenden so möglichkeiten da content rein zu interpolieren oder halt

01:04:18.960 --> 01:04:23.040
eben in html irgendwelche platzhalter zu definieren dass ich da so handelbars

01:04:23.040 --> 01:04:26.240
artige sündags drin habe oder wenn man irgendwie retro drauf sein möchte

01:04:26.240 --> 01:04:32.800
irgendwie so spitzklammer fragezeichen perp echo irgendwas apple dann nicht auch

01:04:32.800 --> 01:04:37.360
schon mal was vorgeschlagen vor ewigen zeiten da gab es mehrere sachen da

01:04:37.360 --> 01:04:43.760
gab es ja dieses wie hieß das e4x also so dieses xml in javascript extension und

01:04:43.760 --> 01:04:47.920
es gibt ja tatsächlich so proposals wie man so eine j sx artige sündags die ja

01:04:47.920 --> 01:04:51.600
extrem react spezifisch ist aber so bendigen und generalisieren kann um so

01:04:51.600 --> 01:04:56.200
generell baumestrukturen auszudrücken und dann wäre das da ja drin

01:04:56.200 --> 01:04:59.240
weiß jetzt nicht ob das irgendwie so der weißheit letzter schluss ist

01:04:59.240 --> 01:05:03.240
notwendigerweise aber ich finde das ist halt irgendwie so eine geschichte

01:05:03.240 --> 01:05:07.680
früher oder später landen wir da dass da herrscht eigentlich in meinem kopf kein

01:05:07.680 --> 01:05:10.960
zweifel dass das irgendwie gehen muss weil du hast recht so der klare schiff

01:05:10.960 --> 01:05:13.800
shadow dom ist besser als das normale shadow dom weil du halt eben nicht den

01:05:13.800 --> 01:05:18.000
kompletten dom tree neu erzeugen musst und das ist ein bisschen ein bisschen

01:05:18.000 --> 01:05:21.680
convenience bonus und hatten je nach use case in deinem fall jetzt ein

01:05:21.680 --> 01:05:26.240
performance bonus auch noch aber am ende musst du dann wenn du das gemacht hast

01:05:26.240 --> 01:05:29.640
immer noch dom manipulation machen du musst dann dein shadow tree nehmen und

01:05:29.640 --> 01:05:33.480
dir da drin dann mit klare selektor oder sonst irgendwas rauspicken wo das

01:05:33.480 --> 01:05:37.720
element ist wo du den eigentlichen content reinschreiben willst

01:05:39.200 --> 01:05:43.640
ist das so also ich muss ich irgendwie text reinkriegen du hast ja deinen shadow

01:05:43.640 --> 01:05:48.240
dom in einem template also du meinst dann wenn du quasi so dynamisch renders

01:05:48.240 --> 01:05:54.120
noch ja also meine web und sicherlich ein eins und use case dafür ich meine wenn

01:05:54.120 --> 01:05:57.720
du das jetzt einfach nur zum für dieses compartment leising her nimmst ist das

01:05:57.720 --> 01:06:03.400
ja ein sehr allgemeiner ich machen genau mir ich nutze ja wirklich nur dieses

01:06:03.400 --> 01:06:09.560
diese kommt dieser grenzungsmechanik oder dieses diese silo mechanik die halt mit

01:06:09.560 --> 01:06:13.120
dem shadow dom daher kommt und was anderes will ich gar nicht nur deswegen

01:06:13.120 --> 01:06:17.320
tue ich das genau aber ich würde halt mal behaupten die meisten werden das

01:06:17.320 --> 01:06:22.720
verwenden wollen im kontext von webkomponent oder ähnlichem ja und

01:06:22.720 --> 01:06:25.960
dann stehst du halt wieder da und musst irgendwie so sagen ja hier webkomponent

01:06:25.960 --> 01:06:29.280
ist irgendwie plattform und native und alles irgendwie ganz toll aber du musst

01:06:29.280 --> 01:06:33.360
halt irgendwie die zeichen kette query selektor schreiben bevor du irgendwo text

01:06:33.360 --> 01:06:38.960
rein bauen kannst ist ja eigentlich nicht wirklich gut genug

01:06:38.960 --> 01:06:41.400
eigentlich nicht

01:06:41.400 --> 01:06:47.080
ich guck mal gerade da war was wir haben damit darüber damals auch mal gesprochen

01:06:47.080 --> 01:06:53.000
über diesen apple vorschlag ja ich gucke noch mal ob ich das vielleicht

01:06:53.000 --> 01:06:58.600
irgendwie noch finden kann und dann kann man das auch noch mal verlinken ja

01:06:58.600 --> 01:07:02.040
hast recht also irgendwas muss da irgendwann mal her ich glaube das ist ja

01:07:02.040 --> 01:07:08.180
auch einer der gründe warum warum leute auch mit einfach mit webkomponent

01:07:08.180 --> 01:07:15.640
schmerzen haben oder viele viele viele also das ist halt wirklich einfach das

01:07:15.640 --> 01:07:18.920
ist das gleiche probleme mit hudini du hast die high level api die ist

01:07:18.920 --> 01:07:21.240
etabliert und die kann sich nicht mehr ändern und muss jetzt nachgelagert die

01:07:21.240 --> 01:07:25.960
low level api bauen die das erklärt notwendigerweise unglaublich schwierig

01:07:25.960 --> 01:07:29.880
und vor allen Dingen fehlen die halt überall die werkzeuge also normales

01:07:29.880 --> 01:07:32.960
shadow dom und dann hast du die klerative shadow dom das macht sicherlich besser

01:07:32.960 --> 01:07:36.360
aber das ist sicherlich kein quanten sprung würde ich behaupten dann hast

01:07:36.360 --> 01:07:39.880
du da draußen die ganzen verrückten die typescript verwenden wollen und müssen

01:07:39.880 --> 01:07:42.520
dann halt irgendwie mit html interagieren html ist halt einfach nur eine

01:07:42.520 --> 01:07:46.520
welt aus schmerzen bzw strings da können die halt mit ihrem typescript nichts

01:07:46.520 --> 01:07:50.680
mit anfangen das ist komplett wertlos dann und dann ist das halt eben auch die

01:07:50.680 --> 01:07:53.160
frage okay du könntest stattdessen irgendwie angular oder react komponenten

01:07:53.160 --> 01:07:57.360
bauen bis damit zügiger unterwegs ja hast irgendwelche dependencies ja muss

01:07:57.360 --> 01:08:00.560
da und updaten und in 20 jahren weiß keiner mehr was da vor und hinten ist

01:08:00.560 --> 01:08:05.480
aber das interessiert dich halt jetzt gerade nicht und generell auch so die

01:08:05.480 --> 01:08:08.600
ganze api interwebkomponent ist halt so unglaublich kompliziert und so

01:08:08.600 --> 01:08:13.760
einschränkend da würde ich halt jetzt behaupten dass die das neue decorators

01:08:13.760 --> 01:08:18.280
proposal in eckmascript einiges richten wird aber das wird halt nie so gut

01:08:18.280 --> 01:08:21.800
sein wie das halt irgendwie in so einem framework context ist notwendigerweise

01:08:21.800 --> 01:08:26.280
das kann gar nicht sein aber wenn man halt zumindest mal einsehen würde dass

01:08:26.280 --> 01:08:29.300
man halt irgendwie hinter der anderdoc ist und man halt wirklich mal jetzt hier

01:08:29.300 --> 01:08:33.560
was verrücktes anstellen muss dann würde man da glaube ich irgendwie noch

01:08:33.560 --> 01:08:37.200
weiter vorankommen und irgendwie was verwenden was halt nicht nur shadow tom

01:08:37.200 --> 01:08:41.480
also die erste idee so von damals ist nur halt eben jetzt in deklarativ statt

01:08:41.480 --> 01:08:45.320
imperativ sondern wirklich auch sagt da machen wir eine voll eine volle template

01:08:45.320 --> 01:08:48.680
sprache daraus auf die ein oder andere weise adaptiert von mir aus jsx und

01:08:48.680 --> 01:08:51.720
reaktifiziert das ein bisschen macht es halt irgendwas dass man sich halt nicht

01:08:51.720 --> 01:08:55.080
wie das letzte follow-upst vorkommt wenn man versucht irgendwie zu sagen

01:08:55.080 --> 01:08:59.360
webkomponents existieren auch ja es ist alles mühsam und inconsistenz und

01:08:59.360 --> 01:09:02.560
schmerzhaft aber dafür müsste halt eben in drei jahren kein update durchführen

01:09:02.560 --> 01:09:07.560
es ist halt eine echte schlechte perspektive

01:09:08.280 --> 01:09:15.000
ja aber auch irgendwie was an das sich keiner so richtig handraut

01:09:15.000 --> 01:09:18.760
was kann ich verstehen ich will die einscheinungen auch nicht treffen weil

01:09:18.760 --> 01:09:21.960
sitzen am ende wieder dann irgendwie zwei nasen in einem podcast in zwei jahren

01:09:21.960 --> 01:09:25.560
und sagen so guckt ihr mal das an was haben wir uns damals bei damals nur

01:09:25.560 --> 01:09:29.520
gedacht ist natürlich alles sehr viel leichter gesagt als getan aber wie es

01:09:29.520 --> 01:09:32.840
jetzt gibt ja mittlerweile würde ich behaupten genug prior art die man

01:09:32.840 --> 01:09:37.200
hernehmen könnte als guidelines es muss ja nicht jsx sein es könnte ja einfach

01:09:37.200 --> 01:09:41.880
irgendwie so eine art von weiß ihr nicht bild in tag template literal ding sie

01:09:41.880 --> 01:09:45.560
irgendwas sein vielleicht kann man irgendein mechanismus daraus hijacken

01:09:45.560 --> 01:09:50.160
oder oder oder gibt so viele template sprachen da draußen

01:09:50.160 --> 01:09:54.200
vielleicht gehen das beste clown macht man doch bei eckmas kript ständig

01:09:54.200 --> 01:10:01.480
ja ja mal sehen wann wir wann wir endlich darüber reden können wenn das dann

01:10:01.480 --> 01:10:06.280
wenn sowas dann spezifiziert und vielleicht in den ersten browsern gelandet

01:10:06.280 --> 01:10:11.800
ist ja ich bin auf jeden fall gespannt weil bis dahin werden wir weiter irgendwelche

01:10:11.800 --> 01:10:14.040
frameworks haben wo man das halt irgendwie implementiert also man kann den

01:10:14.040 --> 01:10:17.240
Leuten das nicht vorenthalten wenn man sie nicht gibt dann machen sie selber und

01:10:17.240 --> 01:10:23.560
dann wird es halt wahrscheinlich halb gar und schmerzhaft ja generell ist jetzt

01:10:23.560 --> 01:10:28.200
in dieser in der technologie preview 162 nicht ganz so viel kram drin aber

01:10:28.200 --> 01:10:32.760
vielleicht kannst du mir noch mal ein bisschen erzählen es gibt hier die

01:10:32.760 --> 01:10:40.720
form associated custom elements die genau magst du da noch mal was zu erzählen

01:10:40.720 --> 01:10:46.680
ja also idee ist bausten custom element und würde es zum beispiel sowas machen

01:10:46.680 --> 01:10:51.080
wollen wie einen keine ahnung lange mal ein custom color picker mit einem alpha

01:10:51.080 --> 01:10:55.000
kanal der normale hat keinen alpha kanal aber du willst halt irgendwie die

01:10:55.000 --> 01:10:59.440
möglichkeit bieten dass man rgb angibt und halt auch noch und du willst keinen

01:10:59.440 --> 01:11:02.480
fancy design machen du willst das nur irgendwie möglich machen in irgendeiner

01:11:02.480 --> 01:11:06.240
form die einfachste variante das in einem kasten element umzusetzen wäre ja du

01:11:06.240 --> 01:11:09.800
nimmst ein color input und du nimmst ein number input und du packst sie zusammen

01:11:09.800 --> 01:11:14.720
in einen custom element und dann kannst du ein bisschen javascript schreiben das

01:11:14.720 --> 01:11:18.200
im prinzip sagt irgendwie uns hat mit oder so jetzt ganz vereinfacht ausgedrückt

01:11:18.200 --> 01:11:22.440
geht halt eben hin und pickt sich halt den rgb wert aus dem color input den

01:11:22.440 --> 01:11:25.360
alpha wert aus number input und flanscht die zusammen macht da zum beispiel

01:11:25.360 --> 01:11:30.800
eine keine ahnung rgba hex notations geschichte daraus könnte man sich

01:11:30.800 --> 01:11:34.560
konzeptionell vorstellen das problem ist nur dass das resultierende element

01:11:34.560 --> 01:11:39.600
dass du dann baust nicht abwerk ein formular element ist auch wenn du es

01:11:39.600 --> 01:11:42.840
irgendwie in formular reinsteckst und du implementierst darauf so dinge wie ein

01:11:42.840 --> 01:11:47.540
value getter und ein name attribute und all so Sachen macht das das ganze nicht

01:11:47.540 --> 01:11:51.800
automatisch zu einem form associated custom element das heißt man die das

01:11:51.800 --> 01:11:57.800
formula absenden würde dann würde das würde der browser das input element

01:11:57.800 --> 01:12:02.640
das im custom element drin steckt nicht quasi zusammen mit dem anderen kram

01:12:02.640 --> 01:12:05.920
verschicken korrekt genau würde nicht verschickt werden ist nicht

01:12:05.920 --> 01:12:09.600
Gegenstand von der constraint validation ist halt im prinzip als würdest du ein

01:12:09.600 --> 01:12:14.480
diff in dein formula reinstecken weil das im prinzip das ist was du tun würdest und

01:12:14.480 --> 01:12:18.960
warum ist es so also das intuitiv kommt einem das ja irgendwie merkwürdig vor

01:12:18.960 --> 01:12:23.840
weil man hat ein input also wenn man jetzt dedizierten input da reinstecken würde

01:12:23.840 --> 01:12:29.320
aber hast du nicht denn du hast ja das ganze im shadow dom wenn nun custom

01:12:29.320 --> 01:12:33.760
element baust und im shadow dom wohnen ja die implementierungs details ja

01:12:33.760 --> 01:12:38.920
nicht gegenstand der öffentlichen api sind also um das zu generalisieren ja du

01:12:38.920 --> 01:12:42.800
könntest quasi auch keinen auf dem document wenn du da query selektor all

01:12:42.800 --> 01:12:48.400
auf alle inputs machst dann würde es da ja auch nicht auftauchen genau also das

01:12:48.400 --> 01:12:51.280
ist jetzt sozusagen die beschreibung des phänomens du schiebst das in shadow

01:12:51.280 --> 01:12:55.120
dom dadurch ist ein implementierungs detaile dadurch kann halt eben der sozusagen

01:12:55.120 --> 01:12:58.800
das mit der main realm da nicht rankommen aber wenn du es ein bisschen

01:12:58.800 --> 01:13:02.680
generalisierst ist das eigentlich so du hast halt deine html apis mit den

01:13:02.680 --> 01:13:07.320
ganzen attributen und gettern und settern und das ist sozusagen die public

01:13:07.320 --> 01:13:11.360
api die eine html element so hat für dich als webentwickler und webentwickler

01:13:11.360 --> 01:13:15.600
drin ist also hin und benutzt das aber wenn du die spezifikationen anschaust

01:13:15.600 --> 01:13:21.480
gibt es ja noch eine gleichsam private api die solche elemente haben das sind

01:13:21.480 --> 01:13:24.360
dann halt eben so sachen die zum beispiel der formular validierungsmechanismus

01:13:24.360 --> 01:13:29.160
sind aber auch so dinge wie die voreingestellten area settings für

01:13:29.160 --> 01:13:34.000
barrierefreiheit und zeug das ist ja auch so zeug das ist definiert und da

01:13:34.000 --> 01:13:37.320
gibt es algorithmen für wenn dieser und jene umstand vorliegt dann wird das

01:13:37.320 --> 01:13:40.840
dieser roll kriegen ansonsten kriegt jene roll und so weiter das sind ja alles

01:13:40.840 --> 01:13:46.160
wohl definierte algorithmen nur die sind halt eben private oder die sind intern

01:13:46.160 --> 01:13:51.280
und was man jetzt kriegt sozusagen im rahmen von form associated custom

01:13:51.280 --> 01:13:55.600
elements oder sagen wir so form associated form associated custom elements sind

01:13:55.600 --> 01:13:59.160
eine ausprägung von dem ist auf webkomponents eine methode die nennt

01:13:59.160 --> 01:14:05.320
sich attach internals und die liefert dir eine public api für die private api von

01:14:05.320 --> 01:14:10.440
vielen dieser internen prozesse und diese internen prozesse sind so Dinge wie

01:14:10.440 --> 01:14:15.600
set form value das heißt was du dann machen kannst ist zu sagen okay ich

01:14:15.600 --> 01:14:18.600
habe jetzt ja mein custom element und das enthält halt eben in seinem

01:14:18.600 --> 01:14:23.840
shadowdom das color input und das number input für den alpha kanal ich mache

01:14:23.840 --> 01:14:26.800
da eventlistener drauf und wenn sich auf einen von den beiden elementen was

01:14:26.800 --> 01:14:31.920
ändert dann rufe ich die internals method set form value auf und rechne dann

01:14:31.920 --> 01:14:35.800
da aus was mein rgba wert ist schiebt ihn da rein und dadurch habe ich jetzt auf

01:14:35.800 --> 01:14:40.640
meinem element etwas dass diesen internen mechanismus vollzieht umgesetzt aus

01:14:40.640 --> 01:14:45.760
dieser attach internals mechanik heraus aus dem inneren auf vor der custom element

01:14:45.760 --> 01:14:49.360
klasse und dann gehe ich noch hin und definiere halt auf dem element so was

01:14:49.360 --> 01:14:54.160
wie ein muss ich in einem ein feld definieren ein static ich erinnere mich

01:14:54.160 --> 01:14:56.720
jetzt gerade nicht ich glaube ein static string der einfach form associated

01:14:56.720 --> 01:14:59.080
heißt oder irgendwie sowas oder ich muss das auf true setzen ich erinnere mich

01:14:59.080 --> 01:15:01.760
gerade nicht genau aber ich muss halt eben den browser sagen das ding ist form

01:15:01.760 --> 01:15:06.320
associated und dann weiß der browser ich muss das abschicken und abschicken

01:15:06.320 --> 01:15:10.880
heißt halt diese internen felder die gesetzt werden über diese internals

01:15:10.880 --> 01:15:15.200
auslesen und dann funktioniert die kiste also das ist immer noch riesiger

01:15:15.200 --> 01:15:19.200
auffand sowas zu bauen wie den gerade illustrierten color picker aber das geht

01:15:19.200 --> 01:15:22.640
und man kann halt wirklich auch so Sachen machen wie zu sagen okay wenn einer von

01:15:22.640 --> 01:15:26.600
den beiden dingern invalid ist entweder color oder alpha dann mache ich halt den

01:15:26.600 --> 01:15:30.560
validity wert von dem umgebenden halt eben auch auf ungültig und kann halt

01:15:30.560 --> 01:15:34.520
wirklich da das komplette behavior nach modelieren und habe ich jetzt so ein

01:15:34.520 --> 01:15:37.400
bisschen langwierig erzählt weil halt eben dieses attach internals viel mehr

01:15:37.400 --> 01:15:40.920
macht als nur das ist halt eine universelle api um diese implementierungs

01:15:40.920 --> 01:15:45.240
details für uns zugreifbar zu machen damit wir wirklich das machen können

01:15:45.240 --> 01:15:48.960
was ich den ganzen zeit schon sage nämlich die high level api aus der low level api

01:15:48.960 --> 01:15:54.400
obwohl die nachträglich dran geflanscht wurde komplett erklären ja cool das ist

01:15:54.400 --> 01:16:02.720
extrem cool ja ich baue tatsächlich wenig webkomponent deswegen bin ich

01:16:02.720 --> 01:16:09.040
da wahrscheinlich einfach noch nicht auf dieses problem gestoßen ja aber macht

01:16:09.040 --> 01:16:18.240
sinn und es ja dass es auch jetzt erst dazu kommt es ist dann schon fast

01:16:18.240 --> 01:16:22.520
erstaunlich ja weiß nicht ist halt unglaublich kompliziert so ein formular

01:16:22.520 --> 01:16:27.320
element also du hast die validierung set form value und du hast ja auch fragen um

01:16:27.320 --> 01:16:29.920
so Sachen wie fokussierbarkeit und so das muss ja alles irgendwie erst mal

01:16:29.920 --> 01:16:34.640
durchdachten und dass man irgendwie so für so ein mvp version 1.0 erst mal sagt

01:16:34.640 --> 01:16:42.280
okay diffs und so ja man merkt das ja auch wenn man so seine so abseits von

01:16:42.280 --> 01:16:48.480
webkomponent irgendwie seine eigenen formular eingabefelder baut oder wenn

01:16:48.480 --> 01:16:54.360
man irgendwie generell formular bauchesten baut die irgendwie funktionieren

01:16:54.360 --> 01:17:01.720
da da merkt man dann alles also was da alles noch drin steckt ja cool so ist es

01:17:01.720 --> 01:17:09.560
aber es ist keine lösung für das problem wenn ein wenn man ein label hat

01:17:09.560 --> 01:17:16.080
dass quasi wenn man eine webkomponent hat die label ist eine webkomponent die

01:17:16.080 --> 01:17:23.000
input ist dass die dann irgendwie die richtigen elemente nicht miteinander

01:17:23.000 --> 01:17:27.600
zeigen können oder nicht auch noch was das ist da auch noch so ein quasi deal

01:17:27.600 --> 01:17:33.240
breaker so ein bisschen bei webkomponent ich weiß nicht was du genau meinst aber

01:17:33.240 --> 01:17:36.600
das hört sich auf jeden fall so an aus der beschreibung heraus würde ich jetzt

01:17:36.600 --> 01:17:40.240
auch sagen ich nähere mich jetzt dem dem ausgang an damit ich mit dem problem

01:17:40.240 --> 01:17:43.480
mich nicht auseinandersetzen muss weil ich mir relativ sicher bin dass du

01:17:43.480 --> 01:17:47.440
recht hast ja ich glaube es im prinzip so wenn die beide in ihrem eigenen

01:17:47.440 --> 01:17:50.600
shadow DOM quasi gekapselt sind dann haben die eben nicht die

01:17:50.600 --> 01:17:55.200
möglichkeit über so eine id also mit vor und id irgendwie aufeinander zu zeigen

01:17:55.200 --> 01:18:00.360
und dann so aber gut aber das wäre ja auch falsch denn das shadow DOM ist ja

01:18:00.360 --> 01:18:04.040
ein implementierungsdetail da darf ja nichts rein da darf ja nichts raus

01:18:04.040 --> 01:18:08.800
korrekt also den scenario wäre du baust ein form associated custom element und

01:18:08.800 --> 01:18:12.840
du baust ein do it yourself shape label und du willst das shape label auf das

01:18:12.840 --> 01:18:16.480
form associated custom element zeigen lassen

01:18:16.480 --> 01:18:23.520
genau so glaube ich so ist das problem ja ja also dann weiß ich jetzt nicht ob

01:18:23.520 --> 01:18:27.280
das mit den attach internals also entweder jetzt geht ich würde wetten das

01:18:27.280 --> 01:18:31.200
nicht oder machbar ist weil ich habe jetzt die internen algorithmen für so ein

01:18:31.200 --> 01:18:37.920
label nicht im kopf genau das gleiche noch mal quasi nicht für input sondern

01:18:37.920 --> 01:18:43.600
für labels geben damit man diesen label custom element sozusagen die die

01:18:43.600 --> 01:18:47.560
notwendigen tricks beibringt dass sich das auch dann wie nach außen wie ein

01:18:47.560 --> 01:18:52.120
label verhält ja aber wie gesagt deswegen ist ja attach internals mehr als

01:18:52.120 --> 01:18:56.280
nur formulare also im prinzip wäre das denkbar jetzt mache ich hier gerade

01:18:56.280 --> 01:19:02.340
parallel die mdn seite zu attach internals auf bla bla bla accessibility

01:19:02.340 --> 01:19:05.800
object model und im hintergrund lädt die html spezifikation damit ich mal kurz

01:19:05.800 --> 01:19:11.360
gucken kann ob so ein label tatsächlich so ein also wenn das so eine element

01:19:11.360 --> 01:19:15.560
klasse ist so wie form associated dann wüsste ich halt nicht warum man das

01:19:15.560 --> 01:19:19.840
nicht machen müsste machen könnte also würde ich jetzt sagen ich hätte jetzt

01:19:19.840 --> 01:19:25.240
fast gesagt irgendwie ja mach eine type extension also class shape label extents

01:19:25.240 --> 01:19:28.480
html label element aber das wird ja auch nicht funktionieren weil dem kannst du

01:19:28.480 --> 01:19:31.280
dann ja wahrscheinlich wenn ich mich nicht täuschen nicht dein eigenes shadow

01:19:31.280 --> 01:19:34.800
dom überhelfen du müsstest also wirklich ein neues element erzeugen und das

01:19:34.800 --> 01:19:39.040
müsste halt eben wie ein label agieren

01:19:39.040 --> 01:19:48.720
ja alles sehr berechtigt die muss aber auch nicht jetzt aufklären können ich

01:19:48.720 --> 01:19:51.960
will es late halt nur nicht die spezifikation schon wieder was länger

01:19:51.960 --> 01:19:58.240
geworden ist last updated 28 der januar also vor zwei tagen

01:19:58.240 --> 01:20:00.960
also war da mal kurz das klären wir jetzt eben noch nicht und in der

01:20:00.960 --> 01:20:04.640
zwischenzeit kannst du ja mal deine interpretation das einen punkt ist noch

01:20:04.640 --> 01:20:07.000
der mich interessiert in der technologie preview noch eben kurz zum

01:20:07.000 --> 01:20:09.200
besten geben

01:20:09.200 --> 01:20:17.800
gespannt was das ist moved on copy on cut und und on paste to global event handlers

01:20:17.800 --> 01:20:25.120
was tut das ja also ich würde

01:20:25.480 --> 01:20:33.680
vermuten dass dass du dass das bisher event handlers waren die an bestimmte

01:20:33.680 --> 01:20:38.600
elemente gekoppelt waren also ist die nur auf bestimmten elementen ausgelöst

01:20:38.600 --> 01:20:45.440
werden konnten was vermutlich dann einfach irgendwie inputs waren und das

01:20:45.440 --> 01:20:50.960
dass das im prinzip jetzt auf jedem element ausgelöst werden kann was

01:20:50.960 --> 01:20:57.680
vielleicht dann content editable elemente neu umfasst aber wahrscheinlich waren die

01:20:57.680 --> 01:21:02.920
vorher schon dabei aber möglicherweise möchte man trotzdem genau wenn man

01:21:02.920 --> 01:21:08.160
zum beispiel auf dem dokument fokussiert ist und nicht auf einem input

01:21:08.160 --> 01:21:15.640
einen reinpasten können und dann fängt man das eben ab und leitet das dann

01:21:15.640 --> 01:21:22.800
dahin wo man wo man es eben braucht dass was da eingepasted wurde exakt exakt

01:21:22.800 --> 01:21:28.080
optimale beschreibung genau das richtige nur halt noch eins andere use case

01:21:28.080 --> 01:21:33.680
noch event delegation ja du würdest ja gegebenenfalls wirklich sagen wollen

01:21:33.680 --> 01:21:38.200
keine ahnung document body dot on paste gleich function und obwohl du programmierst

01:21:38.200 --> 01:21:41.280
als wärst du gerade der jungsteinzeit entstiegen willst du aber diese fancy

01:21:41.280 --> 01:21:45.240
event delegation technik verwenden auch dann funktioniert das ich habe mir das

01:21:45.240 --> 01:21:47.520
aus irgendwelchen gründen mal drauf geschafft wie das alles so funktioniert

01:21:47.520 --> 01:21:50.600
mit diesem global event handlers und so und das wohnt jetzt in meinem kopf und

01:21:50.600 --> 01:21:53.320
deswegen wenn ich sowas sehe was eigentlich wirklich niemand braucht weil

01:21:53.320 --> 01:21:58.360
niemand schreibt document dot body dot on paste gleich function man macht

01:21:58.360 --> 01:22:02.160
event listener und dann ist das sowieso alles egal aber nur für den fall dass

01:22:02.160 --> 01:22:07.400
man es mal nicht machen würde würdest trotzdem sind die auch nicht als copy

01:22:07.400 --> 01:22:12.200
cut und paste events da aufgelistet sondern tatsächlich dediziert als on copy

01:22:12.200 --> 01:22:20.160
on cut und on paste weil es da quasi um die steinzeit notation geht genau aber

01:22:20.160 --> 01:22:24.800
irgendwie fernspielter event delegation mit rein das ist ja quasi du du horchst

01:22:24.800 --> 01:22:29.920
am am ruht und kriegst dann solche events mit auch wenn die irgendwie tiefer im

01:22:29.920 --> 01:22:36.360
dom stattfinden genau und das ging vorher nicht das heißt du konntest

01:22:36.360 --> 01:22:44.040
vorher keinen irgendwie on copy auf dem body setzen dann hat dieser event

01:22:44.040 --> 01:22:48.240
handler das nicht mitbekommen wenn innerhalb des bodies in einem text area

01:22:48.240 --> 01:22:52.400
was kopiert wurde richtig richtig was aber niemanden stört weil niemand

01:22:52.400 --> 01:22:57.600
on copy schreibt und alle machen event listener copy okay und das geht auch

01:22:57.600 --> 01:23:03.720
dann tatsächlich nicht bei allen events weil bestimmte events so eingerichtet

01:23:03.720 --> 01:23:09.280
sind dass die nicht babbeln und andere babbeln ist es hat das damit zu tun ich

01:23:09.280 --> 01:23:12.160
weiß jetzt nicht ob das sozusagen die herleitung ist aber es ist auf jeden fall

01:23:12.160 --> 01:23:16.320
so dass das phänomen so zutrifft also Dinge wie das clay event gibt es halt

01:23:16.320 --> 01:23:21.720
nur auf dem video glaube ich jetzt es gibt solche aber es ist halt wirklich so

01:23:21.720 --> 01:23:26.720
diese ganze mechanik von html attribute on copy und dom property on copy und

01:23:26.720 --> 01:23:29.920
diese ganze string wird zu einer funktion funktion wird zu einem string

01:23:29.920 --> 01:23:33.880
je nachdem wie du die getter und zetter aufrufst das ist halt eben alles jetzt

01:23:33.880 --> 01:23:36.400
für die drei events auch auf dem interface global event handlers

01:23:36.400 --> 01:23:47.200
implementiert also wirklich so okay brauchst du vielleicht nicht nie aber

01:23:47.200 --> 01:23:52.480
vielleicht also irgendwie so der anlass wird wahrscheinlich sein irgendeine

01:23:52.480 --> 01:23:56.880
webseite oder irgendein web app wird es halt aus irgendwelchen also es kommt ja

01:23:56.880 --> 01:24:01.080
dann doch öfter vor als man denkt tatsächlich mit diesen on irgendwas

01:24:01.080 --> 01:24:06.640
ding an anstatt event listener und da wird es wahrscheinlich irgendeine anwendung

01:24:06.640 --> 01:24:11.800
geben die das benutzt hat und die dann irgendwelche bug reports gefeilt haben

01:24:11.800 --> 01:24:16.680
gegen webkit und dann hatten die irgendwann die nase voll und haben

01:24:16.680 --> 01:24:20.640
sich halt wahrscheinlich anderen den anderen browser herstellern angeglichen

01:24:20.640 --> 01:24:26.280
nämlich mal an ich denke es ist halt wahrscheinlich keine so große aufrisöle

01:24:26.280 --> 01:24:30.080
jetzt mal erwarten weil das grundsätzliche behavior ja für die

01:24:30.080 --> 01:24:35.640
ganzen anderen elements irgendwie on key ab und so ja auch schon da war aber ich

01:24:35.640 --> 01:24:39.440
meine es sind halt so sachen so dinge müssen sind halt auch da und die werden

01:24:39.440 --> 01:24:43.040
halt eben auch repariert und so gleicht sich halt eben diese ganze diese ganze

01:24:43.040 --> 01:24:45.320
standards geschichte am ende immer mehr an und die browser werden halt immer

01:24:45.320 --> 01:24:48.640
gleicher nicht nur weil die jetzt eben die alle zu chromotieren sondern auch

01:24:48.640 --> 01:24:54.880
weil tatsächlich selbst in so ultra ranständige probleme energie reingesteckt

01:24:54.880 --> 01:24:57.040
wird und da werden da wird code geschrieben und da werden dann tests

01:24:57.040 --> 01:25:00.840
geschrieben und release notes geschrieben und das ist halt eben

01:25:00.840 --> 01:25:05.080
eigentlich so das ding kann es kann ganze frameworks verwenden bis der

01:25:05.080 --> 01:25:09.520
arzt kommt aber immer wenn man da was neues lernt tickt dann halt sofort die

01:25:09.520 --> 01:25:13.040
uhr und irgendwann ist es veraltet muss ersetzt werden oder das framework stirbt

01:25:13.040 --> 01:25:16.240
oder sonst irgendwas und die webplattform ist das gegenteil wird halt immer

01:25:16.240 --> 01:25:19.480
besser auch wenn das was besser wird vielleicht wie webkomponent im moment eher

01:25:19.480 --> 01:25:25.320
schlechter ist aber zumindest stimmt die richtung ja ja genau also das wissen

01:25:25.320 --> 01:25:31.680
kann man auch kann man mutmaßlich lange gebrauchen genau kurz noch eben meine

01:25:31.680 --> 01:25:36.440
erforschungen zum label element haben jetzt keine definitive antwort ergeben

01:25:36.440 --> 01:25:42.400
aber es gibt zumindest etwas was davon spricht dass das label event ein

01:25:42.400 --> 01:25:46.600
activation behavior auslöst was dann halt eben das fokussieren von dem

01:25:46.600 --> 01:25:51.640
betroffenen formular element ist und ich würde mal annehmen auch wenn das im

01:25:51.640 --> 01:25:56.080
moment nicht in den internals von attach internals drin zu sein scheint dass das

01:25:56.080 --> 01:25:58.480
zumindest nicht ausgeschlossen ist dass es das mal geben wird und ich würde auch

01:25:58.480 --> 01:26:03.400
eher sagen da kann man tatsächlich einen ganz guten case machen in den bug

01:26:03.400 --> 01:26:07.560
trackern dieser welt dass das passieren müsste weil wie du richtig sagst relativ

01:26:07.560 --> 01:26:13.320
offensichtlich dass da was fehlt ja ich glaube das ist relativ bekannt also

01:26:13.320 --> 01:26:21.840
dass das so ein problem ist ja cool aber ich würde sagen dann also vielen dank

01:26:21.840 --> 01:26:28.960
auf jeden fall für deine recherche und auch vielen dank hier für das quatschen

01:26:28.960 --> 01:26:33.800
es war mir wie immer ein vergnügen genau wir sind da jetzt durch durch beide

01:26:33.800 --> 01:26:40.720
releases durch und waren schon ein paar coole sachen dabei und gelernt habe ich

01:26:40.720 --> 01:26:45.720
auch wieder was müssen wir jetzt nur gucken ob uns dieser browser halt noch

01:26:45.720 --> 01:26:53.960
erhalten bleibt du meinst hier nach diesen wenn jetzt der european was das

01:26:53.960 --> 01:27:00.040
digital markets act oder wieder heißt kommt genau die apple andro browser zu

01:27:00.040 --> 01:27:05.040
lassen müssen genau also es ist ja so die die auswahl ist ja schon relativ

01:27:05.040 --> 01:27:08.800
schmal geworden an der browser das war ja früher mal deutlich mehr an engines

01:27:08.800 --> 01:27:12.920
das ist jetzt so einer von denen die halt noch übrig ist und das ist ja schon so

01:27:12.920 --> 01:27:17.880
ein bisschen so der der kandidat gallisches dorf so ein ganz klein wenig

01:27:17.880 --> 01:27:22.000
weil die ja buchstäblich hinter ihren hinter ihren palisaden da stehen und

01:27:22.000 --> 01:27:25.320
sich mühsam verteidigen nur würde ich jetzt nicht notwendigerweise sagen dass

01:27:25.320 --> 01:27:31.040
die so wie asterix und obelix definitiv die guten sind aber es sind zumindest mal

01:27:31.040 --> 01:27:35.720
welche und ich werde auch nicht sagen dass die damit dem digital markets act

01:27:35.720 --> 01:27:38.880
wenn die dahin gehen und sagen so du musst jetzt hier im prinzip ja genauso

01:27:38.880 --> 01:27:42.800
wie microsoft damals tür und tor öffnen für die konkurrenz ist das ist

01:27:42.800 --> 01:27:46.520
sicherlich richtig so und ich will nicht sagen dass das nicht passieren sollte

01:27:46.520 --> 01:27:51.200
nur wenn uns dann hinterher dieser browser flürten geht oder so auf ein

01:27:51.200 --> 01:27:56.120
relevantes niveau vom firefox heutzutage zurückgedampft wird mich nicht

01:27:56.120 --> 01:28:00.640
wundern so ein bisschen pessimismus würde ich da schon mal vorrat mal haben

01:28:00.640 --> 01:28:04.320
damit man hinterher nicht überrascht ist genau andererseits muss man ja sagen

01:28:04.320 --> 01:28:08.480
also man hat ja schon gemerkt ich weiß nicht wie lange das jetzt geht also

01:28:08.480 --> 01:28:12.600
sagen wir mal drei vier jahre dass die ja auch irgendwie ordentlich kritik

01:28:12.600 --> 01:28:19.480
eingesteckt haben genau aber seitdem passiert auch echt ganz schön viel also

01:28:19.480 --> 01:28:25.320
und ich denke mal auch dass das sozusagen einen antizipieren der

01:28:25.320 --> 01:28:32.160
möglichkeit ist dass eben andere browser auf ios landen und ja also wenn man dann

01:28:32.160 --> 01:28:35.200
ein gutes angebot hat dann bleiben die leute auch ich meine es ist ja schon

01:28:35.200 --> 01:28:39.920
ein riesen vorteil wenn du der quasi mitgelieferte browser bist und das sieht

01:28:39.920 --> 01:28:46.040
man ja auch bei android und chrome und ich glaube ich mein e wurde ja auch viel

01:28:46.040 --> 01:28:51.120
genutzt bis bis weiter einfach nur noch scheiße war ja und ich meine etsch wird

01:28:51.120 --> 01:28:53.920
ja heute immer noch viel genutzt der ist jetzt das jetzt ja chrome ist ja okay

01:28:53.920 --> 01:28:57.400
der ist nicht schlechter als chrome aber trotzdem ist der default halt eben das

01:28:57.400 --> 01:29:00.960
ist das ist normalerweise da in windows und das ist gut genug und das passt schon

01:29:00.960 --> 01:29:06.120
und stimmt ja auch ist ja gut genug aber etsch ist halt auch keine eigene

01:29:06.120 --> 01:29:10.920
entität mehr so in dem sinne und chrome ist sowieso der de facto standard und

01:29:10.920 --> 01:29:13.840
der wäre es halt eben auch wenn er nicht bei einen android der mitgeliefert

01:29:13.840 --> 01:29:16.840
genau man sieht es ja an firefox also die haben ja keine eigene plattform die

01:29:16.840 --> 01:29:21.840
ist es ja eigentlich auch ein guter browser aber also firefox os das hat

01:29:21.840 --> 01:29:25.720
der das hat nicht geklappt hätten sie vielleicht auch lieber nicht versuchen

01:29:25.720 --> 01:29:31.520
weiß ich nicht ich fand prinzipiell schon nicht schlecht ich glaube ich glaube

01:29:31.520 --> 01:29:35.360
dieses was ich halt irgendwie wahrscheinlich also was ich do fand war

01:29:35.360 --> 01:29:41.560
dieser ansatz dass die so ganz low-levelige geräte quasi nur

01:29:41.560 --> 01:29:46.280
ausgebracht haben damit die halt günstig sind und so ist ja auch alles toll

01:29:46.280 --> 01:29:52.440
aber das sind keine geräte gewesen die man eigentlich haben wollte und man

01:29:52.440 --> 01:29:56.840
auch keine die spaß gemacht haben ich hatte auch so ein teil aber es war

01:29:56.840 --> 01:30:05.080
halt was cool das ist halt irgendwie so weißt du ich stelle mir ein mechanischen

01:30:05.080 --> 01:30:09.520
taschenrechner ins regal weil es cool aber ich beabsichtige nicht den zu

01:30:09.520 --> 01:30:12.320
benutzen für meine tägliche arbeit genau das war ja eigentlich nur so ein

01:30:12.320 --> 01:30:19.240
kuriosum also genau darum hat man es wirklich genau genau

01:30:19.240 --> 01:30:25.520
nee und ich glaube die von firefox das ist halt so einer der gründe für den

01:30:25.520 --> 01:30:30.040
niedrigen marktenteil und wenn die webkit leute irgendwie weiter gas geben

01:30:30.040 --> 01:30:37.400
und aufschließen dann habe ich da jetzt erst mal nicht so viele bedenken also

01:30:37.400 --> 01:30:43.680
dass die den den widerstand aufrecht erhalten können ja glaube ich schon man

01:30:43.680 --> 01:30:47.600
muss ja schon einige schritte gehen bis man dann irgendwie seinen anderen

01:30:47.600 --> 01:30:52.520
pause installiert warum lässt man dann nicht einfach den anderen dem oder

01:30:52.520 --> 01:30:55.920
nimmt man nicht den der e schon drauf ist der halt eben natürlich auch viel

01:30:55.920 --> 01:30:59.240
besser ins betriebssystem integriert werden kann einfach nur weil man sich

01:30:59.240 --> 01:31:02.040
dann natürlich als mobile safari zum beispiel es leisten kann sich darauf

01:31:02.040 --> 01:31:05.360
zu konzentrieren und man als chrome ja irgendwie für alle irgendwie eine

01:31:05.360 --> 01:31:09.560
extra wurspraten muss was rein von den ressourcen die sicherlich leisten

01:31:09.560 --> 01:31:14.040
können aber es macht ihnen halt auch nicht leichter ja wir werden sehen wie es

01:31:14.040 --> 01:31:18.360
weitergeht ja also ich bin jetzt ja nun wirklich nicht die apfeltasche vom

01:31:18.360 --> 01:31:25.720
dienst oder halte jetzt da apple und safari für die guten aber ich würde

01:31:25.720 --> 01:31:30.760
ihnen trotzdem wünschen dass sie da am leben bleiben und er bringt ja was ich

01:31:30.760 --> 01:31:34.000
meine wir haben ja hier mehrfach gesagt so geht jetzt in safari aber firefox

01:31:34.000 --> 01:31:38.440
kann es nicht hier noch nicht implementiert dann auch nicht fertig ja es

01:31:38.440 --> 01:31:41.920
gibt halt einfach bestimmte bereiche da sind die einfach stark unter anderen

01:31:41.920 --> 01:31:45.920
sind die halt nicht so stark ich würde sagen so so web api sind die

01:31:45.920 --> 01:31:50.280
talsinell eigentlich eher nicht so besonders stark und aber so rendering

01:31:50.280 --> 01:31:55.040
gezeugs und sowas da sind die ja echt immer vorne weg ja css und so es ist

01:31:55.040 --> 01:31:57.080
ja wirklich

01:31:57.080 --> 01:32:01.120
schon gut also ja machen sie gut so sollen sie weiter machen ich wünsche mir

01:32:01.120 --> 01:32:05.360
auch dass sie weiter machen damit die zukunft nicht eine komplette monokultur

01:32:05.360 --> 01:32:13.720
wird ja mal sehen wie es in der revision 750 dann ausschaut ich mache mir

01:32:13.720 --> 01:32:20.720
ein kalender wieder treffen super dann danke schön ich habe so dann vielen

01:32:20.720 --> 01:32:26.960
dank an die höheren und höherer fürs zuhören wie von erwähnt wenn ihr

01:32:26.960 --> 01:32:31.440
input habt oder fragen zum beispiel zu der grid implementation die ich

01:32:31.440 --> 01:32:37.280
gemacht habe dann haben wir jetzt eben dieses draft community was quasi von

01:32:37.280 --> 01:32:41.280
der landing page ist wo ihr dann in unseren slack kommt und da sind auch

01:32:41.280 --> 01:32:45.360
andere höheren und höherer drin also wenn ihr möchtet schaut da vorbei oder

01:32:45.360 --> 01:32:49.080
schickt uns eine mail an comments at working graph die oder ihr findet uns

01:32:49.080 --> 01:32:51.760
natürlich auf twitter und

01:32:51.760 --> 01:32:58.240
was so dann genau und bevor wir hier Schluss machen haben wir noch

01:32:58.240 --> 01:33:01.440
eine sache vergessen wir wollen nämlich noch dem hanes danken der ist nämlich

01:33:01.440 --> 01:33:09.760
unser neuster pattern patron vielen dank für deine unterstützung und bleibt

01:33:09.760 --> 01:33:15.000
noch zu sagen wir hören uns nächste woche da geht es wahrscheinlich um nochmal

01:33:15.000 --> 01:33:21.920
um ausbildungswege zum webenwickler und webenwicklerin genau hatten wir ja schon

01:33:21.920 --> 01:33:27.640
mal glaube ich ist um studium und so und das nächste mal wollen wir mal den

01:33:27.640 --> 01:33:32.680
anderen weg dahin beleuchten wenn alles klappt und nicht wieder irgendwelche

01:33:32.680 --> 01:33:41.840
krankheiten dazwischen kommen die bei der revision 557 also bis nächste

01:33:41.840 --> 01:34:11.280
woche macht es gut ist dahin tschüss tschüssi

Revision 556: Domain-Driven Design

15. Februar 2023 | Keine Kommentare

Über Domain-Driven Design (DDD) sprechen Hans und Vanessa mit dem Gast Florian Benz, VP of Engineering bei Scalable Capital. Florian beleuchtet dabei vor Allem dir Umsetzung samt Stolpersteinen in der Realität.

Schaunotizen

[02:14:00] Domain-Driven Design
Florian begann die ersten Schritte mit Domain-Driven Design (im Folgenden mit „DDD“ abgekürzt) in Teams bei Scalable Capital im Jahr 2019. Zu den größten Herausforderungen zählte, wie man das theoretische Wissen über DDD konkret umsetzen. Bei der Theorie geht Florian speziell auf folgende Teile von DDD ein: Explorativ, strategisch und taktisch. Genauer erläutert er die folgenden Komponenten von taktischem Design: Value Objects, Entities, Aggregrates, Repositories, Services und Factories.
Ein Hauptbestandteil von DDD ist es, eine gemeinsame Sprache zu entwickeln. Das ist jedoch gar nicht so einfach. Vor allem, wenn die allgemeine Code-Sprache bei Projekten oft Englisch ist, aber die Dokumentationssprache z.B. Deutsch. Doch wenn das Team einmal so weit ist, macht es die gemeinsame Sprache für alle einfacher. Für Entwickler:innen im Speziellen, den Code zu strukturieren und eine sehr wichtige Frage zu beantworten: Wo gehört dieser Code überhaupt hin?

Links

Verwandte Revisionen

Transkript
WEBVTT

00:00.000 --> 00:07.240
Domainschiffen-Design versteht sich recht gut mit Funktionaler-Pokamierung, was ja auch ein bisschen trendet in den letzten Jahren.

00:07.760 --> 00:14.440
Auf welche Feinheiten muss ich denn achten? Du hast es eben angesprochen, hexagonale Architektur. Wie baue ich meine Services auf?

00:14.960 --> 00:21.440
Das ist ein entscheidender Punkt von Domainschiffen-Design, dass man die Logik ganz klar dann auch mit dem Begriffen zusammenführt.

00:21.680 --> 00:25.160
Das heißt, dass man die Logik für ein Order auf beide Orders selber hat.

00:25.160 --> 00:29.040
Das ist jetzt nur eine Sache und irgendwie klingt das so, als würde noch ganz viel hinterher kommen.

00:29.040 --> 00:31.040
Genau, da gibt es noch ganz, ganz viel.

00:31.040 --> 00:33.040
Revision 556.

01:01.160 --> 01:06.160
Diese Revision wird unterstützt von Demodern.

01:06.160 --> 01:14.200
Demodern ist eine Digitalagentur mit Sitz in Köln und Hamburg und gehört zu den führenden Creative Technology-Agenturen in Europa.

01:14.200 --> 01:24.120
Rund 80 Digitalexpertinnen arbeiten derzeit für internationale Marken und Unternehmen wie Nike, IKEA, SAP, LG oder Mazda.

01:24.120 --> 01:36.720
Demodern wurde bereits mit zahlreichen Kreativpreisen ausgezeichnet. Neben Qualität, Innovation und Kreativität ist Teamwork die Superkraft der Agentur und du kannst bald zum Team gehören.

01:36.720 --> 01:43.320
Gesucht wird ein Full-Stack-Developer bzw. eine Full-Stack-Developerin mit Fokus auf Webmobile.

01:43.320 --> 01:55.320
Du bist dann verantwortlich für die Front- und Backend-Entwicklung interaktiver Projekte, die technische Recherche und Konzeption, aber vor allem für die Weiterentwicklung von Interaktions- und Web-Technologien.

01:55.320 --> 02:01.320
Unterstützt wirst du von einem internationalen Team aus den Bereichen Design, Konzeption und Entwicklung.

02:01.320 --> 02:02.320
Klingt gut?

02:02.320 --> 02:06.320
Dann bewirb dich unter demodern.de.

02:06.320 --> 02:14.320
Vielen Dank für die Unterstützung dieser Revision von WorkingDraft.

02:14.320 --> 02:23.320
Hallo und herzlich willkommen beim WorkingDraft. Wir sind schon in der Revision 556 und diesmal haben wir ein ganz besonderes Thema mit dabei.

02:23.320 --> 02:32.320
Es ist nämlich das Thema Domain Driven Development oder Domain Driven Design, aber bevor wir dahin kommen, sagen wir erstmal, wer mit dabei ist.

02:32.320 --> 02:36.320
Da ist nämlich aus dem Team dabei, die Vanessa, hallo.

02:36.320 --> 02:37.320
Servus.

02:37.320 --> 02:44.320
Ich bin der Hans und wir haben uns einen Gast eingeladen, und zwar den Florian Benz. Hallo Florian.

02:44.320 --> 02:46.320
Hallo zusammen.

02:46.320 --> 02:57.320
Schön, dass du mit dabei bist für die Hörerinnen und Hörer. Vielleicht kannst du dich einmal kurz vorstellen, wer bist du, was machst du so und dann gehen wir auch schon rein in das Thema heute.

02:57.320 --> 03:04.320
Genau. Hallo, ich bin der Florian Benz. Ich bin aktuell VP Engineering by Scalable Capital.

03:04.320 --> 03:09.320
Vielleicht kennst einige von euch schon hauptsächlich bekannt für unsere Broker App.

03:09.320 --> 03:15.320
Und da bin ich jetzt seit acht Jahren dabei, seit 2015. Solange gibt es auch die Firma.

03:15.320 --> 03:31.320
Das heißt, ich habe als erster Mitarbeiter die ganze Entwicklung mitbekommen und kann daher auch so ein bisschen erzählen, was jetzt Domain Driven Design by Scalable heißt, wann wir es eingeführt haben und wie sich das Ganze entwickelt hat.

03:31.320 --> 03:40.320
Und mein Hintergrund ist, ja angefangen habe ich als Java Entwickler, bin dann in die Webentwicklung ein bisschen reingerutscht bei meiner ersten Firma.

03:40.320 --> 03:48.320
Genauer gesagt AngularJS, einer der Gründe, wieso ich bei Scalable gelandet bin und dann haben wir ein Reakt verwendet.

03:48.320 --> 03:56.320
Aber ich habe über die Jahre nicht viel am Webfronten gemacht, aber immer mal wieder ein bisschen was.

03:56.320 --> 04:07.320
Das heißt, ich habe da auch Einblicke, aber hauptsächlich hinten dran Java oder noch über die Jahre Kotlin und dann auch viel bei AWS an der Cloud.

04:07.320 --> 04:20.320
Ja, sehr cool. Also es ist ja auf jeden Fall die Geschichte sozusagen vom Development in die Management Rolle und da dann bei einer Firma, das ist natürlich mega cool.

04:20.320 --> 04:32.320
Und vor allem möchtest du da heute mal auf einen speziellen Bereich eingehen und mit uns darüber sprechen, wie ihr denn bei euch Domain Driven Design eingeführt habt, was ist das überhaupt und so weiter.

04:32.320 --> 04:42.320
Wir haben eine Working-Craft-Revision in, ich glaube, mit der Nummer 314, in der wir mal über Domain Driven Development gesprochen haben.

04:42.320 --> 04:55.320
Das ist halt schon ein bisschen länger her. Jetzt verwende ich diese Begriffe Domain Driven Design und Domain Driven Development so irgendwie fast synonym, aber weiß gar nicht, ob das eigentlich so okay ist.

04:55.320 --> 05:05.320
Deswegen vielleicht an dich Florian, erst mal die Frage, was ist denn eigentlich Domain Driven Design und wie unterscheidet sich es dann auch vielleicht vom Domain Driven Development?

05:05.320 --> 05:17.320
Also Domain Driven Design ist ein sehr breites Feld. Das heißt, ich versuche es jetzt mal aus meiner Sicht zu beschreiben und im Deutschen ist es am besten mit der Fachlichkeit übersetzt.

05:17.320 --> 05:27.320
Das heißt, man versucht praktisch den Fachbereich einer Firma mit der Entwicklung zu kombinieren.

05:27.320 --> 05:36.320
Das fängt bei einfachen Sachen an, indem man zum Beispiel dieselbe Sprache verwendet und nicht die Entwickler jetzt hingehen und die Sachen irgendwie benennen.

05:36.320 --> 05:41.320
Das hört sich erst mal offensichtlich an, ist in der Praxis aber relativ schwer.

05:41.320 --> 05:48.320
Das heißt für mich auch für den Entwickler, dass er sich damit auseinandersetzen muss, was baue ich da eigentlich, was heißt das jetzt?

05:48.320 --> 06:00.320
Und was ich aus meiner Erfahrung sagen kann, man denkt sich als Entwickler was okay, das könnte so und so heißen in meinem Code, aber das ist oftmals nicht der korrekte Fachbegriff.

06:00.320 --> 06:15.320
Und hört sich jetzt vielleicht blöd an, aber dann zu lernen, was ist wirklich der korrekte Fachbegriff, wenn man zum Beispiel im Finanzbereich ist, wie nennt man das in der Wehrpapier-Abwicklung genau das Ding?

06:15.320 --> 06:18.320
Sich da reinfuchsen ist ganz schöne Arbeit.

06:18.320 --> 06:22.320
Und Domain Driven Design hat so mehrere Themen.

06:22.320 --> 06:27.320
Das heißt erst mal praktisch das Ganze verstehen, was man da überhaupt bauen will.

06:27.320 --> 06:31.320
Und da gibt es dann halt eben auch mehrere Verfahren, die angewendet werden.

06:31.320 --> 06:34.320
Da kommt es halt wie Event Storming zum Einsatz.

06:34.320 --> 06:39.320
Und dann gibt es natürlich die Punkte, wie man es dann konkret umsetzt.

06:39.320 --> 06:47.320
Die meisten Entwickler werden schon das eine oder andere davon schon mal gemacht haben, aber Domain Driven Design fasst halt eben alles so schön zusammen.

06:47.320 --> 06:55.320
Das heißt es gibt wirklich dann Muster, wie baue ich meine Klassen, wie setze ich es dann zusammen.

06:55.320 --> 07:01.320
Aber auch wenn ich jetzt mehrere Services habe im Backend, wie interagieren die?

07:01.320 --> 07:03.320
Was gibt es da für Muster?

07:03.320 --> 07:07.320
Das heißt, das ist sehr breit.

07:07.320 --> 07:17.320
Und wenn ich mich jetzt nicht vertue, ist das das Buch zu dem Thema, was den Begriff auch so richtig etabliert hat von 2003.

07:17.320 --> 07:23.320
Also auf jeden Fall vom Eric Evans, der sich halt eben hingesetzt und hat gesagt, okay,

07:23.320 --> 07:27.320
wir haben jetzt so viel darüber gesprochen, ich schreibe das jetzt mal alles zusammen.

07:27.320 --> 07:31.320
Und natürlich, wie jedes Thema entwickelt sich das Thema auch enorm weiter.

07:31.320 --> 07:36.320
Das heißt, bis das dann verbreitet hat und so dauert,

07:36.320 --> 07:43.320
und mittlerweile haben die meisten Entwickler es schon mindestens schon mal den Begriff irgendwo gelesen oder gehört,

07:43.320 --> 07:46.320
aber viele haben es auch noch nicht umgesetzt.

07:46.320 --> 07:52.320
Und dann ist die Hauptfrage, und das war auch unser Problem, ich habe jetzt das Buch gelesen,

07:52.320 --> 08:00.320
ich habe das auf einer Konferenz angehört oder ein Podcast gehört, aber wie setze ich das jetzt konkret um?

08:00.320 --> 08:05.320
Und das ist erstaunlich schwer, weil die Sachen hören sich erst mal offensichtlich an,

08:05.320 --> 08:12.320
das macht Sinn, aber wie ich es dann konkret umsetze, ist dann schon eine andere Herausforderung,

08:12.320 --> 08:15.320
an der wir auch ganz schön zu knabbern hatten.

08:15.320 --> 08:23.320
Auch wenn man sich extrem viel vorher schlau gemacht hat, ist es dann in der Praxis doch extrem schwer.

08:23.320 --> 08:28.320
Ich hätte da gleich eine konkrete Frage zu der Namensgebung.

08:28.320 --> 08:36.320
Das klingt sinnvoll, allerdings habe ich gleich den ersten Stolperstein, wenn wir zum Beispiel über etwas reden

08:36.320 --> 08:43.320
und wir wissen noch nicht, wie es im Produkt wirklich benannt wird oder wir haben da erst so einen temporären Namen.

08:43.320 --> 08:48.320
Das ist ein extremer Beispiel, das andere extremer Beispiel, irgendwann muss es geändert werden.

08:48.320 --> 08:54.320
Nennen wir einfach mal, wir haben da eine Textarea und sie ist für uns quasi immer in der Description gewesen,

08:54.320 --> 09:01.320
in der Beschreibung, nennen sie aber quasi in der UI zu Instructions Instruktionen um.

09:01.320 --> 09:08.320
Sollte das dann wirklich auch heißen, wir benennen auch wirklich das Feld in der Datenbank um zu Instructions

09:08.320 --> 09:14.320
oder geht man dann mit der Description weiter und müssten dann eher die Produktleute und Editorinnen

09:14.320 --> 09:18.320
eher weiterhin Description sagen, damit wir da die gleiche Sprache haben

09:18.320 --> 09:22.320
oder habe ich hier ein völliges falsches Beispiel und das meint man eigentlich gar nicht damit?

09:22.320 --> 09:27.320
Das ist ein super Beispiel, weil es auch direkt die Schwierigkeiten aufzeigt.

09:27.320 --> 09:32.320
Meine Antwort aus der Erfahrung, umbenennen, weil was passiert, wenn man es nicht umbenennt?

09:32.320 --> 09:40.320
Nach fünf Umbenennungen hat man dann fünf Begriffe und dann muss man immer im Kopf praktisch das Mapping machen.

09:40.320 --> 09:44.320
Das heißt, man muss das immer zuordnen und dann hat man irgendwann das Hauptproblem.

09:44.320 --> 09:50.320
Der Entwickler sagt was, jemand anders, der der Product Owner versteht was anderes,

09:50.320 --> 09:55.320
der Business Analyst wieder was anderes und schon hat man riesen Missverständnis

09:55.320 --> 09:59.320
und die Frage ist halt immer, wie einfach lässt sich so was umbenennen.

09:59.320 --> 10:03.320
Wenn ich jetzt einfach eine Klasse im Code habe, nehmen wir mal Datenbank außen vor,

10:03.320 --> 10:11.320
ist es ja einfach, die meisten IDEs, das meiste Toolding sagt einfach okay, Refacting umbenennen, ich bin durch.

10:11.320 --> 10:18.320
In der Datenbank umbenennen ist meistens schwierig, also weil das nicht so einfach vorgesehen ist

10:18.320 --> 10:23.320
und man in den meisten Fällen irgendein komplexes Verfahren wie Parallel Change machen muss,

10:23.320 --> 10:30.320
wo ich mache eine neue Spalte hinzu, schreibe gleichzeitig in beide Spalten und löchtern die Alte

10:30.320 --> 10:34.320
und der Aufwand lohnt sich meistens nicht.

10:34.320 --> 10:41.320
Da gibt es dann aber auch Muster, wie man das Ganze dann besser machen kann,

10:41.320 --> 10:47.320
zum Beispiel indem man den eigentlichen Code, die Logik von der Datenbank stärker isoliert,

10:47.320 --> 10:54.320
so dass ich es in meinem Code umbenennen kann, es aber in der Datenbank gleich benannt bleibt

10:54.320 --> 11:00.320
und dadurch die Altlast auf die Datenbank beschränkt ist, was natürlich auch nicht perfekt ist,

11:00.320 --> 11:07.320
aber viel, viel besser als wenn ich halt eben dann auf einmal fünf Versionen im Code habe.

11:07.320 --> 11:12.320
Das Problem mit wie benenne ich Sachen, die sich irgendwann ändern, ob wir es noch gar nicht wissen,

11:12.320 --> 11:15.320
da weiß ich auch nicht die perfekte Lösung.

11:15.320 --> 11:21.320
Aus meiner Erfahrung ist es so, wenn ich jetzt den Projektnamen im Code einführe, bleibt er da.

11:21.320 --> 11:25.320
Man geht nicht am Ende hin, also zum Beispiel, man hat ein Projekt, was noch nicht öffentlich sein darf

11:25.320 --> 11:32.320
und verwendet dann irgendein Code-Namen, dann entscheidet man sich meistens dazu, okay, der Code-Name bleibt

11:32.320 --> 11:39.320
und man schreibt irgendwo hin, hey, in unserer Firma gibt es die Code-Namen, die heißen das und das, fertig.

11:39.320 --> 11:43.320
Ja, ich meine, das ist ein ganz guter Punkt, irgendwie, wie kommt man zu Benennungen?

11:43.320 --> 11:50.320
Ganz viele Sachen sind ja in so einer Firma einfach durch Prozesse jahrelang irgendwie dann schon eingeschliffen.

11:50.320 --> 11:54.320
Da haben schon irgendwelche Namen, aber klar gibt es auch die neue Entwicklung.

11:54.320 --> 11:59.320
Soweit ich weiß, gibt es ja auch im DDD so einige Möglichkeiten,

11:59.320 --> 12:06.320
wie man zum Beispiel gemeinschaftlich sich auch Namen erarbeitet, also sei es jetzt über spezielle Events oder ähnliches.

12:06.320 --> 12:10.320
Da würde mich auf jeden Fall mal interessieren, wenn du uns ein bisschen erklären kannst,

12:10.320 --> 12:18.320
wie habt ihr das Thema denn neben der Theorie dann auch bei euch im Unternehmen in die Praxis umgesetzt?

12:18.320 --> 12:27.320
Wir haben angefangen ganz klein in einem Team und da haben wir natürlich die so Sachen nicht wirklich gemacht.

12:27.320 --> 12:31.320
Wir haben es aber mittlerweile, weil es sich so etabliert hat in der Firma,

12:31.320 --> 12:39.320
haben wir wirklich Events-Dorming-Workshops gemacht, wo wir unseren externen Trainer dazu geholt haben

12:39.320 --> 12:44.320
und das kann ich so weit wie nur empfehlen, ist natürlich muss man erstmal durchbekommen in der Firma,

12:44.320 --> 12:49.320
dass man jemand extern dazu holt, aber jemand extern, der damit schon Erfahrung hat

12:49.320 --> 12:55.320
und auch so der unabhängige Raum ist, der mal sagt, ich stelle jetzt hier die Regeln auf

12:55.320 --> 13:01.320
und ihr macht das jetzt mal, ist viel einfacher, als wenn sich jemand intern den Hut aufsetzt.

13:01.320 --> 13:07.320
Und dann ist es manchmal gar nicht so einfach, die richtigen Leute in einen Raum zu bekommen.

13:07.320 --> 13:11.320
Das heißt, das ist auch so ein Prozess in der Firma zu sagen,

13:11.320 --> 13:19.320
okay, alle verstehen, wie wichtig das Thema ist und sind deswegen bereit, da mal so ein Tag in so ein Workshop zu gehen,

13:19.320 --> 13:24.320
wo sich alle an einen Tisch setzen und dann sagen, okay, wir haben jetzt eine große Weise,

13:24.320 --> 13:27.320
wann wir versuchen, jetzt unser Produkt zu verstehen.

13:27.320 --> 13:31.320
Und als wir so weit waren, ging es auch nicht darum, was Neues zu entwickeln,

13:31.320 --> 13:37.320
sondern wir holen unser bestehendes System und gucken mal, was passiert da alles.

13:37.320 --> 13:43.320
Also wir fragen mal alle möglichen Leute in der Firma von Operations zu Product, zu Engineering,

13:43.320 --> 13:47.320
was passiert überhaupt? Was gibt es überhaupt für Prozesse?

13:47.320 --> 13:53.320
Und dann haben wir halt eben das Ganze geordnet und in mehreren Iterationen immer wieder drüber gegangen,

13:53.320 --> 13:58.320
okay, wie könnte man das jetzt kopieren und dann halt eben auch benennen?

13:58.320 --> 14:04.320
Weil wenn man dann zusammen da sitzt, merkt man auch, okay, die Leute verwenden nicht unbedingt denselben Namen.

14:04.320 --> 14:10.320
Und so entwickelt sich das Ganze dann, weil dann kommt jemand halt eben, der aus der Finanzbranche kommt und sagt,

14:10.320 --> 14:16.320
ja, das hat den Begriff. Ah, wusste ich gar nicht, wieder was gelernt, macht absolut Sinn.

14:16.320 --> 14:23.320
Weil sonst denken sich die Leute irgendwas aus und die anderen verstehen es nicht.

14:23.320 --> 14:30.320
Und ich kenn's aus unserer Codebase. Es gibt Kernsachen in der Firma,

14:30.320 --> 14:35.320
wo über die Jahre die Entwickler zehn verschiedene Begriffe verwendet haben.

14:35.320 --> 14:41.320
Es gibt halt immer wieder den Punkt, wo einer sagt, okay, ich will's irgendwie genericher machen,

14:41.320 --> 14:45.320
oder ich weiß es besser, ich benenn's jetzt anders.

14:45.320 --> 14:50.320
Deswegen sind wir jetzt bei neuen Projekten wirklich dazu übergegangen.

14:50.320 --> 14:55.320
Diesen Kernteil von Domain Driven Design, man nennt's dann Ubiquitous Language,

14:55.320 --> 15:01.320
die einheitliche Sprache wirklich einfach auf einer Wiki-Seite runterzuschreiben.

15:01.320 --> 15:10.320
Das heißt, die ganzen Fachbegriffe so runterzuschreiben, dass alle sie kennen und verstehen und die auch verwenden.

15:10.320 --> 15:14.320
Bei uns ist der Feld schon mal eine Schwierigkeit weg, die Unternehmenssprache ist englich,

15:14.320 --> 15:18.320
das heißt, wir verwenden die Begriffe eins zu eins so im Code.

15:18.320 --> 15:24.320
Es ist dann schon komplexer, wenn die Unternehmenssprache Deutsch ist, der Code aber auf englich,

15:24.320 --> 15:29.320
und dann die Entwickler anfangen, das selber zu übersetzen.

15:29.320 --> 15:34.320
Weil dann ist es oftmals auch nicht die beste Übersetzung.

15:34.320 --> 15:40.320
Die Alternative, die ich schon gesehen hab, war dann wirklich die deutschen Begriffe im Code zu verwenden.

15:40.320 --> 15:49.320
Was das nicht ganz so einfach ist, wo ich aber auch leider nicht sagen kann, wie das gut zu lösen ist,

15:49.320 --> 15:57.320
bei uns ist halt eben dadurch vereinfacht, dass wir als Unternehmenssprache englich haben und dadurch halt eben alles einheitlich auf englich verwenden.

15:57.320 --> 16:05.320
Was du sagst, finde ich sehr, sehr wichtig, das Thema Ubiquitous Language und dann halt dokumentiert zu haben.

16:05.320 --> 16:12.320
Ich glaube, gerade für so ein Newcomer beispielsweise, die eine Firma beitreten,

16:12.320 --> 16:14.320
irgendwie da einfach so ein Verzeichnis zu haben.

16:14.320 --> 16:21.320
Ach, wenn die Leute, ich sag jetzt mal, die Startseite sagen, meinen die in der App immer die Startseite.

16:21.320 --> 16:30.320
Okay, weil da ist es relativ eindeutig, aber es gibt ja so verschiedene Punkte, die in jeder Firma erstmal zu erlernen sind

16:30.320 --> 16:35.320
und das dann als Verzeichnis zu haben, als Glossary hilft total.

16:35.320 --> 16:41.320
Und wenn es dann halt an den Code geht, da sich drüber zurechtzufinden und das dann in den Code einfließen zu lassen,

16:41.320 --> 16:43.320
ist, denke ich, sehr sinnig.

16:43.320 --> 16:48.320
Was ich mal erlebt habe, ist, wenn es dann deutsche Begrifflichkeiten gab oder mehrere Begrifflichkeiten für ein

16:48.320 --> 16:54.320
und das Gleiche hat man sich meistens auf irgendwie eine Sache geeinigt und hatte dann das einfach auch mitdokumentiert,

16:54.320 --> 17:03.320
so dass man dann wie so ein Nachschlagewerk halt mit dazu hatte, das hat sich bei uns in der Vergangenheit ganz gut bewährt.

17:03.320 --> 17:06.320
Vanessa, rüber zu dir.

17:06.320 --> 17:14.320
Die deutschen Begrifflichkeiten hatte ich auch mal in einer Web App, die tatsächlich Produkte verwendet hatte.

17:14.320 --> 17:17.320
Für die es keine englischen Übersetzungen gab.

17:17.320 --> 17:23.320
Und da hat es dann ganz einfach wirklich so funktioniert, dass diese Produktnormen auf Deutsch, aber da gestern tatsächlich Englisch,

17:23.320 --> 17:28.320
da wäre vielleicht ein Risiko gewesen, dass es sich durchschlängert ist, aber einfach nicht passiert.

17:28.320 --> 17:33.320
Ich schätze mal, in der Finanzbranche wird es alle Begrifflichkeiten auch auf Englisch geben.

17:33.320 --> 17:36.320
Oder habt ihr Produkte, die einfach nur mit deutschen Namen existieren?

17:36.320 --> 17:41.320
Aber ich denke, ihr seid auch eine internationale App und nicht nur auf dem deutschen Markt.

17:41.320 --> 17:49.320
Die meisten Begriffe schon, aber es gibt natürlich das komplexe deutsche Steuerrecht

17:49.320 --> 17:54.320
und gewisse Regulatorik, wobei das ist mittlerweile auch einfacher geworden.

17:54.320 --> 18:01.320
Die Regulatorik, die für uns gilt, zum Beispiel von der BAFIN, die gibt es auch auf Englisch.

18:01.320 --> 18:06.320
Natürlich ist die deutsche Version bindend, aber es gibt dann eine offizielle Übersetzung.

18:06.320 --> 18:08.320
Also das ändert sich schon über die Jahre.

18:08.320 --> 18:13.320
Also vor ein paar Jahren gab es das noch nicht, aber das ändert sich.

18:13.320 --> 18:20.320
Ein guter Punkt war eben auch, wenn jetzt jemand neu in die Firma reinkommt oder ein Projekt, dass er dann praktisch so eine Seite hat.

18:20.320 --> 18:24.320
Und das gilt nicht nur für praktisch nur Übersicht, sondern auch, wenn er in den Code geht.

18:24.320 --> 18:31.320
Jetzt zum Beispiel bei einem Proker, ich will eine Order aufgeben, ich will Apple kaufen.

18:31.320 --> 18:36.320
Wenn man dann einfach in den Code reingehen kann und es da eine Klasse gibt,

18:36.320 --> 18:45.320
oder über ein Thema die ganze Funktionalität dann entdecken kann, das macht das für einen neuen viel, viel einfacher.

18:45.320 --> 18:51.320
Jetzt hört sich das vielleicht offensichtlich an, aber ich kann aus der Erfahrung auf viel, viel Gegenbeispiele,

18:51.320 --> 18:58.320
da gibt es da vielleicht eine Order, aber das ist dann das, was in der Datenbank abgespeichert ist und hat nicht viel mit der Logik zu tun.

18:58.320 --> 19:06.320
Das heißt, dann gibt es dann den Order-Service, den Order-Validator, irgendein Pre-Processor oder sowas.

19:06.320 --> 19:10.320
Und dann ist das eben über die ganze Codebasis die Logik so verteilt.

19:10.320 --> 19:18.320
Und das ist ein entscheidender Punkt von dem Mainchiffen-Design, dass man die Logik ganz klar dann auch mit dem Begriffen zusammenführt.

19:18.320 --> 19:23.320
Das heißt, dass man die Logik für eine Order auch bei der Order selber hat.

19:23.320 --> 19:30.320
Um das zu erklären, fängt man best mit dem kleinsten Baustein an und das sind Value-Objects.

19:30.320 --> 19:33.320
Ein gutes Beispiel ist Geld.

19:33.320 --> 19:41.320
Wenn man jetzt einfach Geld irgendwo als Entwickler irgendwo hinzufügt, kann man ja einen Feld hinzufügen

19:41.320 --> 19:49.320
und am besten verwendet man jetzt keinen Client-Commat-Methic-Alla-Flow-Double, sondern ein Java-Ware-Big-Decimal,

19:49.320 --> 19:55.320
um sich die Zahl richtig darzustellen und dann fügt man es halt irgendwo in der Klasse hinzu.

19:55.320 --> 19:59.320
Gut, was ist mit der Währung?

19:59.320 --> 20:01.320
Ja, jetzt habe ich meine Klasse da.

20:01.320 --> 20:04.320
Das ist eine Order und das steht halt irgendwo in Betrag dran.

20:04.320 --> 20:09.320
Und dann kann man halt eben noch einen Feld und String hinzufügen, Currency.

20:09.320 --> 20:13.320
Und über die Zeit gibt es halt eben noch einen Betrag.

20:13.320 --> 20:18.320
Vielleicht ist es eine andere Währung und dann hat die Klasse auf einmal mehrere Zahlen

20:18.320 --> 20:20.320
und mehrere Währungen.

20:20.320 --> 20:23.320
Und das muss man irgendwie zusammenordnen.

20:23.320 --> 20:29.320
Und das, was bei Domain-Trip-Design halt eben dann beworben wird, sind Value-Objects.

20:29.320 --> 20:32.320
Das heißt, ich führe Sachen, die zusammengehören zusammen.

20:32.320 --> 20:35.320
Das heißt, ich habe zum Beispiel eine Klasse Money.

20:35.320 --> 20:39.320
Die hat dann Zwingen, einen Betrag und eine Währung.

20:39.320 --> 20:47.320
Und die Währung, das kann jetzt auch wieder ein Value-Object sein, was einfach dann Currency heißt.

20:47.320 --> 20:51.320
Und wo es sicher sein kann, dass, wenn das ein Currency-Objekt ist,

20:51.320 --> 20:55.320
das auch nur eine valide Währung drin ist.

20:55.320 --> 21:00.320
Das ist auch das, was viele Leute so schon hier und da machen,

21:00.320 --> 21:05.320
ohne explizit Domain-Trip-Design zu verwenden, indem sie statt einem String

21:05.320 --> 21:09.320
oder einem Integer berechtlichen Wrapper drum herum machen,

21:09.320 --> 21:12.320
um der ganzen Sachen schönen Namen zu geben.

21:12.320 --> 21:15.320
Und das hat extrem viele Vorteile.

21:15.320 --> 21:19.320
Nicht nur von der Benennung her, das geht auch Richtung Sicherheit.

21:19.320 --> 21:22.320
Wenn ich auf einmal sicherstelle, dass die Währung,

21:22.320 --> 21:26.320
zum Beispiel nur so ein drei Wustam-Isocode ist,

21:26.320 --> 21:31.320
dann kann da keiner mehr bösartige JavaScript reinschreiben.

21:31.320 --> 21:36.320
Das heißt, man hat damit ganz viele Sachen auf einmal erschlagen.

21:36.320 --> 21:38.320
Und es ist natürlich viel einfacher zu verstehen,

21:38.320 --> 21:42.320
weil auf einmal habe ich dann halt eben alles zusammen.

21:42.320 --> 21:45.320
Und wenn man das Ganze dann konsequent so weitermacht,

21:45.320 --> 21:50.320
ist es auch viel, viel klarer, wo kommen die Sachen in meinem Code hin.

21:50.320 --> 21:54.320
Weil sonst ist immer die Frage, in welcher Klasse füge ich das jetzt hinzu,

21:54.320 --> 21:57.320
weil das in irgendeiner Utility.

21:57.320 --> 22:00.320
Aber wenn ich auf einmal eine Money-Klasse habe

22:00.320 --> 22:05.320
und ich brauche irgendwelche Utility-Sachen wie Runden

22:05.320 --> 22:07.320
oder gibt mir das mal schön aus,

22:07.320 --> 22:11.320
kann ich das einfach als Funktionen auf der Money-Klasse machen.

22:11.320 --> 22:15.320
Und wenn ich das alles schön zusammen habe,

22:15.320 --> 22:17.320
lässt sich auch schön testen,

22:17.320 --> 22:22.320
weil das ist ja erstmal nur eine Klasse mit wenigen Feldern,

22:22.320 --> 22:26.320
die idealerweise auch unveränderlich ist.

22:26.320 --> 22:29.320
Das ist ja auch ein Punkt, der immer beliebter wird,

22:29.320 --> 22:32.320
dass man nicht mehr jedes Feld verändern kann.

22:32.320 --> 22:35.320
Und viele Sprachen machen es einem mehr heutzutage

22:35.320 --> 22:38.320
auch viel einfacher, das so zu machen.

22:38.320 --> 22:43.320
So, jetzt bin ich schon ziemlich tief da unten reingegangen in die Muster.

22:43.320 --> 22:47.320
Was wäre denn das, du hast, glaube ich, die Value-Objekts,

22:47.320 --> 22:49.320
während das die kleinste Sache.

22:49.320 --> 22:51.320
Aber es gibt noch mehr Muster,

22:51.320 --> 22:53.320
oder es ist jetzt nur eine Sache,

22:53.320 --> 22:56.320
und ich klingt das so, als würde ich noch ganz viel hinterherkommen.

22:56.320 --> 22:58.320
Genau, da gibt es noch ganz, ganz viel.

22:58.320 --> 23:00.320
Wir verwenden auch lange nicht alles.

23:00.320 --> 23:05.320
Das heißt, Value-Objekts sind Sachen ohne eigene Identität.

23:05.320 --> 23:09.320
Das heißt, das sind einfache Sachen wie Geld, eine Farbe.

23:09.320 --> 23:11.320
Und jetzt, gerade zum Beispiel bei Farben,

23:11.320 --> 23:15.320
wenn man jetzt ans Wett denkt mit CSS,

23:15.320 --> 23:19.320
da gibt es ja auch X-Möglichkeiten, Farben darzustellen und so was.

23:19.320 --> 23:21.320
Ich habe sowas auch mal modelliert.

23:21.320 --> 23:23.320
Und wenn man das so baut,

23:23.320 --> 23:25.320
kann man sich auch viel einfacher was machen,

23:25.320 --> 23:29.320
was nur einen gültigen Zustand hat,

23:29.320 --> 23:31.320
indem man praktisch nur sich immer überlegt,

23:31.320 --> 23:33.320
okay, was darf ich überhaupt?

23:33.320 --> 23:38.320
Sonst hat man irgendwie die RGB-Codes irgendwo

23:38.320 --> 23:41.320
und schreibt dann ganz viel Code, um sicherzustellen,

23:41.320 --> 23:43.320
dass wirklich nur die Sachen drin sind.

23:43.320 --> 23:46.320
Wenn ich aber beim Erstellen von meiner Farbe

23:46.320 --> 23:48.320
schon eine Reckix drüberlaufen lasse,

23:48.320 --> 23:51.320
weiß ich, ich habe nur gültige Farben in meinem System.

23:51.320 --> 23:54.320
Die nächste Ebene drüber sind Entities.

23:54.320 --> 23:58.320
Das sind jetzt Sachen, die eine eigene Identität haben,

23:58.320 --> 24:00.320
üblicherweise eine ID,

24:00.320 --> 24:03.320
wie zum Beispiel ein Benutzer im System.

24:03.320 --> 24:07.320
Jeder Benutzer, jeder Kunde ist etwas Eigenes.

24:07.320 --> 24:11.320
Und Entities setzen sich normalerweise aus einer ID zusammen

24:11.320 --> 24:14.320
und einem Haufen Value-Objects.

24:14.320 --> 24:17.320
Und darüber kann man auch schon ein bisschen die Frage beantworten,

24:17.320 --> 24:19.320
was es jetzt für meine Entity zu groß wird,

24:19.320 --> 24:23.320
weil ich soll ja auch alle Logik in der Klasse haben.

24:23.320 --> 24:25.320
Und wenn es zu groß wird,

24:25.320 --> 24:27.320
dann kann man sich entweder überlegen,

24:27.320 --> 24:30.320
macht die Entity noch so Sinn

24:30.320 --> 24:34.320
oder habe ich nicht genug Value-Objects rausgezogen.

24:34.320 --> 24:39.320
Zum Beispiel aus einem Kunden kann man ja X-Unterbereiche rausziehen

24:39.320 --> 24:42.320
und die lassen sich dann auch viel besser isoliert testen

24:42.320 --> 24:45.320
und abbilden im Code.

24:45.320 --> 24:47.320
Und es hat dann wirklich den Vorteil,

24:47.320 --> 24:51.320
ich gucke mir dann den Kunden an, die Klasse

24:51.320 --> 24:55.320
und verstehe, darf ein Ausgehen, alle Logik, die da drauf ist.

24:55.320 --> 24:58.320
Was wir jetzt schön ausgespart haben ist,

24:58.320 --> 25:01.320
wir reden jetzt nicht über APIs, Datenbanken und so was,

25:01.320 --> 25:03.320
das ist noch ein separates Thema für sich,

25:03.320 --> 25:05.320
das ganze trennt man am besten,

25:05.320 --> 25:09.320
indem man die ganze Logik separat schreibt

25:09.320 --> 25:14.320
und die Domain-Logik praktisch wirklich als reiner Code hat.

25:14.320 --> 25:17.320
Das heißt, ohne Großabhängigkeiten,

25:17.320 --> 25:20.320
weil es dann ganz einfach zum Verstehen macht,

25:20.320 --> 25:23.320
weil ich muss mir keine Gedanken über APIs oder Datenbanken machen,

25:23.320 --> 25:25.320
das ist natürlich viel einfacher zu testen.

25:25.320 --> 25:28.320
Ich brauche ja nur Unit-Tests

25:28.320 --> 25:31.320
und brauche dann aber wieder Schichten,

25:31.320 --> 25:36.320
die mir das ganze in die API übersetzen oder in die Datenbank.

25:36.320 --> 25:43.320
Wenn ich jetzt mehrere Entities habe, die zusammengehören,

25:43.320 --> 25:45.320
dann spricht man von Aggregate.

25:45.320 --> 25:48.320
Das heißt, man sagt jetzt normal, eine Entity,

25:48.320 --> 25:50.320
was wäre jetzt ein Beispiel?

25:50.320 --> 25:54.320
Man hat einen Kunden und der hat eine Adresse, die zum Kunden gehört.

25:54.320 --> 25:58.320
Ich will aber, dass die Adresse vom Kunden nur über den Kunden geladen wird,

25:58.320 --> 26:00.320
dann kann man das Ganze als Aggregate machen und sagt,

26:00.320 --> 26:04.320
der Kunde ist aber praktisch die Wurzel von dem Ganzen noch nicht.

26:04.320 --> 26:06.320
Ich lade es nur über den Kunden,

26:06.320 --> 26:10.320
was auch schon wieder dann Probleme eliminiert,

26:10.320 --> 26:13.320
indem man jetzt die Adresse nicht mehr einfach so laden kann.

26:13.320 --> 26:16.320
Sonst ist es so, ich schreibe mir mal so eine SQL Query,

26:16.320 --> 26:19.320
lade es aus der Datenbank irgendwo meinen Code

26:19.320 --> 26:22.320
und verarbeite irgendwo ganz anders im Code die Adresse,

26:22.320 --> 26:26.320
weil das Marketing, die jetzt braucht, für irgendeine andere Anforderung.

26:26.320 --> 26:32.320
Das kann man damit dann auch abfrühstücken.

26:32.320 --> 26:35.320
Wenn man es jetzt noch ein bisschen komplexer macht, gibt es Services,

26:35.320 --> 26:40.320
wenn man eben Probleme hat, das Ganze so abzubilden,

26:40.320 --> 26:43.320
wenn man irgendwelche Prozesslogik drum herum hat,

26:43.320 --> 26:46.320
haben wir extrem selten.

26:46.320 --> 26:50.320
Dann Factories, um sich Entitäten zu erstellen,

26:50.320 --> 26:54.320
wenn die Logik fürs Erstellen selber zu komplex ist.

26:54.320 --> 26:57.320
Und dann geht es halt eben auch schon darum,

26:57.320 --> 27:01.320
okay, wir reden jetzt meine Services miteinander.

27:01.320 --> 27:02.320
Vielleicht ein bekanntes Beispiel,

27:02.320 --> 27:03.320
wo man auch gar nicht sagen muss,

27:03.320 --> 27:05.320
dass es jetzt aus dem mainstream Design kommt,

27:05.320 --> 27:07.320
ist ein Anti-Corruption Layer.

27:07.320 --> 27:11.320
Ich verbinde mein System mit einem externen Anbieter.

27:11.320 --> 27:14.320
Das ist die Frage, lasse ich den externen Anbieter

27:14.320 --> 27:18.320
meinen System dektieren oder baue ich eine Schicht rein,

27:18.320 --> 27:21.320
die das alles übersetzt.

27:21.320 --> 27:24.320
Wie vieles, es hört sich erst mal offensichtlich an,

27:24.320 --> 27:27.320
aber wenn man es nicht explizit macht, passiert es verdammt schnell,

27:27.320 --> 27:32.320
ist dann doch irgendwie der externe Anbieter irgendwas macht,

27:32.320 --> 27:34.320
man es dann nicht übersetzt.

27:34.320 --> 27:37.320
Und wenn der externen Anbieter es dann ändert,

27:37.320 --> 27:40.320
man dann gezwungen ist, sein halbes System zu ändern.

27:40.320 --> 27:43.320
Und so gibt es in dem mainstream Design ganz viele Muster,

27:43.320 --> 27:46.320
wie können jetzt Systeme zusammenarbeiten?

27:46.320 --> 27:48.320
Natürlich ist das Einfass,

27:48.320 --> 27:51.320
da immer sie sind möglichst getrennt

27:51.320 --> 27:55.320
und interagieren halt eben nur über klar definierte Schnittstellen.

27:55.320 --> 27:59.320
Es gibt aber auch viel komplexere Sachen.

27:59.320 --> 28:03.320
Davon haben wir aber, also die kann ich gar nicht alle so genau beschreiben,

28:03.320 --> 28:06.320
weil wir sie selber nicht im Einsatz haben.

28:06.320 --> 28:09.320
Auch ein wichtiger Punkt von dem mainstream Design,

28:09.320 --> 28:11.320
es ist quasi so ein riesen Topf,

28:11.320 --> 28:15.320
aus dem man sich die Sachen rausnehmen kann, die man braucht.

28:15.320 --> 28:19.320
Was aber gut ist, wenn man den Begriff explizit verwendet ist,

28:19.320 --> 28:23.320
dass man diesen riesen Topf hat, weiß okay, was kann ich nehmen,

28:23.320 --> 28:26.320
was macht Sinn und halt eben auch auf die Erfahrung

28:26.320 --> 28:29.320
von vielen Leuten zurückgreifen kann.

28:31.320 --> 28:35.320
Was ein wichtiger Begriff ist, ist Bounded Context.

28:35.320 --> 28:38.320
Und zwar, wie schneide ich mein System?

28:38.320 --> 28:42.320
Ich habe eben gesagt, okay, da sind irgendwelche Services, die miteinander reden.

28:42.320 --> 28:46.320
Ja, wie bestimme ich jetzt, wohin gehört in meinem System?

28:46.320 --> 28:52.320
Und genau wie wir am Anfang überhaupt mal die Begriffe zu bekommen,

28:52.320 --> 28:56.320
kann man über so Verfahren wie Events Dorming auch rausbekommen,

28:56.320 --> 28:59.320
okay, wie schneide ich mein System?

28:59.320 --> 29:02.320
Ist das jetzt zum Beispiel das Onboarding von einem Kunden?

29:02.320 --> 29:04.320
Das hat wahrscheinlich nicht mehr viel zu tun

29:04.320 --> 29:06.320
mit dem späteren Leben vom Kunden

29:06.320 --> 29:10.320
im Kündigungsprozess oder irgendwelche Sachen, die der Kunde macht.

29:10.320 --> 29:14.320
Und so kann man eben dann Sachen im System schneiden,

29:14.320 --> 29:18.320
was man normalerweise eh schon macht,

29:18.320 --> 29:22.320
um es möglich zu machen, dass unterschiedliche Teams dran arbeiten.

29:22.320 --> 29:26.320
Aber wenn man sich das überlegt, okay, wie macht das Sinn von der Business Sicht,

29:26.320 --> 29:30.320
hat man wahrscheinlich das System so geschnitten,

29:30.320 --> 29:34.320
dass es langfristig mehr Sinn macht.

29:34.320 --> 29:37.320
Weil was wir aus der Vergangenheit kennen, ist,

29:37.320 --> 29:39.320
ja, die Entwickler haben sich Gedanken gemacht,

29:39.320 --> 29:44.320
oh ja, das System so, das kommt dahin, dahin, das macht so ungefähr Sinn.

29:44.320 --> 29:47.320
Und dann kommen in der Zukunft halt eben Änderungen,

29:47.320 --> 29:52.320
die dann immer drei Services auf einmal betreffen.

29:52.320 --> 29:58.320
Oder das Team wird auf einmal auf andere Software gesetzt.

29:58.320 --> 30:02.320
Also, weil es halt eben von den Business Anforderungen so ist,

30:02.320 --> 30:05.320
dass es da einfach nicht mehr so viel gibt.

30:05.320 --> 30:10.320
Und dass man einfach die Teams, so wie sie vom oben gesehen wurden,

30:10.320 --> 30:14.320
gar nicht zur Software-Astruktur gepasst haben.

30:14.320 --> 30:18.320
Da gibt es ja auch Converse Lord, was sagt das,

30:18.320 --> 30:23.320
so wie man in der Firma miteinander redet,

30:23.320 --> 30:26.320
so entwickelt sich auch die Software.

30:26.320 --> 30:28.320
Das heißt, wenn man als Start-up wächst

30:28.320 --> 30:31.320
und die Leute immer noch extrem viel miteinander reden,

30:31.320 --> 30:34.320
und das war dann auch irgendwann unsere Schwierigkeit,

30:34.320 --> 30:38.320
dass man geguckt hat, okay, wie schneiden wir das jetzt besser?

30:38.320 --> 30:40.320
Ja, den Trick, den werde ich mir gleich merken.

30:40.320 --> 30:43.320
Ich denke auch, das, was du vorhin noch gesagt hattest,

30:43.320 --> 30:47.320
mit externen Systemen und jetzt Libraries,

30:47.320 --> 30:49.320
ich denke, das ist auch so ein Klassiker,

30:49.320 --> 30:51.320
den man als erstes mal lernt.

30:51.320 --> 30:54.320
Wir haben zum Beispiel Century, das haben wir wegkapsuliert

30:54.320 --> 30:57.320
in den Monitoring-TS-Datei.

30:57.320 --> 31:02.320
Century hat tatsächlich, glaube ich, diese Funktionsnamen nie geändert.

31:02.320 --> 31:04.320
Ich glaube, es ist immer noch Capture-Exception,

31:04.320 --> 31:06.320
aber nur, um sicher zu gehen,

31:06.320 --> 31:08.320
verwenden wir nur unseres eigenes Monitoring,

31:08.320 --> 31:10.320
das unterm Strich, dann wird Century aufruft.

31:10.320 --> 31:12.320
Ich weiß leider nicht mehr, wenn man Major-Lib,

31:12.320 --> 31:14.320
aber irgendwann ist es mir passiert,

31:14.320 --> 31:17.320
dass die eben den Funktionsnamen geändert hatte und ich stand da.

31:17.320 --> 31:19.320
Klar, jetzt ist es wie es Code

31:19.320 --> 31:21.320
und es ist tatsächlich irgendwie nur ein Command-F gewesen,

31:21.320 --> 31:24.320
aber sehr oft ist es nicht so einfach.

31:24.320 --> 31:27.320
An was ich jetzt gerade noch gedacht hatte,

31:27.320 --> 31:31.320
du hattest die Beispiele mit so umbenennen und Klassen.

31:31.320 --> 31:33.320
Hin und wieder habe ich schon das Gefühl,

31:33.320 --> 31:35.320
dass wir in der aktuellen Fronten-Entwicklung

31:35.320 --> 31:38.320
das Problem haben von Komponenten

31:38.320 --> 31:40.320
und vieles von Komponenten

31:40.320 --> 31:43.320
kann man jetzt für mich in dem Hinblick schon wie eine Klasse anziehen.

31:43.320 --> 31:46.320
Da merkt man auch, das hätte man schneiden sollen.

31:46.320 --> 31:48.320
Diese Logik hätte man rausziehen sollen.

31:48.320 --> 31:51.320
Man hätte vielleicht diese Farbberechnung nicht in der Komponente,

31:51.320 --> 31:54.320
die auch noch den Button am Ende rendert,

31:54.320 --> 31:56.320
sondern vielleicht einfach in der Utile-Function-Auslage

31:56.320 --> 31:58.320
und dann hätte die getestet werden können,

31:58.320 --> 32:00.320
wäre schon durch abgeschnitten.

32:00.320 --> 32:02.320
Aber mit dem umbenennen,

32:02.320 --> 32:06.320
ich weiß gar nicht, ob wir wirklich gute Tools in IDEs

32:06.320 --> 32:08.320
oder Text-Ideaturen haben,

32:08.320 --> 32:17.320
wenn ich z.B. eine React-Komponente-Description-Label genannt habe

32:17.320 --> 32:22.320
und jetzt vielleicht eine Property habe wie Require-Description

32:22.320 --> 32:24.320
oder ähnliches

32:24.320 --> 32:27.320
und irgendwo woanders steht noch mal Description.

32:27.320 --> 32:30.320
Ich weiß gar nicht, ob ein Tool wirklich klug genug ist,

32:30.320 --> 32:34.320
dass wenn ich sage, ich benenne jetzt die Datei um in Instruction-Field,

32:34.320 --> 32:37.320
das ist mir auch vorschlägt, willst du auch die Property

32:37.320 --> 32:40.320
von Require-Description zu Require,

32:40.320 --> 32:42.320
was auch immer ich gerade gesagt hatte, umbenennen.

32:42.320 --> 32:44.320
Entweder ich kann es nicht

32:44.320 --> 32:47.320
oder ich hatte das Problem noch nicht wirklich,

32:47.320 --> 32:49.320
weil wir machen eher den Zug,

32:49.320 --> 32:52.320
wir bleiben immer beim allerersten Namen.

32:52.320 --> 32:56.320
Ich versuche auch vehement dieses Fünf-Namen zu verhindern,

32:56.320 --> 32:59.320
indem wir einfach beim ursprünglichen Namen bleiben.

32:59.320 --> 33:01.320
Es gibt aber auch ein Problem,

33:01.320 --> 33:04.320
wenn man da tatsächlich mit dem Produkt berückspricht

33:04.320 --> 33:06.320
und da habe ich auch gemerkt,

33:06.320 --> 33:09.320
es gibt das Problem, wenn man Customer-Support hat,

33:09.320 --> 33:12.320
die ja wirklich mit richtigen Kunden und Kundinnen reden

33:12.320 --> 33:14.320
plötzlich, der Step geht nicht mehr,

33:14.320 --> 33:16.320
und ich sage, was für ein Step?

33:16.320 --> 33:18.320
Ach, Description geht nicht mehr,

33:18.320 --> 33:20.320
ich sage doch, dass Description nicht mehr geht.

33:20.320 --> 33:22.320
Natürlich müssen die die modernen Begriffe verwenden

33:22.320 --> 33:24.320
und nicht unsere technischen Begriffe.

33:24.320 --> 33:26.320
Aber aus dem Grund, weil ich es nicht weiß,

33:26.320 --> 33:28.320
wie man gut reflektieren kann,

33:28.320 --> 33:31.320
weil so Komponenten, dass alle Properties mit so übersetzt werden,

33:31.320 --> 33:34.320
tendiere ich eben eher dazu, beim Ersten zu bleiben.

33:34.320 --> 33:37.320
Ja, also ich habe schon Tools gesehen, die es gut können,

33:37.320 --> 33:40.320
aber es hängt halt eben auch stark von der Programmiersprache ab.

33:40.320 --> 33:43.320
Ich glaube jetzt, gerade der Trend zu Type-Tryptin

33:43.320 --> 33:45.320
hilft auch schon stark.

33:45.320 --> 33:47.320
Ich bin eher bei staatlich kompellierten Sprachen

33:47.320 --> 33:49.320
aller Java Kotlin unterwegs.

33:49.320 --> 33:51.320
Da ist es einfacher, so was zu machen,

33:51.320 --> 33:53.320
aber natürlich dieses,

33:53.320 --> 33:55.320
wenn ich jetzt die Klasse umbenenne,

33:55.320 --> 33:58.320
das Felder dann auch mit umbenannt werden,

33:58.320 --> 34:00.320
das kann man schon ableiten,

34:00.320 --> 34:02.320
ist aber auch schon wieder der nächste Schritt.

34:02.320 --> 34:05.320
Das heißt, es wird auch nicht überall perfekt funktionieren.

34:05.320 --> 34:07.320
Das heißt, da kommt man halt eben,

34:07.320 --> 34:09.320
wenn man es wirklich umbenennt,

34:09.320 --> 34:11.320
nicht drum herum,

34:11.320 --> 34:13.320
und wenn es dann irgendeinem Kommentar drin vorkommt,

34:13.320 --> 34:15.320
wird es noch schwieriger.

34:15.320 --> 34:17.320
Also ich habe es auch schon gesehen,

34:17.320 --> 34:19.320
wo dann so Vorstellke kommen.

34:19.320 --> 34:21.320
Willst du nicht auch noch den Kommentar umbenennt,

34:21.320 --> 34:24.320
aber ja, da wird es schon schwieriger

34:24.320 --> 34:27.320
und da kann man nie alle Fälle abdecken.

34:27.320 --> 34:30.320
Das bringt mich zu einem guten Punkt,

34:30.320 --> 34:33.320
und zwar in dem original Buch von Eric Evans gibt es

34:33.320 --> 34:35.320
ein komplettes Drittel vom Buch

34:35.320 --> 34:38.320
zu Refactoring to Deeper Insights.

34:38.320 --> 34:40.320
Im Endeffekt ist die Kernaussage,

34:40.320 --> 34:42.320
egal was du machst,

34:42.320 --> 34:44.320
das was du als erstes machst, ist nie perfekt,

34:44.320 --> 34:46.320
und du lernst immer.

34:46.320 --> 34:48.320
Und das heißt, man muss dann immer,

34:48.320 --> 34:50.320
man baut was,

34:50.320 --> 34:52.320
und dann versteht man es besser,

34:52.320 --> 34:54.320
das Business entwickelt sich,

34:54.320 --> 34:57.320
und dann refactored man.

34:57.320 --> 34:59.320
Ah, das gehört doch zusammen,

34:59.320 --> 35:01.320
jetzt schiebe ich das darum.

35:01.320 --> 35:03.320
Und das ist natürlich auch viel einfacher,

35:03.320 --> 35:05.320
wenn ich die,

35:05.320 --> 35:08.320
dieses Domain-Layer, also diese ganze Logik,

35:08.320 --> 35:11.320
alles getrennt habe von der Datenbank.

35:11.320 --> 35:13.320
Und ich glaube jetzt muss ich es doch mal auspacken,

35:13.320 --> 35:15.320
hexagonale Architektur,

35:15.320 --> 35:18.320
das ist eine Möglichkeit, das Ganze zu trennen.

35:18.320 --> 35:20.320
Das heißt, man sagt wirklich,

35:20.320 --> 35:22.320
okay, ich habe eine Domain-Schicht,

35:22.320 --> 35:24.320
da ist nur meine Logik,

35:24.320 --> 35:27.320
und da ist jetzt nichts technisches uns drin.

35:27.320 --> 35:29.320
Da mache ich nach Möglichkeit,

35:29.320 --> 35:31.320
mache ich auch gar kein Framework rein.

35:31.320 --> 35:34.320
Und das ist am Anfang extrem schwer.

35:34.320 --> 35:37.320
Am ersten Projekt, wo wir es umgesetzt haben,

35:37.320 --> 35:41.320
danach hat die Hälfte der Logik doch irgendwo anders.

35:41.320 --> 35:43.320
Und da muss man eben immer wieder hingehen,

35:43.320 --> 35:45.320
in so ein Lernprozess.

35:45.320 --> 35:47.320
Ah, jetzt habe ich die Logik da eingebaut.

35:47.320 --> 35:50.320
Beim Laden aus der Datenbank habe ich irgendwie doch noch Logik verwendet,

35:50.320 --> 35:53.320
statt nur blödes Mapping.

35:53.320 --> 35:55.320
Und da ist natürlich auch entscheidend,

35:55.320 --> 35:57.320
dass man das Ganze so macht,

35:57.320 --> 36:00.320
dass es einen nicht total frustriert,

36:00.320 --> 36:03.320
und da hängt es eben auch von den Sprachen ab.

36:03.320 --> 36:07.320
Wir haben verwendet seit 2008 hauptsächlich Kotlin statt Java,

36:07.320 --> 36:10.320
und das ist viel, viel weniger Kot,

36:10.320 --> 36:12.320
jetzt so ein blödes Mapping zu machen.

36:12.320 --> 36:15.320
Man muss auch viel weniger Test schreiben,

36:15.320 --> 36:18.320
um sicherzugehen, dass das wirklich funktioniert.

36:18.320 --> 36:20.320
Und dann ist es auch viel einfacher,

36:20.320 --> 36:23.320
die Leute davon zu überzeugen, so etwas zu machen.

36:23.320 --> 36:26.320
Wenn man dann mal länger in so einem System gearbeitet hat,

36:26.320 --> 36:28.320
will man es nicht mehr zurück.

36:28.320 --> 36:31.320
Weil auf einmal ist in der API oder in der Datenbank

36:31.320 --> 36:34.320
etwas ändern, ja, das ist eine eigene Schicht.

36:34.320 --> 36:37.320
Das Mapping sieht am Anfang blöd aus,

36:37.320 --> 36:40.320
weil ganz am Anfang ist mit hoher Wahrscheinlichkeit die API,

36:40.320 --> 36:44.320
die Logik, und das, was in der Datenbank ist, fast identisch.

36:44.320 --> 36:47.320
Das heißt, beim Mapping, das wirklich einfällt

36:47.320 --> 36:49.320
mit dem gleichen Namen auf das andere.

36:49.320 --> 36:51.320
Aber es passiert oft schneller,

36:51.320 --> 36:54.320
als man denkt, dass sich irgendetwas ändert,

36:54.320 --> 36:57.320
oder dass man noch eine weitere API hinzufügt,

36:57.320 --> 37:00.320
die an halt eben vielleicht doch etwas anders aussieht,

37:00.320 --> 37:03.320
wenn man die API dann doch zum Beispiel

37:03.320 --> 37:06.320
speziell an einem Mobile App oder sonst was anpasst,

37:06.320 --> 37:09.320
die dann halt eben das Ganze anders kopiert.

37:09.320 --> 37:11.320
Und was wir da auch gemerkt haben, ist,

37:11.320 --> 37:13.320
dass die Sprache selber, wie Kotlin,

37:13.320 --> 37:15.320
von den Sichtbarkeiten und so,

37:15.320 --> 37:17.320
das gar nicht alles hergibt,

37:17.320 --> 37:19.320
dass man die eben in so klark trennen kann.

37:19.320 --> 37:21.320
Also zum Beispiel wirklich hart verbieten,

37:21.320 --> 37:23.320
dass man da nicht auf was anderes zugreift.

37:23.320 --> 37:26.320
Natürlich könnte man dann Module machen und so was,

37:26.320 --> 37:28.320
aber es wird auch komplett komplex.

37:28.320 --> 37:31.320
Und dann gibt es interessanterweise aus München,

37:31.320 --> 37:33.320
ArcUnit, ein Open-Source-Tool,

37:33.320 --> 37:36.320
für die ganzen JVM-basierten Sprachen,

37:36.320 --> 37:39.320
womit man wirklich Regeln schreiben kann und sagen kann,

37:39.320 --> 37:42.320
hey, also ganz flexibel,

37:42.320 --> 37:44.320
alles, was in dem Paket ist,

37:44.320 --> 37:46.320
darf nicht auf das andere zugreifen,

37:46.320 --> 37:48.320
alles, was den Namen hat,

37:48.320 --> 37:50.320
darf nicht auf das zugreifen und so weiter und so fort.

37:50.320 --> 37:52.320
Und damit kann man wirklich

37:52.320 --> 37:57.320
das Ganze in einem Unit-Test erzwingen.

37:57.320 --> 38:02.320
Weil ansonsten so sehr, wie man drauf guckt,

38:02.320 --> 38:05.320
es schleicht sich immer irgendwas ein.

38:05.320 --> 38:08.320
Und das sind dann schon so wichtige Schritte,

38:08.320 --> 38:10.320
die wir auch gelernt haben,

38:10.320 --> 38:12.320
das Ganze dann umzusetzen.

38:12.320 --> 38:14.320
Es ist aber auch bei uns so,

38:14.320 --> 38:16.320
dass das Ganze sich ständig weiterentwickelt.

38:16.320 --> 38:19.320
Man lernt immer, was funktioniert, was funktioniert nicht.

38:19.320 --> 38:22.320
Das heißt, jedes neue Stück Software

38:22.320 --> 38:25.320
sieht wir ein bisschen anders aus als das Bestehende.

38:25.320 --> 38:29.320
Der iterative Approach, das macht ja

38:29.320 --> 38:31.320
durchaus sehr, sehr viel Sinn.

38:31.320 --> 38:34.320
Der eigene Code entwickelt sich weiter,

38:34.320 --> 38:36.320
die Ideen entwickeln sich weiter

38:36.320 --> 38:39.320
und vor allem das Gelernte entwickelt sich weiter.

38:39.320 --> 38:41.320
Jetzt ist es aber auch so,

38:41.320 --> 38:43.320
wahrscheinlich bei euch gewesen,

38:43.320 --> 38:45.320
dass nicht jede Entwicklerin und jeder Entwickler

38:45.320 --> 38:47.320
schon direkt wusste, was ist denn jetzt

38:47.320 --> 38:50.320
dieses Domain-Triven-Design

38:50.320 --> 38:52.320
und auf welche Feinheiten muss ich denn achten?

38:52.320 --> 38:54.320
Du hast es eben angesprochen,

38:54.320 --> 38:56.320
das ist eine hexagonale Architektur,

38:56.320 --> 38:58.320
wie baue ich meine Services auf und ähnliches.

38:58.320 --> 39:01.320
Das heißt, da ist für alle Beteiligten

39:01.320 --> 39:03.320
erst mal ein gewisser,

39:03.320 --> 39:05.320
so eine Art Lernkurve erst mal zu nehmen

39:05.320 --> 39:07.320
und irgendwie muss man ja auch ein Stück weit

39:07.320 --> 39:10.320
aus einer architektonischen Brille heraus

39:10.320 --> 39:13.320
überwachen in Anführungsstrichen,

39:13.320 --> 39:15.320
wie das Ganze sich entwickelt

39:15.320 --> 39:17.320
und dass man in die richtige Richtung geht.

39:17.320 --> 39:19.320
Wie habt ihr das gemacht?

39:19.320 --> 39:21.320
Das ist dann eben auch was,

39:21.320 --> 39:23.320
was mit der Firma gewachsen ist.

39:23.320 --> 39:25.320
Gewisse Konzepte von Domain-Triven-Design

39:25.320 --> 39:27.320
haben wir implizit über die ganzen Jahre

39:27.320 --> 39:29.320
schon verwendet, aber wirklich explizit

39:29.320 --> 39:32.320
haben wir 2019 in einem kleinen Projekt

39:32.320 --> 39:34.320
damit angefangen.

39:34.320 --> 39:36.320
Da habe ich ein Team geleitet,

39:36.320 --> 39:38.320
das damals extrem klein war,

39:38.320 --> 39:40.320
das waren außer mir noch zwei Entwickler

39:40.320 --> 39:42.320
und da haben wir uns einfach vorgenommen,

39:42.320 --> 39:44.320
okay, wir haben unser eigenes kleines Projekt,

39:44.320 --> 39:46.320
wir setzen das mal um

39:46.320 --> 39:48.320
und im Endeffekt war es halt eben auch

39:48.320 --> 39:50.320
größtenteils ein Becken-Service,

39:50.320 --> 39:52.320
der dann daraus entstanden ist

39:52.320 --> 39:55.320
aus heutiger Sicht

39:55.320 --> 39:57.320
bin ich auf das Ergebnis jetzt nicht sehr stolz,

39:57.320 --> 39:59.320
weil das genau das passiert,

39:59.320 --> 40:01.320
was ich vorangeschnitten habe,

40:01.320 --> 40:03.320
die Hälfte der Logik ist woanders gelandet

40:03.320 --> 40:06.320
und da das Projekt nachher nicht mehr so wichtig war,

40:06.320 --> 40:10.320
hatten wir auch nie mit der Zeit da viel aufzuräumen.

40:10.320 --> 40:13.320
Es gab da aber schon ziemlich viel,

40:13.320 --> 40:15.320
was wir gelernt haben.

40:15.320 --> 40:17.320
Zum Beispiel gab es,

40:17.320 --> 40:20.320
wir haben dann externen Partner angebunden,

40:20.320 --> 40:23.320
wo das Onboarding extrem komplex war,

40:23.320 --> 40:27.320
man musste irgendwie so acht Schritte durchlaufen.

40:27.320 --> 40:29.320
Und ich bin irgendwie nach einer Zeit wieder

40:29.320 --> 40:31.320
in den Code reingegangen

40:31.320 --> 40:33.320
und habe selber nicht mehr verstanden,

40:33.320 --> 40:36.320
weil das alles über den Code verteilt war.

40:36.320 --> 40:38.320
Und ich dachte mir einfach,

40:38.320 --> 40:40.320
dieses Onboarding, diese acht Schritte,

40:40.320 --> 40:44.320
das kann doch irgendwo zusammen sein.

40:44.320 --> 40:47.320
Und das ist dann halt eben gar nicht so einfach,

40:47.320 --> 40:49.320
sich dann praktisch dahin zu setzen

40:49.320 --> 40:52.320
und zu denken, okay, wie kriege ich das jetzt so hin,

40:52.320 --> 40:54.320
dass das so an einer Stelle zusammen ist.

40:54.320 --> 40:56.320
Natürlich hat jeder Schritt seine eigene Komplexität,

40:56.320 --> 40:59.320
aber am Ende haben wir es hinbekommen,

40:59.320 --> 41:02.320
eine Klasse zu haben für dieses Onboarding,

41:02.320 --> 41:05.320
für diesen Prozess, der dann wirklich gesagt hat,

41:05.320 --> 41:07.320
Schritt eins, und dann hat er auch wieder

41:07.320 --> 41:09.320
auf etwas anderes verwiesen,

41:09.320 --> 41:11.320
wo man es halt eben einfach nachvollziehen konnte.

41:11.320 --> 41:13.320
Wo man jetzt wirklich,

41:13.320 --> 41:15.320
wenn man dieses Beispiel, ich mache jetzt per Programming,

41:15.320 --> 41:17.320
ich will das jemanden erklären, man setzt sich hin.

41:17.320 --> 41:19.320
Und wenn ich dann selber erstmal halbe

41:19.320 --> 41:21.320
schon im Code suchen muss, wo ist der Schritt,

41:21.320 --> 41:24.320
wo ist der Schritt oder der Schritt, ja, blöd.

41:24.320 --> 41:27.320
Wenn es alles in einer Klasse ist, einfach.

41:27.320 --> 41:30.320
Aber damit waren wir dann so ein bisschen angefixst.

41:30.320 --> 41:33.320
Wir hatten so die erste Erfahrung gesammelt

41:33.320 --> 41:35.320
und dachten, okay, das geht viel, viel besser.

41:35.320 --> 41:37.320
Unsere Hauptschwierigkeit war,

41:37.320 --> 41:41.320
wie übersetzt sich jetzt die Theorie in unserer Praxis.

41:41.320 --> 41:43.320
Und dann haben wir angefangen,

41:43.320 --> 41:46.320
Ende 2019 im Proker zu bauen.

41:46.320 --> 41:48.320
Und da haben wir ein sehr schnell

41:48.320 --> 41:50.320
ein größeres Team gehabt.

41:50.320 --> 41:53.320
Im Endeffekt waren es über 10 Leute in einem Team.

41:53.320 --> 41:57.320
Wir haben dann wohl größer als unsere übliche Teamkurse entschieden,

41:57.320 --> 42:00.320
okay, wichtiges Projekt.

42:00.320 --> 42:02.320
Wir lassen es als ein Team laufen

42:02.320 --> 42:06.320
und hatten dann ein paar Entwickler dabei,

42:06.320 --> 42:09.320
die direkt begeistert, gesagt haben, okay,

42:09.320 --> 42:11.320
wir wollen das machen.

42:11.320 --> 42:13.320
Und dann ging das ganz auch viel, viel schneller.

42:13.320 --> 42:16.320
Weil dann war wirklich so, okay, wie übersetzen wir das jetzt

42:16.320 --> 42:19.320
in unsere Eistrichtur, in unseren Code.

42:19.320 --> 42:23.320
Und dann zum Beispiel diese Abstraktion von der Datenbank.

42:23.320 --> 42:26.320
Dann kamen recht schnell super Ideen da zusammen.

42:26.320 --> 42:30.320
Und wir haben dann auch mehrere Services

42:30.320 --> 42:32.320
direkt damit umgesetzt.

42:32.320 --> 42:36.320
Und natürlich die Leute, die es umgesetzt haben und dabei waren,

42:36.320 --> 42:38.320
da war die Begeisterung da.

42:38.320 --> 42:41.320
Den Rest der Firma hat es noch nicht so interessiert.

42:41.320 --> 42:43.320
Da ist natürlich mal passiert,

42:43.320 --> 42:46.320
dass der eine oder andere sich interessiert hat, nachgefragt hat.

42:46.320 --> 42:49.320
Wir haben auch versucht, ein bisschen die Firma rauszutragen,

42:49.320 --> 42:52.320
aber es war noch nicht so, dass es überall übergeschwappt ist.

42:52.320 --> 42:55.320
Wenn es sich dann aber immer mehr verbreitet

42:55.320 --> 42:57.320
und gerade die Leute, die damit gearbeitet haben,

42:57.320 --> 42:59.320
oh, jemand, der in das Team reingekommen ist,

42:59.320 --> 43:02.320
gesagt, oh, das ist viel einfacher zu verstehen für mich,

43:02.320 --> 43:05.320
dann hat man so einen langsamen Effekt,

43:05.320 --> 43:08.320
interessieren sich die anderen Teams dafür.

43:08.320 --> 43:11.320
Und mittlerweile sind wir im Zustand,

43:11.320 --> 43:14.320
wo es alle in der Firma wissen,

43:14.320 --> 43:17.320
aber nicht alle explizit anwenden.

43:17.320 --> 43:20.320
Da waren natürlich auch viele existierende Projekte da.

43:20.320 --> 43:23.320
Aber die Leute sind sehr aufgeschlossen,

43:23.320 --> 43:25.320
weil sie wissen, es funktioniert.

43:25.320 --> 43:27.320
Und die anderen sind begeistert davon.

43:27.320 --> 43:31.320
Und da hilft natürlich auch viel internes Teilen von Wissen.

43:31.320 --> 43:36.320
Also wir haben regelmäßig Tech-Lunches oder andere.

43:36.320 --> 43:39.320
Wir haben so Interessengruppen intern, die über so Sachen diskutieren.

43:39.320 --> 43:42.320
Da verteilt sich das Wissen zwischen den Leuten,

43:42.320 --> 43:44.320
die interessiert sind, extrem stark.

43:44.320 --> 43:48.320
Und so haben wir es dann immer weiter verbreitet.

43:48.320 --> 43:53.320
Und im Endeffekt, glaube ich, das größte Projekt war jetzt,

43:53.320 --> 43:57.320
dass wir alle unsere Produkte genommen haben,

43:57.320 --> 44:02.320
in mehreren Event-Stirming-Workstops durchgegangen sind,

44:02.320 --> 44:04.320
erst mal ganz oben und dann pro Produkt,

44:04.320 --> 44:06.320
um wirklich zu schauen,

44:06.320 --> 44:10.320
wie wollen wir unsere Teams und die ganze Software

44:10.320 --> 44:12.320
in Zukunft schneiden.

44:12.320 --> 44:17.320
Und haben in dem Prozess, der fast ein Jahr gedauert hat,

44:17.320 --> 44:19.320
aber mit dabei in der ganzen Firma,

44:19.320 --> 44:22.320
praktisch so ein Bild, da wollen wir hin.

44:22.320 --> 44:25.320
Natürlich ist das immer ein Idealbild.

44:25.320 --> 44:30.320
Aber wir haben jetzt praktisch so diesen Nordstern

44:30.320 --> 44:33.320
und alle wissen, okay, da geht es hin.

44:33.320 --> 44:37.320
Was auch viele Fragen dann im Alltag einfacher macht.

44:37.320 --> 44:39.320
Welches Team macht das jetzt?

44:39.320 --> 44:43.320
Wo gehört das Projekt in Zukunft hin und so weiter?

44:43.320 --> 44:46.320
Man merkt so, mit jedem Schritt kommt man dem Ganzen näher.

44:46.320 --> 44:49.320
Natürlich ist es halt eben auch nur so ein Momentaufnahme,

44:49.320 --> 44:53.320
und man wird es hin und wieder bearbeiten müssen.

44:53.320 --> 44:58.320
Aber man merkt dann schon, dass sich der ganze Aufwand dann lohnt.

44:58.320 --> 45:03.320
Und ich bin dann immer wieder begeistert, wenn ich sehe,

45:03.320 --> 45:06.320
wie schnell sich die Leute dann im Code so recht finden.

45:06.320 --> 45:11.320
Und gerade aktuell, wo ich selber quasi im Alltag keinen Code mehr schreibe,

45:11.320 --> 45:15.320
aber noch gerne Reviews mache oder mal Sachen nachschau,

45:15.320 --> 45:18.320
ist es natürlich auch für mich viel einfacher,

45:18.320 --> 45:21.320
wenn ich in den Code reingehe und weiß, okay, das ist die Struktur.

45:21.320 --> 45:24.320
Und wenn man den Fachbegriff weiß

45:24.320 --> 45:26.320
und einfach nur im Code nach dem Fachbegriff suchen muss,

45:26.320 --> 45:30.320
und man findet direkt die Logik dahinter.

45:30.320 --> 45:34.320
Was dann auch wieder hin dazu führt, dass das manchmal schneller ist,

45:34.320 --> 45:38.320
als es den Teamkollegen zu fragen.

45:38.320 --> 45:41.320
Na dann hat sich das aber schon richtig gelohnt.

45:41.320 --> 45:44.320
Ich denke, du hast gerade einen sehr wichtigen Punkt gesagt

45:44.320 --> 45:46.320
mit diesen Alltagsentscheidungen,

45:46.320 --> 45:51.320
die bestimmt vielen Leuten gar nicht so bewusst sind,

45:51.320 --> 45:54.320
die nicht täglich so dabei arbeiten oder dabei sind

45:54.320 --> 45:57.320
oder nicht diesen täglichen Entscheidungen treffen müssen.

45:57.320 --> 46:01.320
Und vielleicht den Personen, die diese ständigen Entscheidungen treffen müssen,

46:01.320 --> 46:06.320
gar nicht den freien Kopf jetzt dafür haben, sich zu überlegen,

46:06.320 --> 46:08.320
ist das nicht eigentlich doof, könnte man das nicht besser haben,

46:08.320 --> 46:11.320
wenn man ja dann im Tunnel ist und jetzt diese Antwort braucht.

46:11.320 --> 46:15.320
Aber ich glaube, immer dieses gemeinsame Ziel zu haben,

46:15.320 --> 46:17.320
kann schon sehr viel Zeit ersparen.

46:17.320 --> 46:22.320
Und ich kann mir vorstellen, dass so der ein oder die andere Hörer und Hörer

46:22.320 --> 46:27.320
sich denkt bei, wow, die hatten in ihrer Firma nicht nur einen,

46:27.320 --> 46:29.320
ich glaube, du hast das Event-Storming genannt,

46:29.320 --> 46:32.320
diesen ganzen Tag, wo die ganze Firma da war, so gefühlt,

46:32.320 --> 46:34.320
und dann sogar mehrere.

46:34.320 --> 46:36.320
Ja, wer hat denn da gearbeitet?

46:36.320 --> 46:38.320
Da geht ja nichts vorwärts.

46:38.320 --> 46:43.320
Aber du hast wahrscheinlich jetzt auch keine Zahlen hier einfach so rumliegen,

46:43.320 --> 46:45.320
aber du hättest schon das Gefühl,

46:45.320 --> 46:49.320
dass dieser eine Tag oder vielleicht diese drei Tage oder fünf Tage in Summe

46:49.320 --> 46:51.320
so viele Alltagsentscheidungen dann abgenommen hat,

46:51.320 --> 46:54.320
dass sich das auf jeden Fall schon rentiert hat.

46:54.320 --> 46:57.320
Genau, das ist dann eben bei so Sachen immer extrem schwer,

46:57.320 --> 47:01.320
das jetzt wirklich zu quantifizieren, was hat das jetzt wirklich gebracht.

47:01.320 --> 47:04.320
Vielleicht noch ein wichtiges bei diesen Event-Storming-Workshops,

47:04.320 --> 47:07.320
es ist ganz wichtig, dass nicht zu viele dabei sind.

47:07.320 --> 47:09.320
Was gerade bei den ersten extrem schwer war,

47:09.320 --> 47:14.320
wie finde ich die 15 Leute in der Firma, die dafür genau richtig sind,

47:14.320 --> 47:18.320
und wie kriegt das hin, dass alle die an einem Tag Zeit haben?

47:18.320 --> 47:21.320
Weil du nimmst natürlich gerade für die auf höhere Ebene,

47:21.320 --> 47:25.320
nimmst du dann die entscheidenden Leute, die das ganze Wissen haben, damit rein?

47:25.320 --> 47:27.320
Das war gar nicht so einfach.

47:27.320 --> 47:29.320
Was auch im Endeffekt dazu geführt hat,

47:29.320 --> 47:33.320
dass wir alle Remote durchgeführt haben.

47:33.320 --> 47:35.320
Also es war ursprünglich nicht der Plan,

47:35.320 --> 47:38.320
wir dachten, okay, es gibt doch besser, wenn alle im Büro sind,

47:38.320 --> 47:42.320
aber es hat sich halt eben dann doch als extrem schwierig herausgestellt,

47:42.320 --> 47:47.320
und dann haben wir meines Wissens nach alle Remote durchgeführt.

47:47.320 --> 47:51.320
Heutzutage mit dem ganzen Tooling ist ja auch kein Problem mehr.

47:51.320 --> 47:54.320
Es ist schon immer noch was anderes, man muss sich darauf einstellen,

47:54.320 --> 48:01.320
aber wie viele mittlerweile wissen, wenn nicht alle vor Ort sein können,

48:01.320 --> 48:05.320
muss man sich eher auf den einen oder mehrere Remote einstellen,

48:05.320 --> 48:08.320
und dann kann man es gleich komplett remote machen.

48:08.320 --> 48:11.320
Weil wenn dann die eine Hälfte am Whiteboard,

48:11.320 --> 48:15.320
die anderen in einem, was weiß ich nicht, was Board arbeiten,

48:15.320 --> 48:18.320
das ist ja nicht so einfach.

48:18.320 --> 48:22.320
Das führt meistens zu unschönen Situationen,

48:22.320 --> 48:26.320
dass entweder Krüppchen gebildet werden, die eh schon daraus bestehen,

48:26.320 --> 48:28.320
die einen sind remote, die anderen zu dem Büro,

48:28.320 --> 48:30.320
und nicht, wie es sich vielleicht sonst gegeben hätte.

48:30.320 --> 48:35.320
Und ganz schwierig finde ich es, wenn du nur eine Person nicht dabei hast.

48:35.320 --> 48:38.320
Ich war auch schon mal diese eine Person, das fühlt sich nicht so toll an.

48:38.320 --> 48:42.320
Da braucht man schon ein ganz tolles Team, das einen nicht vergisst.

48:42.320 --> 48:44.320
Was wir gemacht haben bei den Remote-Workshops,

48:44.320 --> 48:47.320
wir haben sie dann nicht an einem Tag gemacht.

48:47.320 --> 48:50.320
Wir haben dann zweimal vier Stunden gemacht an unterschiedlichen Tagen,

48:50.320 --> 48:55.320
weil wir dann einfach davon, also das war die Erfahrung von unserem Trainer,

48:55.320 --> 49:00.320
dass der gesagt hat, okay, das ist Remote einfach besser,

49:00.320 --> 49:03.320
und das hat bei unseren auch gut funktioniert.

49:03.320 --> 49:06.320
Ein sehr guter Punkt, den du auch sagst,

49:06.320 --> 49:10.320
jemanden dazu holen, Trainer, eine Trainerin,

49:10.320 --> 49:13.320
die vielleicht schon viel Erfahrung in dem Teilbereich haben,

49:13.320 --> 49:16.320
auch wenn man selber vielleicht die Theorie kennt,

49:16.320 --> 49:19.320
auch wenn da nochmal eine externe Person dabei ist,

49:19.320 --> 49:23.320
kann ich mir vorstellen, dass das natürlich auch nochmal einen gewissen Impact hat

49:23.320 --> 49:26.320
für die Teilnehmerinnen und Teilnehmer.

49:26.320 --> 49:30.320
Und vor allem, man steckt halt selber ja auch irgendwie immer in den Details drin

49:30.320 --> 49:33.320
und möchte seinen Wissen mit dazu beitragen.

49:33.320 --> 49:36.320
Und gleichzeitig den Prozess durchzuführen,

49:36.320 --> 49:38.320
ich glaube, das kennen wir irgendwie alle aus Workshops,

49:38.320 --> 49:41.320
es ist manchmal nicht so einfach.

49:41.320 --> 49:46.320
Und allein eine Person zu haben, die sagt, okay, ich habe das schon mal gemacht,

49:46.320 --> 49:51.320
und wir machen das einfach so und ihr haltet euch alle an die Regeln,

49:51.320 --> 49:55.320
das ist schon mal extrem viel wert.

49:55.320 --> 49:58.320
Und natürlich, was ich auch gelernt habe,

49:58.320 --> 50:02.320
jemanden, der sich halt eben mit dem ganzen Tooling dann gut auskennt

50:02.320 --> 50:06.320
und auch weiß, wie man sowas vorbereitet, nacharbeitet

50:06.320 --> 50:10.320
und dann auch sagt, okay, das sind jetzt die nächsten Schritte

50:10.320 --> 50:14.320
oder ich empfehle euch jetzt, in die Leute einzuladen.

50:14.320 --> 50:16.320
Das ist dann schon extrem viel wert,

50:16.320 --> 50:20.320
einfach diese Erfahrung, die dann jemand mitbringen kann

50:20.320 --> 50:22.320
und hat uns auch sehr geholfen.

50:22.320 --> 50:25.320
Ja, ansonsten kann ich mir vorstellen, dass das schon sehr schwierig sein könnte,

50:25.320 --> 50:29.320
jetzt den Anfang zu finden, wenn man gar niemand mit Erfahrung da hat

50:29.320 --> 50:31.320
und vielleicht ist dann eher dazu führt,

50:31.320 --> 50:35.320
dass man lieber mal gar nicht anfängt, bevor man es dann falsch macht.

50:35.320 --> 50:39.320
Da würden mir sogar auch wirklich ein paar Beispiele aus meinem Leben einfallen.

50:39.320 --> 50:43.320
Ich glaube, ich hatte mal so einen kurzen Exkurs zu Ramda.js.

50:43.320 --> 50:45.320
Hätte man in dem Projekt auch wirklich nicht...

50:45.320 --> 50:47.320
Das hat jetzt wenig mit Ramda selber zu tun,

50:47.320 --> 50:50.320
aber es war einfach so eine Person, war stark dafür.

50:50.320 --> 50:52.320
Die anderen hatten keine Meinung

50:52.320 --> 50:55.320
und dann gab es niemanden, der oder die dafür gesorgt hat,

50:55.320 --> 50:56.320
wie man das jetzt so angeht.

50:56.320 --> 51:01.320
Und das heißt halt wirklich, da war diese Datei mit Ramda geschrieben, diese ohne.

51:01.320 --> 51:03.320
Jetzt sollte man da mal einen Backfixen,

51:03.320 --> 51:07.320
kann nur die eine Person, weil die hat das geschrieben, das kann ich nicht lesen.

51:07.320 --> 51:09.320
Also es gibt ja wirklich so Negativbeispiele,

51:09.320 --> 51:11.320
dass man vielleicht lieber gar nicht anfängt,

51:11.320 --> 51:14.320
wenn man es nicht richtig durchsetzt.

51:14.320 --> 51:17.320
Ansonsten, ich glaube, du hast was sehr kluges gesagt,

51:17.320 --> 51:21.320
mit dem, dass man immer lernt, dass es beim ersten Mal nie richtig ist

51:21.320 --> 51:23.320
und dass es auch okay ist,

51:23.320 --> 51:25.320
weil ich möchte eigentlich nochmal auf diesem Punkt gerade,

51:25.320 --> 51:28.320
von gerade eben eingehen, dieses gemeinsame Ziel

51:28.320 --> 51:31.320
und was du gerade gemeint hattest mit, man hält dir jetzt an die Regeln.

51:31.320 --> 51:34.320
Für mich müssen es nicht immer die perfekten,

51:34.320 --> 51:37.320
die eine richtigen, komplett richtigen Regeln sein

51:37.320 --> 51:41.320
oder das perfekte Ziel, auf das man hinarbeitet.

51:41.320 --> 51:45.320
Aber einfach so wenig Ablenkung wie möglich zu haben,

51:45.320 --> 51:48.320
dass man vielleicht sagt, nach drei Monaten

51:48.320 --> 51:51.320
jetzt fällt uns auf, das aktuelle Ziel passt gerade nicht.

51:51.320 --> 51:53.320
Wir ändern jetzt irgendwie die Richtung.

51:53.320 --> 51:55.320
Es passt gerade nicht mehr wie die Module aufbauen,

51:55.320 --> 51:57.320
wir bauen sie ein bisschen anders auf.

51:57.320 --> 51:59.320
Aber in dieser Zwischenzeit wussten alle,

51:59.320 --> 52:02.320
nach welchen Regeln man hier gerade arbeitet

52:02.320 --> 52:06.320
und hat da sehr viel Zeit vielleicht durchgespart.

52:06.320 --> 52:08.320
Was ich mich gerade noch frage,

52:08.320 --> 52:11.320
wir haben ein bisschen Reunitests und so was angesprochen

52:11.320 --> 52:13.320
und auch diese Code Reviews leichter zu verstehen,

52:13.320 --> 52:17.320
weil man als komplett externe Person den Code besser lesen kann.

52:17.320 --> 52:21.320
Denkst du, dass der Code auch vielleicht sogar sicherer werden kann,

52:21.320 --> 52:23.320
vielleicht freier von Bucksugar,

52:23.320 --> 52:25.320
weil man irgendwie das Klare strukturieren kann,

52:25.320 --> 52:29.320
klarer trennen kann, weniger drumrum schreiben muss.

52:29.320 --> 52:32.320
Jetzt habe ich da noch einen Fall vergessen.

52:32.320 --> 52:35.320
Jetzt mache ich hier noch so ein If-Check mit rein.

52:35.320 --> 52:38.320
Ja, es ist natürlich jetzt schwer zu quantifizieren.

52:38.320 --> 52:44.320
Ich habe eben gesagt, dass wir mit dem Broker das erste große Projekt hatten

52:44.320 --> 52:47.320
und auch sehr ambitionierte Projekt.

52:47.320 --> 52:49.320
Wir hatten natürlich ein bestehendes System,

52:49.320 --> 52:51.320
auf dem wir aufsetzen konnten,

52:51.320 --> 52:53.320
muss aber trotzdem sehr viel neu bauen

52:53.320 --> 52:56.320
und haben es im Endeffekt mit dem vollen Team

52:56.320 --> 53:01.320
dann von Dezember bis ungefähr Juni fertig gebaut.

53:01.320 --> 53:06.320
Natürlich ist natürlich immer ein ganz fertiges Projekt nie,

53:06.320 --> 53:10.320
aber wir sind dann wirklich für den Entkunden live gegangen

53:10.320 --> 53:13.320
und es gibt ja normalerweise immer diese Phase,

53:13.320 --> 53:16.320
wir lassen jetzt die Leute intern, die Mitarbeiter,

53:16.320 --> 53:18.320
schon als Kunden drauf

53:18.320 --> 53:22.320
und es gab extrem wenig, was da wirklich schief gelaufen ist

53:22.320 --> 53:25.320
und das kenne ich sonst auch anders,

53:25.320 --> 53:29.320
weil gerade bei so komplexer Logik

53:29.320 --> 53:31.320
ist die oftmals über das ganze System verteilt

53:31.320 --> 53:34.320
und nur noch schwer irgendwo zu verstehen.

53:34.320 --> 53:37.320
Und früher, als wir damit angefangen waren,

53:37.320 --> 53:39.320
das habe ich wirklich für Logik in meinem System,

53:39.320 --> 53:41.320
das ist doch gar nicht so komplex gemacht,

53:41.320 --> 53:43.320
das sind das überhaupt in eine Ebene rauszuziehen

53:43.320 --> 53:48.320
und hier war es nachher so, ja, es ist doch extrem viel Logik

53:48.320 --> 53:51.320
und es hat uns ganz viel einfacher gemacht,

53:51.320 --> 53:55.320
diese Logik wirklich so zu schreiben,

53:55.320 --> 53:57.320
dass sie alle nachvollziehen konnten

53:57.320 --> 54:00.320
und dadurch auch fehlerfrei war.

54:00.320 --> 54:02.320
Ich würde sogar so weit gehen,

54:02.320 --> 54:04.320
dass ein Teil von einem Code

54:04.320 --> 54:05.320
man auch in einem Nichtprogrammierer

54:05.320 --> 54:07.320
mittlerweile einfach geben kann

54:07.320 --> 54:10.320
und er so grob versteht, was da für Logik drin ist,

54:10.320 --> 54:12.320
weil es einfach so benannt ist

54:12.320 --> 54:18.320
und zum Beispiel, was für Aktien besitzt sich gerade?

54:18.320 --> 54:21.320
Es gibt einfach eine klasse Inventar.

54:21.320 --> 54:24.320
Ein Teil davon wird live berechnet,

54:24.320 --> 54:29.320
ein Teil besteht aus dem, was am Ende des Tages passiert ist,

54:29.320 --> 54:32.320
aber diese Logik, die das zusammengeführt wird,

54:32.320 --> 54:34.320
die geht alles von einer Klasse aus

54:34.320 --> 54:38.320
und man kann das wirklich Schritt für Schritt nachvollziehen

54:38.320 --> 54:41.320
und dadurch, dass dann wirklich keine Infrastruktur,

54:41.320 --> 54:44.320
keine Datenbank, keine API oder so was drin ist,

54:44.320 --> 54:46.320
ist das auch gar nicht so viel Code.

54:46.320 --> 54:48.320
Der andere Aspekt mit der Sicherheit

54:48.320 --> 54:50.320
hatte ich vorher schon mal angeschnitten,

54:50.320 --> 54:51.320
dass man halt eben,

54:51.320 --> 54:54.320
dadurch die Automatikvalidierung drin hat.

54:54.320 --> 54:56.320
Das heißt, es ist eine ID, wo man sagt,

54:56.320 --> 55:00.320
die hat die Rackax oder die Länge,

55:00.320 --> 55:02.320
irgendwelche Zahlen oder sowas,

55:02.320 --> 55:04.320
die dann irgendwelche Constraints haben.

55:04.320 --> 55:07.320
Das kann man direkt alles mit einbauen.

55:07.320 --> 55:10.320
Genau, ich habe ein super Beispiel,

55:10.320 --> 55:14.320
dass aus dem Code Performance Broker live gegangen sind,

55:14.320 --> 55:18.320
Wort war es in der Datenbank geändert von einem Script.

55:18.320 --> 55:20.320
Also nicht über unsere Software,

55:20.320 --> 55:23.320
sondern es war praktisch ein Backgefix über ein Script.

55:23.320 --> 55:25.320
Dann hat die Software das versucht,

55:25.320 --> 55:27.320
aus der Datenbank zu laden

55:27.320 --> 55:30.320
und hat direkt die Kreative gesagt, nee.

55:30.320 --> 55:33.320
Und zwar hat unsere Validierung direkt gesagt

55:33.320 --> 55:35.320
in der Domain-Ebene,

55:35.320 --> 55:38.320
das ist keine valide Kundennummer.

55:38.320 --> 55:40.320
Und da war wirklich dann,

55:40.320 --> 55:42.320
hat ein Zeichen gefehlt in der Datenbank.

55:42.320 --> 55:44.320
Ohne diese Validierung,

55:44.320 --> 55:47.320
also wer validiert was, was ich aus der Datenbank lade.

55:47.320 --> 55:49.320
Ohne diese Validierung

55:49.320 --> 55:52.320
hätten wir das so komplett durch

55:52.320 --> 55:54.320
ans externen System geschickt

55:54.320 --> 55:57.320
und es wäre viel, viel später aufgefallen.

55:57.320 --> 56:00.320
Also da gibt es schon so einige Beispiele,

56:00.320 --> 56:03.320
wo es uns sehr geholfen hat.

56:03.320 --> 56:07.320
Und wo die Fehler einfach viel, viel früher dann auffallen.

56:07.320 --> 56:11.320
Heißt natürlich auch an ein paar Stellen mehr Arbeit,

56:11.320 --> 56:14.320
man muss sich dann immer Gedanken machen, was mache ich hier.

56:14.320 --> 56:18.320
Aber statt jetzt zum Beispiel

56:18.320 --> 56:21.320
alle Intagers in meinem System zusammenzusuchen,

56:21.320 --> 56:25.320
wenn jemand sagt, passt die Rundung an von dem, dem Betrag,

56:25.320 --> 56:27.320
hat man halt eben nicht Intagers,

56:27.320 --> 56:29.320
sondern hat einen konkreten Begriff.

56:29.320 --> 56:32.320
Dann heißt es jetzt nicht mehr Intagers,

56:32.320 --> 56:35.320
das ist jetzt zum Beispiel, das sind meine Zinsen.

56:35.320 --> 56:38.320
Und auf einmal kann ich über die IDE sagen,

56:38.320 --> 56:41.320
ich habe mehr überall, wo ich Zinsen verwende im System zusammen

56:41.320 --> 56:44.320
und kann die dann alle zusammen auch anpassen.

56:44.320 --> 56:49.320
Den einen Punkt, den du noch angesprochen hattest,

56:49.320 --> 56:53.320
war, dass man hat quasi die Kommunikation

56:53.320 --> 56:57.320
in der Software, die man auch in der Firma hat.

56:57.320 --> 57:00.320
Und da habe ich noch die kleine Anekdote dazu,

57:00.320 --> 57:03.320
dass ich das genau so erlebt habe bei dem Projekt,

57:03.320 --> 57:05.320
dass ich hierhin und wieder mal erwähne,

57:05.320 --> 57:08.320
dass auf Microfrontens aufgebaut war.

57:08.320 --> 57:11.320
Aber das war eben erstmal so ein Proof-of-Konzept.

57:11.320 --> 57:13.320
Das heißt, wir wollen erstmal schauen,

57:13.320 --> 57:16.320
das ist in den Microfrontens wirklich das Richtige dafür.

57:16.320 --> 57:18.320
Also haben wir einen wirklich sehr kleinen,

57:18.320 --> 57:22.320
eigentlich gutes Team, aber sehr klein draufgesetzt.

57:22.320 --> 57:26.320
Und es ist uns irre schwer gefallen,

57:26.320 --> 57:30.320
uns selbst als 40-Personen-Team anzusehen und so zu denken,

57:30.320 --> 57:32.320
weil wir hatten zwar Microfrontens.

57:32.320 --> 57:36.320
Und ja, die hatten schon irgendwie so einen Post-Message-Spaß,

57:36.320 --> 57:39.320
über den sie dann kommuniziert haben.

57:39.320 --> 57:43.320
Aber wenn man sich das einfach mal ein bisschen objektiv angeschaut hat,

57:43.320 --> 57:45.320
von oben, war das so, ja, wir hätten das auch alles zusammen

57:45.320 --> 57:47.320
in einem Repo schreiben können.

57:47.320 --> 57:49.320
Also das spricht ja alles mit allem.

57:49.320 --> 57:52.320
Ob das jetzt über ein Message-Spaß über eine Property ist.

57:52.320 --> 57:55.320
Okay, aber nur weil wir jetzt über ein Message-Spaß kommunizieren,

57:55.320 --> 57:59.320
macht das Ding immer noch nicht unabhängig,

57:59.320 --> 58:03.320
dass die eben die verschiedenen Microfrontens oder auf Services wie auch immer,

58:03.320 --> 58:07.320
dann wirklich so abhängig voneinander waren,

58:07.320 --> 58:10.320
dass dieses Prinzip nicht mehr Sinn gemacht hat.

58:10.320 --> 58:14.320
Aber habt ihr dann tatsächlich die Teamstruktur geändert

58:14.320 --> 58:17.320
nach diesen Events-Dorming-Sessions und gesagt,

58:17.320 --> 58:19.320
wir bauen das jetzt anders auf,

58:19.320 --> 58:22.320
sodass das eher für das Produkt oder für die Software passt?

58:22.320 --> 58:25.320
Ja, also natürlich Schritt für Schritt.

58:25.320 --> 58:28.320
So eine Änderung ist nie einfach.

58:28.320 --> 58:30.320
Aber wir haben dann wirklich,

58:30.320 --> 58:34.320
wir haben intern in der Engineering-Abteilung Stripes,

58:34.320 --> 58:36.320
die dann aus mehreren Teams bestehen

58:36.320 --> 58:41.320
und wir haben wirklich Teams zwischen den Stripes verschoben.

58:41.320 --> 58:45.320
Teams, neue Aufgaben, neu benannt.

58:45.320 --> 58:48.320
Was oftmals dann so, also wir haben geguckt,

58:48.320 --> 58:50.320
dass die Änderungen nie zu groß waren.

58:50.320 --> 58:53.320
Aber dann auch immer, wenn irgendeine Änderung anstand

58:53.320 --> 58:55.320
oder wenn irgendwie wieder die Frage war,

58:55.320 --> 58:57.320
okay, wie gehen wir da jetzt weiter vor,

58:57.320 --> 59:01.320
hat man sich dann schon, okay, wie passt das jetzt ins ganze Bild?

59:01.320 --> 59:05.320
Und dann schon Schritt für Schritt das so angepasst.

59:05.320 --> 59:10.320
Und es gibt natürlich dann eben auch Sonderaufgaben.

59:10.320 --> 59:12.320
Also wir haben praktisch Teams,

59:12.320 --> 59:14.320
die als Plattform Teams drunter arbeiten

59:14.320 --> 59:18.320
und sich um gewisse Infrastruktur-Themen kümmern.

59:18.320 --> 59:21.320
Das passt aber auch in unser Bild.

59:21.320 --> 59:23.320
Also da haben wir auch gesagt, okay,

59:23.320 --> 59:28.320
da kann man sich dann um gewisse Themen der Infrastruktur,

59:28.320 --> 59:31.320
Developer Experience oder andere Themen,

59:31.320 --> 59:34.320
die alle Teams betreffen.

59:34.320 --> 59:40.320
Aber dann gerade, ich glaube, ein interessantes Thema war bei uns,

59:40.320 --> 59:43.320
die Produkte, das ist noch mit das Einfachste.

59:43.320 --> 59:45.320
Also wir haben als Hauptprodukte den Broker

59:45.320 --> 59:47.320
und die Vermögensverwaltung,

59:47.320 --> 59:52.320
wobei die sich ja auch gerne co-teilen macht der Sinn.

59:52.320 --> 59:54.320
Wir haben die Linie klarer zu ziehen,

59:54.320 --> 59:56.320
aber der Hauptgewinn war,

59:56.320 --> 59:59.320
wirklich den Kunden raus zu ziehen

59:59.320 --> 01:00:04.320
und zu sagen, okay, Broker und die Vermögensverwaltung teilen sich einen Kunden

01:00:04.320 --> 01:00:06.320
und es gibt ganz, ganz viele Sachen,

01:00:06.320 --> 01:00:08.320
die passieren auf dem Kunden

01:00:08.320 --> 01:00:11.320
und haben jetzt erstmal nichts mit dem Produkt zu tun

01:00:11.320 --> 01:00:14.320
und das klarer zu definieren.

01:00:14.320 --> 01:00:17.320
Das ist einer der Hauptgewinne jetzt bei uns,

01:00:17.320 --> 01:00:20.320
weil das war vorher, ja, da passiert was aus dem Kunden

01:00:20.320 --> 01:00:22.320
und es gab aber jetzt kein Team,

01:00:22.320 --> 01:00:24.320
was so explizit dafür zuständig war

01:00:24.320 --> 01:00:27.320
und da haben wir jetzt gleich mehrere Teams,

01:00:27.320 --> 01:00:30.320
die sich daran fokussieren.

01:00:30.320 --> 01:00:33.320
Aber es ist natürlich immer ein Prozess,

01:00:33.320 --> 01:00:35.320
wo man so Schritt für Schritt hingeht,

01:00:35.320 --> 01:00:38.320
weil jetzt einfach die Teams umbenennen

01:00:38.320 --> 01:00:40.320
und den neuen Aufgaben geben,

01:00:40.320 --> 01:00:42.320
machen wir auch erst mal Chaos,

01:00:42.320 --> 01:00:44.320
weil sie haben bestehende Software,

01:00:44.320 --> 01:00:46.320
um die sie sich kümmern müssen.

01:00:46.320 --> 01:00:49.320
Da muss man aufgucken, wie geht das jetzt weiter.

01:00:49.320 --> 01:00:54.320
Und natürlich hat das auch seine Kosten,

01:00:54.320 --> 01:00:56.320
wenn man jetzt Teams umbenennen,

01:00:56.320 --> 01:00:59.320
verschiebt, andere Aufgaben gibt.

01:00:59.320 --> 01:01:03.320
Aber das habe ich bei uns früh gelernt,

01:01:03.320 --> 01:01:07.320
wenn man nie anfängt, wird es auch nie zu Ende

01:01:07.320 --> 01:01:10.320
und selbst in der kleineren Firma können

01:01:10.320 --> 01:01:13.320
gewisse Migrationen ewig dauern.

01:01:13.320 --> 01:01:15.320
Aber es gibt so viele Sachen,

01:01:15.320 --> 01:01:17.320
die wir irgendwann angefangen haben

01:01:17.320 --> 01:01:19.320
und nicht angefangen hätten,

01:01:19.320 --> 01:01:21.320
wenn wir es jetzt bitter bereuen.

01:01:21.320 --> 01:01:23.320
Es ist natürlich nicht alles perfekt,

01:01:23.320 --> 01:01:26.320
aber da gibt es schon sehr, sehr viele Sachen,

01:01:26.320 --> 01:01:30.320
die so ständig in Bewegung sind.

01:01:30.320 --> 01:01:34.320
Also ich rede gerade auch gegen Big Bang Migrationen.

01:01:34.320 --> 01:01:38.320
Man kann fast alles irgendwie so schleichend machen.

01:01:38.320 --> 01:01:40.320
Man muss halt eben aufpassen,

01:01:40.320 --> 01:01:43.320
dass es dann kontinuierlich iterativ passiert.

01:01:43.320 --> 01:01:45.320
Sonst hat man eine Migration,

01:01:45.320 --> 01:01:49.320
und hat dann den einen Teil vom System,

01:01:49.320 --> 01:01:50.320
der das alte System verwendet,

01:01:50.320 --> 01:01:52.320
den anderen Teil, der das neue verwendet

01:01:52.320 --> 01:01:56.320
und dann nicht wirklich viel gewonnen.

01:01:56.320 --> 01:01:58.320
Das gibt es leider auch.

01:01:58.320 --> 01:02:00.320
Ich würde an dem Punkt sagen,

01:02:00.320 --> 01:02:03.320
wir haben jetzt viele Einblicke auf jeden Fall bekommen

01:02:03.320 --> 01:02:07.320
zum Thema Event-Trip-Design

01:02:07.320 --> 01:02:09.320
und wie man das auch umsetzen kann.

01:02:09.320 --> 01:02:11.320
Kannst du vielleicht nochmal ganz kurz sagen,

01:02:11.320 --> 01:02:14.320
was sind so deine Key-Takeaways,

01:02:14.320 --> 01:02:17.320
warum sollte man jetzt anfangen

01:02:17.320 --> 01:02:19.320
mit Event-Triven-Architecture

01:02:19.320 --> 01:02:21.320
noch mal so als Summary,

01:02:21.320 --> 01:02:25.320
wenn man das jetzt noch nicht in Betracht gezogen hat

01:02:25.320 --> 01:02:27.320
für seine Software?

01:02:27.320 --> 01:02:29.320
Wir sprechen eigentlich von Domain-Triven,

01:02:29.320 --> 01:02:32.320
aber Event-Triven ist auch oft nah dran.

01:02:32.320 --> 01:02:35.320
Es fließen extrem viele Sachen zusammen,

01:02:35.320 --> 01:02:37.320
also auch hexagonale Architektur.

01:02:37.320 --> 01:02:41.320
Das muss ich jetzt nicht zwangshaliger mit Domain-Triven-Design verwenden,

01:02:41.320 --> 01:02:44.320
aber es lässt sich heutzutage ja alles irgendwie,

01:02:44.320 --> 01:02:47.320
weil die meisten sinnvollen Sachen sich ja doch irgendwie

01:02:47.320 --> 01:02:49.320
sinnvoll kommunieren lassen,

01:02:49.320 --> 01:02:51.320
sie ließ das so zusammen

01:02:51.320 --> 01:02:54.320
und in Kombination entfaltet sie es eben noch mehr.

01:02:54.320 --> 01:02:57.320
Wieso sollte man das Ganze verwenden?

01:02:57.320 --> 01:03:02.320
Für mich hat es extrem viele Themen

01:03:02.320 --> 01:03:06.320
oder Sachen erschlagen, die ich über meine Software-Entwickler-Karriere

01:03:06.320 --> 01:03:09.320
so erlebt habe, wo ich früher immer davor schon,

01:03:09.320 --> 01:03:11.320
wie gehört jetzt der Code hin?

01:03:11.320 --> 01:03:13.320
Wie passt es hier zusammen?

01:03:13.320 --> 01:03:15.320
Wo finde ich das im Code?

01:03:15.320 --> 01:03:17.320
Es ist einfach super zu sehen,

01:03:17.320 --> 01:03:20.320
wenn jetzt ein neuer Entwickler ins Team kommt.

01:03:20.320 --> 01:03:25.320
Man erklärt ihm, es gibt diese Schichten im Code

01:03:25.320 --> 01:03:27.320
und da ist die Logik drin

01:03:27.320 --> 01:03:29.320
und das ist genauso benannt wie das Business.

01:03:29.320 --> 01:03:31.320
Das heißt, wenn der Product Owner sagt,

01:03:31.320 --> 01:03:34.320
einer was an X, Y, dann kannst du da reingucken

01:03:34.320 --> 01:03:36.320
und du siehst, das funktioniert einfach.

01:03:36.320 --> 01:03:39.320
Das heißt einfach diese Entwicklergeschwindigkeit

01:03:39.320 --> 01:03:41.320
und dieses Verständnis.

01:03:41.320 --> 01:03:43.320
Das ist einfach extrem viel wert,

01:03:43.320 --> 01:03:45.320
wenn der Code einfach zu verstehen ist.

01:03:45.320 --> 01:03:47.320
Die Leute wissen, wo was zu finden ist.

01:03:47.320 --> 01:03:50.320
Dadurch wird man insgesamt schneller.

01:03:50.320 --> 01:03:52.320
Die Entwickler sind zufriedener.

01:03:52.320 --> 01:03:55.320
Man ist seltener frustriert von dem Berg an Code.

01:03:55.320 --> 01:03:58.320
Es ist natürlich, das kann auch wachsen,

01:03:58.320 --> 01:04:01.320
aber es fühlt sich nicht so schlimm an.

01:04:01.320 --> 01:04:04.320
Und dann halt eben auch auf Business-Ebene,

01:04:04.320 --> 01:04:07.320
das Team macht jetzt die Aufgabe, wo gehört das hin?

01:04:07.320 --> 01:04:10.320
Also viele von den Sachen lässt sich einfach viel einfacher erklären.

01:04:10.320 --> 01:04:13.320
Und wenn man das in so einem Konstrukt drin hat,

01:04:13.320 --> 01:04:16.320
ist auch einfach alles zu verstehen.

01:04:16.320 --> 01:04:20.320
Und ganz wichtig, man bringt damit auch die Leute zusammen.

01:04:20.320 --> 01:04:24.320
Sonst hat man ja gerne in Firmen irgendwelche Meuschen

01:04:24.320 --> 01:04:28.320
zwischen den Entwicklern und irgendwelchen Fachbereichen,

01:04:28.320 --> 01:04:30.320
die dann von unterschiedlichen Sachen reden

01:04:30.320 --> 01:04:33.320
und so bringt man die Leute auch näher zusammen.

01:04:33.320 --> 01:04:35.320
Vielleicht dann noch ein wichtiges Thema.

01:04:35.320 --> 01:04:39.320
Ich hatte beim Bounded Context und ihr bündigt das Language schon erwähnt,

01:04:39.320 --> 01:04:42.320
man kann unterschiedliche Sprachen haben.

01:04:42.320 --> 01:04:44.320
Und das ist kein Problem,

01:04:44.320 --> 01:04:48.320
weil zum Beispiel der Vertrieb, was der in einem Kunden sieht,

01:04:48.320 --> 01:04:51.320
kann was ganz anderes sein als der Kundenservice

01:04:51.320 --> 01:04:54.320
oder praktisch die Produktabteilung davon sieht.

01:04:54.320 --> 01:04:57.320
Und deswegen ist es oft wie für sinnvoller,

01:04:57.320 --> 01:05:01.320
nicht praktisch nur den einen Kunden im System zu haben,

01:05:01.320 --> 01:05:04.320
sondern mehrere Sichten auf den Kunden.

01:05:04.320 --> 01:05:07.320
Zum Beispiel im Customer Relations Management Tool,

01:05:07.320 --> 01:05:10.320
dass man dann da ein anderes Modell vom Kunden hat

01:05:10.320 --> 01:05:13.320
und nicht versucht, zwangsweise alles,

01:05:13.320 --> 01:05:16.320
was irgendwo über einen Kunden gehört, zusammenzuführen.

01:05:16.320 --> 01:05:19.320
Also dass man da auch unterschiedliche Sprachen haben kann,

01:05:19.320 --> 01:05:21.320
unterschiedlichen Bereichen

01:05:21.320 --> 01:05:24.320
und dann teilweise auch dazwischen übersetzen muss.

01:05:24.320 --> 01:05:27.320
Also dass diese ubiquitous Language nicht heißt,

01:05:27.320 --> 01:05:30.320
man muss zwangsweise alles auf ein Modell runterbrechen.

01:05:30.320 --> 01:05:33.320
Natürlich, wenn ich jetzt in einem Produkt trete,

01:05:33.320 --> 01:05:35.320
ist es normalerweise die gleiche Sprache,

01:05:35.320 --> 01:05:38.320
aber so ein Unternehmen hat ja ganz viele Bereiche

01:05:38.320 --> 01:05:41.320
und die haben oftmals ganz andere Anforderungen

01:05:41.320 --> 01:05:45.320
und das hilft natürlich auch, die zu verstehen.

01:05:45.320 --> 01:05:48.320
Das heißt, aus Entwicklersicht würde ich sagen,

01:05:48.320 --> 01:05:50.320
glücklichere Entwickler.

01:05:50.320 --> 01:05:54.320
Also das, was sich die Entwickler normalerweise wünschen,

01:05:54.320 --> 01:05:58.320
man kommt im Code so recht, kann schneller was entwickeln,

01:05:58.320 --> 01:06:01.320
sieht schneller, hey, meine Änderung ist live.

01:06:01.320 --> 01:06:04.320
Das macht Freude.

01:06:04.320 --> 01:06:07.320
Und glückliche Devs sind ja schnelle Features.

01:06:07.320 --> 01:06:09.320
Nicht wahr?

01:06:09.320 --> 01:06:11.320
Ja.

01:06:11.320 --> 01:06:15.320
Du hattest jetzt in und wieder mal so ein Buch erwähnt,

01:06:15.320 --> 01:06:19.320
welche Ressourcen auf Deutsch,

01:06:19.320 --> 01:06:21.320
heißt das Ressourcen auf Deutsch, ich glaube schon.

01:06:21.320 --> 01:06:24.320
Also welche Links hast du denn eigentlich für uns mitgebracht?

01:06:24.320 --> 01:06:27.320
Was sollte man jetzt so nochmal lesen

01:06:27.320 --> 01:06:31.320
und sich anschauen, wenn man dieses Thema nochmal tiefer einsteigen möchte?

01:06:31.320 --> 01:06:35.320
Genau, da gibt es mittlerweile unendlich viel.

01:06:35.320 --> 01:06:39.320
Das Ursprungsbuch ist nicht ganz einfach zu lesen.

01:06:39.320 --> 01:06:42.320
Ich habe es nie von A bis Z gelesen.

01:06:42.320 --> 01:06:44.320
So eine Bibel.

01:06:44.320 --> 01:06:46.320
Ja, das wird auch der Big Club Buch genannt.

01:06:46.320 --> 01:06:48.320
Das ist das Domain-Trip und Design,

01:06:48.320 --> 01:06:51.320
Tackling-Complexity in the Heart of Software von Eric Evans.

01:06:51.320 --> 01:06:53.320
Das ist schon der ganze Titel.

01:06:53.320 --> 01:06:55.320
Ah, ja, ja, das ist ja.

01:06:55.320 --> 01:07:01.320
Das Buch ist gut, aber es sagt einem jetzt nicht unbedingt,

01:07:01.320 --> 01:07:05.320
okay, das heißt jetzt das für dich.

01:07:05.320 --> 01:07:09.320
Weil man überlegt sich dann, okay,

01:07:09.320 --> 01:07:14.320
ja, es sind keine Codebeispiele, also es ist auf abstrakter Ebene

01:07:14.320 --> 01:07:16.320
und es ist jetzt nicht, ich mach mal,

01:07:16.320 --> 01:07:19.320
so macht man das im letzten Reakt, so macht man das in Kotlin

01:07:19.320 --> 01:07:22.320
oder mit dem Spring Framework oder mit der Bibliothek oder sowas.

01:07:22.320 --> 01:07:25.320
Ich habe es nachher als Nachschlagewerk verwendet.

01:07:25.320 --> 01:07:30.320
Eines der besten Bücher war dann erstaunlicherweise,

01:07:30.320 --> 01:07:32.320
leider auch ein langer Titel,

01:07:32.320 --> 01:07:36.320
Patterns, Principles and Practices of the Man-Triven Design.

01:07:36.320 --> 01:07:39.320
Die Beispiele sind in C-Sharp.

01:07:39.320 --> 01:07:42.320
Habe ich zwar auch mal was zum Programmiert,

01:07:42.320 --> 01:07:46.320
war jetzt aber auch nicht so wichtig, aber es gibt praktische Beispiele

01:07:46.320 --> 01:07:49.320
und das Buch ist erstaunlich ehrlich.

01:07:49.320 --> 01:07:52.320
Es gibt Punkte, wo man sich, also wirklich so, du fragst ja,

01:07:52.320 --> 01:07:53.320
wie mache ich das jetzt?

01:07:53.320 --> 01:07:56.320
Und dann liest man den Buch nach und da steht genau die Frage drin

01:07:56.320 --> 01:07:59.320
und dann steht drin die Community diskutiert darüber

01:07:59.320 --> 01:08:00.320
und es gibt zwei Ansichten.

01:08:00.320 --> 01:08:03.320
Hier sind die beiden Ansichten, such dir eine aus.

01:08:03.320 --> 01:08:05.320
Ja, das finde ich aber gut.

01:08:05.320 --> 01:08:07.320
Ich bin immer kein Fan davon, gerade wenn es jetzt, wie gesagt,

01:08:07.320 --> 01:08:09.320
Microfondens hatte ich das Thema

01:08:09.320 --> 01:08:12.320
und ich habe eben auch einige Talks darüber gesehen natürlich,

01:08:12.320 --> 01:08:14.320
weil ich mich ja informieren musste

01:08:14.320 --> 01:08:16.320
und wenn da nur die gute Seite dargestellt wird,

01:08:16.320 --> 01:08:19.320
dann rennt man eben eher in diese Probleme rein und weiß dann nicht,

01:08:19.320 --> 01:08:20.320
was es zu tun ist.

01:08:20.320 --> 01:08:22.320
Mir hat es auch eher geholfen, als Nia mal gesagt wird,

01:08:22.320 --> 01:08:24.320
ja, also dieses Problem wird auf jeden Fall auf dich zukommen.

01:08:24.320 --> 01:08:26.320
Und jetzt kannst du schon mal darüber nachdenken,

01:08:26.320 --> 01:08:29.320
du hast die zwei Lösungsansätze, wir wissen nicht, was besser ist,

01:08:29.320 --> 01:08:31.320
aber eins davon geht schon irgendwie.

01:08:31.320 --> 01:08:33.320
Müsst du halt irgendwie Committon im Team

01:08:33.320 --> 01:08:36.320
und dann immer das gleiche Schema machen

01:08:36.320 --> 01:08:38.320
und dann wird schon irgendwie funktionieren.

01:08:38.320 --> 01:08:43.320
Genau, dann habe ich noch zwei recht inspirierende Konferenzvorträge.

01:08:43.320 --> 01:08:47.320
Der eine ist Making Impossible States Impossible.

01:08:47.320 --> 01:08:49.320
Und da geht es wirklich darum,

01:08:49.320 --> 01:08:52.320
wie kann ich durchs Modulieren sicherstellen,

01:08:52.320 --> 01:08:56.320
dass ich nur was machen kann, was praktisch Sinn macht,

01:08:56.320 --> 01:08:59.320
weil sonst hat man das Ding, jetzt habe ich dann Integer,

01:08:59.320 --> 01:09:01.320
dann String und dann muss ich Validierung bauen,

01:09:01.320 --> 01:09:03.320
damit sichergestellt wird, dass das alles zusammenpasst.

01:09:03.320 --> 01:09:06.320
Und wenn mir zum Beispiel auf CSS geht,

01:09:06.320 --> 01:09:08.320
wo man alles noch richtig kombinieren kann

01:09:08.320 --> 01:09:10.320
und dann das System recht komplex ist,

01:09:10.320 --> 01:09:13.320
ich glaube, das war sogar in dem Vortrag das Beispiel,

01:09:13.320 --> 01:09:17.320
der hat versucht wirklich so CSS zu modulieren,

01:09:17.320 --> 01:09:22.320
aber so, dass man es wirklich dann idiotensicher zusammensetzen kann.

01:09:22.320 --> 01:09:27.320
Im Vortrag war es mit Elm, was ja auch eine ganz interessante Sprache ist

01:09:27.320 --> 01:09:29.320
und was ja auch viel beeinflusst hat.

01:09:29.320 --> 01:09:32.320
Das war so ein bisschen inspirierend, was so möglich ist.

01:09:32.320 --> 01:09:37.320
Und mittlerweile gibt es auch in vielen Sprachen Features,

01:09:37.320 --> 01:09:42.320
wie jetzt Sealed Classes, das heißt, die Vererbungsheraschie

01:09:42.320 --> 01:09:43.320
ist eingeschränkt.

01:09:43.320 --> 01:09:47.320
Das heißt, ich kann jetzt sagen, das ist meine Farbe

01:09:47.320 --> 01:09:49.320
und da gibt es nur fünf Farben drunter.

01:09:49.320 --> 01:09:51.320
Was anderes geht einfach gar nicht

01:09:51.320 --> 01:09:54.320
und damit kann man natürlich im Code viel einfacher darüber argumentieren.

01:09:54.320 --> 01:09:59.320
Der andere Vortrag ist Domain Modeling Made Functional

01:09:59.320 --> 01:10:03.320
von einer Konferenz in Berlin, die ich leider noch nicht besucht habe,

01:10:03.320 --> 01:10:06.320
aber die speziell auf DDD ausgelegt ist

01:10:06.320 --> 01:10:08.320
mit dem Namen Kandinsky.

01:10:08.320 --> 01:10:11.320
Ich gebe es jetzt auch schon seit ein paar Jahren.

01:10:11.320 --> 01:10:15.320
Und Domain Schiffen Design versteht sich recht gut

01:10:15.320 --> 01:10:17.320
mit funktionaler Programmierung,

01:10:17.320 --> 01:10:20.320
was ja auch ein bisschen trendet in den letzten Jahren

01:10:20.320 --> 01:10:23.320
und auch von vielen Leuten gern gesehen wird

01:10:23.320 --> 01:10:28.320
und was oftmals so Sachen einfacher machen kann

01:10:28.320 --> 01:10:30.320
in der richtigen Dosis angewendet.

01:10:30.320 --> 01:10:33.320
Genau, dann habe ich noch DDD Crew.

01:10:33.320 --> 01:10:36.320
Das ist so ein GitHub Repository, wo ein paar Leute

01:10:36.320 --> 01:10:40.320
ganz viele Ressourcen und Domain Schiffen Design sammeln,

01:10:40.320 --> 01:10:44.320
wo man auch einen ganz guten Überblick bekommt.

01:10:44.320 --> 01:10:46.320
Was gibt es da heute?

01:10:46.320 --> 01:10:51.320
Und da gibt es halt eben auch so auf der obersten Ebene,

01:10:51.320 --> 01:10:55.320
okay, wie erkunde ich jetzt das, was ich machen will,

01:10:55.320 --> 01:10:58.320
wie setze ich es dann in kleinen Teilen um,

01:10:58.320 --> 01:11:00.320
wie setze ich es strategisch um und so

01:11:00.320 --> 01:11:03.320
als ganz guter Ausgangspunkt.

01:11:03.320 --> 01:11:06.320
Ich selber habe einen kleinen Artikel dazu geschrieben,

01:11:06.320 --> 01:11:08.320
wie Kotlin ein das Leben vereinfacht,

01:11:08.320 --> 01:11:10.320
wenn man ValueObject schreibt,

01:11:10.320 --> 01:11:13.320
weil ich es als sehr entscheidendem Punkt doch erlebt habe,

01:11:13.320 --> 01:11:16.320
wenn man eine Sprache verwendet, die es einem einfach macht,

01:11:16.320 --> 01:11:18.320
das Ganze umzusetzen.

01:11:18.320 --> 01:11:21.320
Weil wenn ich jetzt für das gleiche Java verwendet hätte

01:11:21.320 --> 01:11:23.320
und dann machst du so ein Webber

01:11:23.320 --> 01:11:26.320
und dann sind das halt irgendwie der CnCode mehr,

01:11:26.320 --> 01:11:29.320
dann ist es halt viel, viel schmerzhafter für die Entwickler,

01:11:29.320 --> 01:11:31.320
das wirklich umzusetzen.

01:11:31.320 --> 01:11:34.320
Und wenn es halt eben die Sprache von sich ergibt,

01:11:34.320 --> 01:11:37.320
dann ist es viel einfacher, das jemanden zu verkaufen.

01:11:37.320 --> 01:11:43.320
Und glücklicherweise hat sich da in den letzten Jahren ja sehr viel getan,

01:11:43.320 --> 01:11:45.320
was bei den Programmiersprachen so passiert ist

01:11:45.320 --> 01:11:47.320
und die einem das Leben dann doch erleichtern.

01:11:47.320 --> 01:11:49.320
Sehr cool.

01:11:49.320 --> 01:11:53.320
Vielen, vielen Dank für den Einblick in die Liste der Ressourcen.

01:11:53.320 --> 01:11:54.320
Auf jeden Fall.

01:11:54.320 --> 01:11:57.320
Da kann man, oder Ressourcen,

01:11:57.320 --> 01:12:01.320
da kann man auf jeden Fall sich jetzt einmal kräftig durchlesen,

01:12:01.320 --> 01:12:03.320
einige Bücher lesen.

01:12:03.320 --> 01:12:06.320
Ich glaube, das ist sehr, sehr hilfreich.

01:12:06.320 --> 01:12:09.320
Auch vielen Dank für diesen praktischen Einblick

01:12:09.320 --> 01:12:13.320
in wie ihr Domain Driven Design umgesetzt habt

01:12:13.320 --> 01:12:15.320
bei Scalable Capital.

01:12:15.320 --> 01:12:17.320
Sehr, sehr interessant.

01:12:17.320 --> 01:12:22.320
Immer wieder interessant, diese Berichte der Art zu hören.

01:12:22.320 --> 01:12:25.320
Und ja, danke dir, dass du da warst

01:12:25.320 --> 01:12:27.320
und es darüber berichtet hast.

01:12:27.320 --> 01:12:28.320
Gerne.

01:12:28.320 --> 01:12:30.320
Damit sind wir am Ende der Sendung.

01:12:30.320 --> 01:12:32.320
Florian, cool, dass du dabei warst.

01:12:32.320 --> 01:12:35.320
Noch mal Danke für den Bericht

01:12:35.320 --> 01:12:39.320
und danke an die Zuhörerinnen und Zuhörer.

01:12:39.320 --> 01:12:43.320
Falls ihr bei euch auch mal Domain Driven Design ausprobiert habt

01:12:43.320 --> 01:12:47.320
in der Vergangenheit und da nochmal ein paar Erfahrungen teilen wollt,

01:12:47.320 --> 01:12:51.320
dann lasst uns das doch mal wissen auf Twitter oder Mastodon.

01:12:51.320 --> 01:12:55.320
Da sind wir unterwegs, ihr kennt es unter dem Handel Working Draft.

01:12:55.320 --> 01:12:59.320
Und wenn ihr sagt, ihr wollt uns gern ein bisschen unterstützen,

01:12:59.320 --> 01:13:01.320
dann schaut mal auf Patreon vorbei.

01:13:01.320 --> 01:13:03.320
Da heißt man auch Working Draft.

01:13:03.320 --> 01:13:05.320
Ihr findet die Links auch auf der Website.

01:13:05.320 --> 01:13:07.320
Danke fürs Zuhören.

01:13:07.320 --> 01:13:09.320
Und dann bis zum nächsten Mal.

01:13:09.320 --> 01:13:11.320
Florian, danke dir nochmal.

01:13:11.320 --> 01:13:14.320
Und gute Nacht und macht's gut.

01:13:14.320 --> 01:13:15.320
Ciao.

01:13:15.320 --> 01:13:22.320
Tschüss.

Revision 555: ChatGPT & Co

7. Februar 2023 | Keine Kommentare

Chat GPT ist in aller Munde, was Vanessa und (besonders) Hans und Peter zu einer lebhaften Diskussion rund um AI und ML speziell im Webdev-Kontext verleitet.

Schaunotizen

[00:02:18] Chat GPT & Co
Nach einem kurzen Begriffsklärungsversuch debattieren wir um ChatGPG und Co (v.a. Githubs Copilot, Adobes Enhance Speech, und Descripts textbasiertem Videoeditor). Wir versuchen Use Cases für die Tools zu kategorisieren, die darin inhärenten Chancen und Risiken abzuwägen und überlegen, inwiefern Quellennachverfolgung und Explainable AI denkbar und glaubwürdig sind. Am Ende stellt sich die Frage, ob in Zukunft ganze hochwertige Webseiten automatisch generiert werden können oder ob AI auch weiterhin daran scheitert, Algorithmen für sortierte Arrays nicht nur auszuspucken, sondern auch zu bewerten.
Transkript
WEBVTT

00:00.000 --> 00:09.480
Ich würde es trotzdem nicht ignorieren, auch wenn ich persönlich, man heißt ja hier, glaube, dass ich nicht das Programmieren klauen werde und ich plötzlich arbeitslos bin.

00:09.820 --> 00:18.220
Wir werden nicht mehr das Engineering machen, wie wir es heute machen, sondern wir werden halt diejenigen sein, die diese Tools entwickeln auf der AI Basis.

00:18.220 --> 00:27.740
AI und KI ist halt dieser verbrannte Begriff in meinem Kopf, der halt von den Buzzword Menschen besetzt wurde, um halt ihre Produkte zu vermarkten und Machine Learning ist halt eine Implementierung.

00:48.380 --> 00:56.380
Revision 555.

00:59.980 --> 01:08.620
Kennst du das auch? Du willst mit einer neuen Technologie starten, aber das Internet ist zu voll mit Wirrm Content in verschiedenster Qualität?

01:08.620 --> 01:25.100
Du suchst kompaktes Wissen, was dich direkt produktiv macht, mit echter Erfahrung von Experten und Expertinnen, die für deine akuten Fragestellungen da sind, dann solltest du mal im TrainerInnen-Netzwerk von Workshops.de vorbeischauen.

01:25.100 --> 01:40.620
Hier findest du eine Community aus über 80 TrainerInnen, welche gemeinsam Material erstellen, sich gegenseitig unterstützen und weiterbilden, um möglichst nachhaltige und hochqualitative Weiterbildungsangebote zu schaffen.

01:40.620 --> 01:49.660
Es gibt sowohl Intensivschulungen über mehrere Tage, als auch Masterclasses, welche dich über einige Monate unterstützen.

01:49.660 --> 02:03.420
Bist du auf der Suche nach einer qualitätiven Weiterbildung im Bereich Web-Entwicklung? Oder möchtest du dich selbst als TrainerInnen einbringen? Dann bist du bei Workshops.de genau richtig.

02:03.420 --> 02:09.820
Schau einfach mal vorbei für alle Informationen.

02:09.820 --> 02:11.820
Wir freuen uns auf dich!

02:11.820 --> 02:27.020
Hallo und herzlich willkommen beim WorkingDraft zur Revision 555. Eine ganz besondere Zahl und dafür auch wieder mit besonderen Gästen.

02:27.020 --> 02:33.020
Heute sind nämlich wir alle die Gäste hier vom WorkingDraft mit dabei ist, die Vanessa. Hi, Vanessa!

02:33.020 --> 02:35.020
Servus!

02:35.020 --> 02:37.020
Und auch der Peter ist mit dabei.

02:37.020 --> 02:39.020
Prost!

02:39.020 --> 02:42.380
Prost! Und ich bin auch mit dabei. Ich bin Sir Hans.

02:42.380 --> 02:48.780
Wir steigen heute mal ein in ein besonderes Thema. Es treibt den einen und die andere um.

02:48.780 --> 02:55.020
Ihr seht es in LinkedIn-Posts und könnt euch auf Twitter und Mastodon gar nicht mehr davon retten.

02:55.020 --> 02:59.660
Wir haben uns gedacht, wir sprechen mal ein bisschen über das Thema AI.

02:59.660 --> 03:14.540
Grundsätzlich und ChatGPT im detaillierteren und schauen uns einfach mal an, welchen Impact das Ganze denn eigentlich so auf unsere tägliche Arbeit hat, aber vielleicht auch alles darüber hinaus.

03:14.540 --> 03:24.940
Und da haben wir uns gedacht, wir steigen einfach mal ein. Wir haben glaube ich in der Vergangenheit noch nicht so viel über das Thema künstliche Intelligenz gesprochen.

03:24.940 --> 03:31.260
Da haben wir noch gar nicht so viel über ML beispielsweise Maschinenbasiertes Lernen gesprochen.

03:31.260 --> 03:40.060
Deswegen gehen wir vielleicht einfach mal rein in so eine Begriffsklärung. Vanessa, du hast das ja auch mal graced das Thema, dass wir uns erst mal angucken müssen.

03:40.060 --> 03:42.940
Was ist eigentlich dieses AI und KI?

03:42.940 --> 03:48.460
Zumindest habe ich mich das direkt gefragt und du hattest da eine coole Erklärung am Start.

03:48.460 --> 04:00.140
Zumindest weiß ich noch aus Studienzeiten, wie wenig wir tatsächlich darüber wissen und dass das KI gerne gerne vor allen Dingen Marketing-Baswort heutzutage geworden ist.

04:00.140 --> 04:07.180
Also ich würde das nicht so unterschreiben, dass aktuell alles, was sich KI nennt, tatsächlich eine künstliche Intelligenz ist.

04:07.180 --> 04:15.900
Ich denke, ChatGPT ist von OpenAI dem Unternehmen und jetzt habe ich hier gerade schon KI und AI gesagt.

04:15.900 --> 04:25.180
Das ist generell AI ist der englische Begriff für Artificial Intelligence und KI der deutsche Begriff für künstliche Intelligenz.

04:25.180 --> 04:35.100
Aber lange bevor man eigentlich von tatsächlich einer Intelligenz spricht, die ja tatsächlich ohne weiteres dann tatsächliche Probleme lösen könnte,

04:35.100 --> 04:45.580
haben wir ja erst mal sowas wie Deep Learning und Maschinelles Lernen und ich möchte nicht zu tief in die Tiefe gehen, weil ich nicht ganz tief drin bin.

04:45.580 --> 04:55.580
Aber soweit ich weiß, ist GPT die Abkürzung für Generalized Pre-Training for Transformers, das ist jetzt auch ganz schön viele Wörter drin.

04:55.580 --> 05:08.300
Es sind eben Transformierer und im Generellen ist es ein Tool, das Texte vervollständigt und das ist eher Maschinelles Lernen und noch keine Intelligenz.

05:08.300 --> 05:17.020
Und OpenAI des Unternehmen hat das bei ChatGPT noch weitergetrieben, dass es nicht nur Texte vervollständigen kann.

05:17.020 --> 05:27.260
Und mit Texte vervollständigen meinen wir auch wirklich sowas, wenn ich jetzt auf ChatGPT gehe und sage Frage, was ist die Hauptstadt von Deutschland Antwort.

05:27.260 --> 05:35.500
Dann ist das noch nicht wirklich ein richtiger Dialog, sondern auch das ist für GPT per se eine Textvervollständigung.

05:35.500 --> 05:41.660
Und die drauf trainiert wurde, die Texte so weiterzuführen, wie du sie davor geschrieben hattest.

05:41.660 --> 05:48.860
OpenAI hat das weiterentwickelt, dass es tatsächlich jetzt auch so dialogmäßig sein kann und man dann auch auffordern kann.

05:48.860 --> 05:53.580
Ich möchte, dass es in diesem bestimmten Schreibstil jetzt für mich geschrieben wird.

05:53.580 --> 06:03.180
Genau, ich habe tatsächlich auch ein bisschen versucht danach zu googeln, ist es jetzt eine KI, ist es jetzt Maschinelles Lernen oder ist es Deep Learning?

06:03.180 --> 06:13.980
Und generell, ich glaube, ich bin einfach nicht auf den richtigen Papers gewesen, ich war zu viel im Buzzword, Bingo, Google.

06:13.980 --> 06:22.540
Ich würde mich jetzt gar nicht drauf versteifen, aber für mich, ich habe immer noch diesen kleinen Haken in meinem Kopf, dass es einfach noch keine KI ist.

06:22.540 --> 06:26.300
Und dass wir immer noch sehr weit von Intelligenz sind.

06:26.300 --> 06:32.140
Ich finde, dass es aber alles in die großartige richtige Richtung geht, um da mal hinzukommen.

06:32.140 --> 06:43.820
Von daher kann man es von mir auch gerne aus irgendwie einfach so bezeichnen, weil es vielleicht genau diese Schritte sind, die wir irgendwann mal, dass wir irgendwann mal da landen, vielleicht in 10 Jahren, wer weiß, nur nicht morgen.

06:43.820 --> 06:49.980
Ich würde vor allen Dingen sagen, die Begriffsdiskussion ist vor allen Dingen schon verloren, würde ich jetzt mal sagen.

06:49.980 --> 06:57.020
Also weil die Buzzword-Leute haben, das glaube ich hingekriegt, diese Begriffe mit den Produkten, wie wir sie jetzt haben, so zu verankern.

06:57.020 --> 07:12.380
So ein bisschen wie Krypto, das ist ja auch so Kryptocurrency, was jetzt damit ja heutzutage hauptsächlich gemeint ist, ist halt ein sehr, sehr klein, verwendet ein sehr, sehr kleines Werkzeug aus dem großen Koffer des Kryptografie-Instrumentariums, um das Zeug zu machen.

07:12.380 --> 07:26.860
Aber die haben halt den Begriff besetzt und das ist halt jetzt so. Und da kann man sich darüber beschweren, aber ich würde einfach sagen, wenn wir dann irgendwann eines Tages wirklich bei der Generalized Artificial Intelligence angekommen sein sollten, braucht man wahrscheinlich einen neuen Begriff, weil, wie gesagt, der Alte ist wahrscheinlich verbrannt.

07:26.860 --> 07:39.660
Aber das heißt ja erstmal AI, KI sind das Gleiche sozusagen, synonym zu verwenden. Das eine ist halt der deutsche Begriff künstliche Intelligenz, das andere der Englische.

07:39.660 --> 07:56.780
Und wir haben halt ja dann dann dieses Thema, das wir halt Maschinelles lernen haben, bzw. Deep Learning, wo wir einfach das Lernen oder praktisch das Wiedergeben von Informationen nach einer bestimmten Art und Weise anhand von gewissen Parametern sozusagen.

07:56.780 --> 08:15.500
Durch eine Maschine gedreht, mal ganz abstrakt gesprochen. Ja, vereinheitlichen können. Und das, was halt so AI, was du jetzt gerade gesagt hast, auszeichnet, ist halt dieses eigene, in Anführungsstrichen Gedanken zu bestimmten Themen komplexen zu haben.

08:15.500 --> 08:36.460
Und genau da ist halt diese Bewertung so schwierig für sowas wie z.B. ChatGPT, finde ich persönlich. Ich nehme mal ein Beispiel. Man schmeißt den ChatGPT, also für alle, die das jetzt noch nicht probiert haben sollten, falls ihr das irgendwie noch nicht mal ausgecheckt habt oder so, macht das auf jeden Fall mal einfach mal googeln.

08:36.460 --> 08:48.780
Man hat halt ein Chat-Dialog vor sich und man kann jetzt entweder ein Gespräch führen mit diesem Chat über lange Zeit, Context Aware, ganz klar, diese typischen Dinge, die man erwarten würde.

08:48.780 --> 09:04.940
Aber man kann das Ding halt auch einfach ganz klare Sachen fragen, wie z.B. schreibt mir mal zu folgendem Thema ein Gedicht und dann schreibt das oder schreibt mir dieses Gedicht in der Art und Weise, wie es Shakespeare tunen würde oder sowas.

09:04.940 --> 09:12.460
Und dann gibt das Ding ja halt relativ nett zu dem folgenden Thema dann auch etwas aus. Und da fängt halt die Diskussion an.

09:12.460 --> 09:21.580
So, das, was da erstellt wird, ist das eine Rezeptierung dessen, was sowieso schon besteht, nämlich die Shakespeare-Gedichte.

09:21.580 --> 09:40.060
Und jetzt einfach nur das, was da an Patterns vorherrscht, auferlegt auf einen neuen Text-Stelle oder einen erzeugten Text, oder ist es wirklich ein erschaffendes Werk.

09:40.060 --> 09:49.180
Und das ist ja immer diese Diskussion, die sich dann daraus ergibt und die wir nachher wahrscheinlich auch noch zu verschiedenen Themen, Kunst und Ähnlichem führen.

09:49.180 --> 09:53.900
Aber das ist ja, wo dann praktisch die künstliche Intelligenz tatsächlich anfängt.

09:53.900 --> 10:06.460
Also bevor wir genau in dieses schwierige Thema einsetzen, ich bin da ebenfalls der Meinung, dass gerade durch diese Dialogstruktur, die ChatGPT uns geliefert hat, für mich auch diese Abgrenzung schwerer wurde.

10:06.460 --> 10:13.580
Das typische Beispiel von Maschinen-Lehren war ja vor, z.B. einfach Bilderkennung, Gesichtserkennung und das war alles irgendwie so technisch.

10:13.580 --> 10:27.660
Man wusste, da hat irgendjemand so ein großes Training-Set angelegt und irgendwelchen Ordnern und dann hat irgend ein Programm ist da drüber gelaufen und okay, irgendwann war es klar, dass dieses Programm als Gesichter erkennen kann oder ähnliche Sachen.

10:27.660 --> 10:32.540
Der Input, der da von den Menschen kam, da klingt immer so technisch.

10:32.540 --> 10:42.780
Und jetzt haben wir wirklich was, wo wir so einen Dialog so richtig reinwerfen, so komplett ohne weiter drüber nachzudenken oder fast schon, ich schaue mal, wie schlecht ich das formulieren kann.

10:42.780 --> 10:45.340
Und das Programm kann trotzdem noch was damit tun.

10:45.340 --> 10:53.820
Also, was sich halt immer so in meinem Kopf passiert, ist halt KI und AI ist ein Produkt und ML ist ein Implementierungstool.

10:53.820 --> 11:00.300
Das neue an ChatGPT ist ja der Chat-Teil, der GPT-Teil ist ja schon sehr alt.

11:00.300 --> 11:11.420
Das hat es also zum Produkt gemacht und ich glaube so dieses, wie gesagt, AI und KI ist halt dieser verbrannte Begriff in meinem Kopf, der halt von den Produktleuten von den Buzzword-Menschen besetzt wurde, um halt ihre Produkte zu vermarkten.

11:11.420 --> 11:21.580
Und Machine Learning ist halt eine Implementierung, so wie sich Datenbank zu irgendwie Postgres verhält ungefähr, so macht das in meinem Kopf Sinn.

11:21.580 --> 11:36.620
Wenn ich das allerdings eben bei GPT richtig verstanden habe, ist das Ziel ja tatsächlich immer alles zu vervollständigen und mit einer gewissen statistischen Wahrscheinlichkeit ist es korrekt.

11:36.620 --> 11:43.500
Also je mehr Informationen es darüber gibt, kann das wirklich auch immer zu 99,9% korrekt sein.

11:43.500 --> 11:45.980
Manchmal ist es im schlimmsten Fall zu 80% korrekt.

11:45.980 --> 11:51.660
Also ich hatte da auch ein paar Fragen über Vue.js reingeworfen, wo ich mir dachte, ah, ihr hättest ein bisschen anders beantwortet.

11:51.660 --> 12:03.180
Es ist schon irgendwie richtig, aber nicht so ganz eben, weil wenn ich es eben richtig verstanden habe und das könnte so ein Knackpunkt eben noch sein, dass es eben nicht Intelligenz ist, es wird dir nicht sagen, dass es es nicht weiß,

12:03.180 --> 12:07.740
sondern es wird die statistisch wahrscheinlich richtigste Antwort benutzen.

12:07.740 --> 12:18.140
Na, da habe ich heute ein ganz interessantes Beispiel gesehen, so was wie hier Mike's mother has four children, aby und c, what's the name of the fourth child.

12:18.140 --> 12:27.100
Und dann konnte es halt das nicht beantworten, weil es diese Logik irgendwie aus diesem Satz vorher nicht rausbekommen hat, dass die Antwort Mike wäre.

12:27.100 --> 12:35.900
Und da hat es dann tatsächlich geantwortet, mit I can't determine the names, I don't know the answer, so nach dem Motto.

12:35.900 --> 12:37.900
Aber dennoch, ich glaube, was ganz...

12:37.900 --> 12:39.900
Ah ja, stimmt, budgetivity, ja.

12:39.900 --> 12:51.980
Also das sind halt diese, das sind halt so logische Sachen, ne, wenn man so ganz logisch an etwas herangehen kann, auch wenn es in dem Fall halt irgendwie doof war, dass es das nicht so verstanden hat,

12:51.980 --> 13:04.860
dann antwortet es halt so logisch es kann irgendwie. Aber was ich viel imposanter finde, ist halt, dass es halt aus diesen ganzen Logiken heraus und das...

13:04.860 --> 13:17.260
Peter, du sagst das gerade, ne, vorher hatten wir auch schon so Tools, aber in dieser Intensität dir einfach qualitativ hochwertige Ergebnisse liefert, wenn man jetzt ein Lebenslauf zum Beispiel sich mal hernimmt, ja.

13:17.260 --> 13:27.020
Und da sich einfach mal anguckt, der folgt bestimmten Patterns. Und da schreibt man vielleicht was rein, wie irgendeine Zusammenfassung zu dem, was man getan hat, ja.

13:27.020 --> 13:39.980
Was habe ich in der Vergangenheit beispielsweise erreicht in einem meiner Jobs, die ich hatte, ja. Dann habe ich da irgendwelche Key Achievements und Responsibilities, oder whatever.

13:39.980 --> 13:58.860
Und ich habe einfach mal aus meinem CV die Liste von irgendeinem Job genommen, das waren dann fünf Stichworte und dann standen da halt irgendwie ganz gut formulierte Sachen, dachte ich, ja, das folgt ja schon einen bestimmten Pattern, ich lege mich fest, da klare Ergebnisse reinzuschreiben und dann habe ich das dieser Maschine gegeben.

13:58.860 --> 14:10.420
Und die hat aus diesen fünf Stichworten drei gemacht, hat Dinge zusammengefasst und die anders formuliert, hat bessere Worte verwendet, als ich die verwenden kann und manchmal Worte hinzugefügt oder weggelassen.

14:10.420 --> 14:18.580
Ja und das habe ich erreicht, indem ich dem Gerät gesagt habe, hier nimm mal bitte, mach das mal für meinen CV-Fit.

14:18.580 --> 14:25.420
Also ganz klar, die sozusagen den Kontext gesagt, wo wird das verwendet und dann wurde es anders formuliert.

14:25.420 --> 14:36.060
Ich habe sogar gesagt, mach mir das als Liste, ja, weil ansonsten macht er das halt in einen Absatz sozusagen, schreibt mir einen tollen Absatz über mich selbst oder über meine Achievements.

14:36.060 --> 14:53.900
Und das fand ich so krass, dass halt eine Sache, die sehr klar einer bestimmten Logik folgt, nämlich du stellst dich in den Vordergrund, du machst diese Achievements und du willst sagen, dass du total cool warst in dieser Aufgabe, in den Sachen, die du da erreicht hast.

14:53.900 --> 15:02.700
Und das betont es, also diese Art Ausrichtung dessen, was der Text sagen soll.

15:02.700 --> 15:16.300
Ich hoffe, ich kann es irgendwie rüberbringen, was ich meine, versus einer Sache, du rezitierst etwas und sammelst Informationen zusammen und gibst die neutral wieder, was ja einen Google theoretisch auch kann, ja, mit einem Define,

15:16.300 --> 15:26.940
weil es irgendwo diese Informationen zugreift und einfach dir widerspiegelt, aber dieses in der richtigen Ansprache nach dem logischen Pattern etwas besser machen.

15:26.940 --> 15:33.820
Und was hat das für eine Schlussfolgerung und nur noch, was ich mir da so für Gedanken gemacht habe in der Diskussion mit Freunden und Bekannten,

15:33.820 --> 15:51.420
was damit halt passieren wird, es wird irgendwann egal sein, was du kannst, also sozusagen für einen CV, also wenn du in einem CV früher Kommafähler gemacht hast oder wenn du in einem CV früher irgendwie Worte falsch geschrieben hast,

15:51.420 --> 16:03.580
dann ist das vielleicht bei manchen Leuten schlecht aufgestoßen oder weil du aus deine fünf Stichworte, wie ich sie hatte, eigentlich besser drei gemacht hättest und vielleicht noch mal eine einen Stelle Successfully geschrieben hättest,

16:03.580 --> 16:19.580
das ist dieses eine Prozent Unterschied, was dann andere Leute vielleicht besser machen, das wird einfach weggehen, man wird in der Zukunft komplett vergleichbar sein anhand der Inhalte, die man geleistet hat, also was steht da,

16:19.580 --> 16:29.020
was du wirklich geleistet hast, nicht wie hast du es geschrieben, also der Formfaktor, der fällt so ein Stück weit hinten runter und du fokussierst,

16:29.020 --> 16:39.580
du kannst es ja auch umdrehen, man kann ja sozusagen deine Kommersetzung nicht mehr als proxie verwenden, um rauszufinden, wie geeignet du wirklich jetzt bist, um als Busfahrerin angestellt zu werden, das ist es ja eigentlich.

16:39.580 --> 16:44.380
Wie geeignet war das denn in der Vergangenheit?

16:44.380 --> 16:46.780
Weiß nicht, aber was hat es sonst für Möglichkeiten?

16:46.780 --> 17:02.540
Wenn du jetzt irgendwie, klar, wir hier, wir drei und wahrscheinlich die meisten, die hier zuhören, da ist das ja noch irgendwie einigermaßen, sagen wir mal, du musst ja zu einem gewissen Punkt aufgeben, weil du ja nicht irgendwie exakt rausfinden kannst,

17:02.540 --> 17:10.780
ist diese Person jetzt superqualifiziert für exakt diese Aufgabe, von der ich ja auch keine Ahnung hab, wie die in einem Jahr tatsächlich aussieht, weil entwickelt sich alles weiter Bla Keks.

17:10.780 --> 17:29.820
Aber wenn du jetzt wirklich so was hast, wie irgendwie tatsächlich, musst irgendwie ein Kraftfahrzeug führen. Wie findest du wirklich, raus, ob da jetzt jemand geeignet ist dafür, abgesehen davon, dass du halt guckst, hat sämtliche relevanten Qualifikationen und gegebenenfalls ein bisschen Vorerfahrung, das können ja alle standardisiert erbringen diesen Nachweis und dann, wie entscheidest du dich am Ende?

17:29.820 --> 17:36.300
Guckst du halt nach den Kommafälern und das wäre halt tatsächlich was, was da jetzt möglicherweise verschwinden würde.

17:36.300 --> 17:56.860
Ist das aber nicht vielleicht auch tatsächlich dann ein Untage, müssen dann Leute die Personen einstellen, noch mal gesondert beim Interview drauf achten, wie die Sprache im Alltag dann ist?

17:56.860 --> 18:16.860
Ich meine, wahrscheinlich tut man so oder so, aber zumindest hätte man vielleicht da eine Art Vorauswahl gehabt, wie, ich weiß auch nicht, weil es ist ja teilweise jetzt, wir hatten jetzt über Kommersatz zum gesprochen, das konnte ich ja vorher schon anders rausfinden, dafür gab es ja im schlimmsten Fall, keine Ahnung, Pages oder Word oder Grammarly, wenn es ums Englische geht.

18:16.860 --> 18:35.420
Genau, was du meinst, es ist halt diese Formulierung Faktoren auch dazu, wenn du keine offensichtlich grammatikalischen Fehler drin hast, sondern genau dieses, wie viele Strichpunkte sollte ich eigentlich schreiben, wie kurz oder lang sollte das sein, weil es halt ja sowieso keiner Zeit ist zu lesen, also muss ja das Wichtigste ganz schnell reingehen.

18:35.420 --> 18:48.140
Aber wir kommunizieren ja nicht nur über CVs in dem Sinne, sondern vor allem über Video Tools und Slack. Und da stell ich es mir jetzt gerade spannend vor, soweit habe ich es noch gar nicht davor gedacht, bis du meinst, es ist wie,

18:48.140 --> 19:05.420
wird es nicht eigentlich extrem sinnvoll für uns alle, wenn wir E-Mails und Textnachrichten schreiben lassen würden könnten, anstatt dass jetzt irgendwie eine AI AI Kunst macht, ich meine, wir sollten Kunst machen, wir sollten Zeit für Kunst haben, anstatt irgendwelche Kalendereintragendragungen zu machen.

19:05.420 --> 19:16.540
Genau das, und genau da, da geht ja der Weg hin, wenn man sich mal anguckt, Google Mail oder Outlook hat es auch, glaube ich, mittlerweile in der Browser Version, die ich jetzt verwende manchmal.

19:16.540 --> 19:36.380
Du hast halt immer diese Ergänzungen, du fängst irgendein Satz anzuschreiben und es gibt dir den Rest des Satzes vor und du drückst ab und dann hast du es. Wir kommen gleich noch, was das bedeutet für unsere Programmierung mit CodePilot haben wir ein tolles Beispiel, jetzt will ich da nicht drauf vorgreifen, aber ich glaube, dass das halt immer mehr passieren wird.

19:36.380 --> 19:58.140
Du hast irgendwie eine Liste, lieber Computer, bitte schreib mal hier eine Nein-Danke-E-Mail an folgenden Recruiter oder hier schreib mal bitte, mach mal bitte einen neuen Termin aus und die Maschinen errechnen sich gegenseitig wann an dieser Termin stattfindet, im Outlook-Kalender bekommst du natürlich angezeigt, wenn du deine Recipient-List angibst,

19:58.140 --> 20:19.220
wann denn der nächste freie Timeslot ist, warum muss ich denn dann überhaupt noch was schreiben, ich kann ja einfach nur sagen, lieber Chatbot, bitte mach jetzt diesen Computer und wir hatten dieses Beispiel, glaube ich, vor drei, vier Jahren oder so, wo auch irgendwie gesagt würde, ja diese automatisierten Chatbots,

20:19.220 --> 20:35.340
die werden so cool werden und dann wird man dem nur noch sagen, finde einen Termin für eine Gruppe und dann macht die Gruppe das und heute ist das so, ja ist ja logisch, dass das demnächst irgendeine Maschine macht so und ich glaube, dass genau das passieren wird, dass wir diese Aufgaben,

20:35.340 --> 20:43.940
die uns heute so viel Zeit kosten, um irgendwelche Chores sozusagen Aufgaben, die erledigt werden müssen, auf die wir keinen Bock haben,

20:43.940 --> 20:56.100
am Computer jetzt in dem Fall dann von diesen Maschinen erledigt werden, weil wir selber einfach unsere Zeit anders verwenden wollen und die Maschinen das eh unter sich ausmachen.

20:56.100 --> 21:08.500
Wisse wie ich meine, es geht nicht mehr darum, dass ich jetzt einen Termin aufsetzen muss, dass ich jetzt irgendeine Nachricht schreiben muss und um nochmal auf die Qualität zurückzukommen, ich glaube,

21:08.500 --> 21:19.500
wenn wir jetzt mal über Chat Nachrichten sprechen, dann will man das ja nie real-time haben, ja du musst bei einer Chat Nachrichten zwar nicht sofort antworten, aber vielleicht in einem Videocall, was du gesagt hast, ja.

21:19.500 --> 21:33.980
Und du kannst ja sogar mithören lassen und das Text-to-Audio-Signal sozusagen da reingehen lassen in Chat GPT und dann kommt die Frage von deinem Recruiter, kannst du mir das und das sagen?

21:33.980 --> 21:40.100
Weiß ich jetzt nicht, die machen mal sehr offene Fragen, aber mal angenommen, das ist eine sehr, sehr konkrete Frage.

21:40.100 --> 21:48.020
Chat GPT hört das, das wird parallel geschrieben, die sind ja also, wir schreiben ja nur noch so in WhatsApp oder wie auch immer, ja.

21:48.020 --> 21:54.500
Drückst Enter und die Antwort kommt ja instant zurück, so schnell kannst du gar nicht reden, wie das Tool schreibt.

21:54.500 --> 22:03.700
Das heißt, du kannst live die Antwort einfach vorlesen, reden, schreiben on the fly mit Informationen, die du gar nicht hast.

22:03.700 --> 22:05.700
Kein Problem mehr.

22:05.700 --> 22:33.660
Ja, das ist halt heutzutage tatsächlich, also genau dieses Szenario, das du beschreibst, ist ja gar nicht so selten, das ist ja tatsächlich auch Hiring Fraud, das gibt's ja, wo du irgendwie ein Interviews und da hört halt noch jemand zu, der die Ahnung hat und kann halt eben dann sozusagen, ne, die eine Person, die Ahnung hat, kann 10 mal am Tag interviewt werden und dann 10 weniger qualifizierte Personen dir irgendwie aufhalsen und dann siehst du dich gezwungen, die zu bezahlen, bis sich irgendwann raushält, die haben's halt nicht drauf.

22:33.660 --> 22:56.020
Und was halt dann diese Machine Learning Mechanismen oder diese KIs, die das halt so dann in Echtzeit machen, tun, ist ja im Prinzip so ein ganz klassischer Teilautomatisierung, Automatisierung, Industrialisierungsschritt, also Arbeit, die man halt sonst so manuell machen müsste, die entweder nervt oder die man halt nicht kann oder vor allen Dingen, die man halt eben auch in konsistenter Qualität nicht abliefern kann,

22:56.020 --> 23:05.380
kann dann halt eben die Maschine umsofern sie richtig eingestellt ist und überwacht ist und man irgendwie den Output checked und sowas schon ziemlich viel leisten.

23:05.380 --> 23:17.140
Das ist richtig, ist halt immer noch die Frage, ist das jetzt irgendwie ein Quantensprung, also ist das eine qualitative Veränderung oder ist das eine quantitative Veränderung und ich tendiere ja persönlich eher zur quantitativen Frage.

23:17.140 --> 23:41.820
Mit halt so gewissen, sagen wir mal, Sekturen, die da wo es da einen besonderen Impact gibt, wie halt zum Beispiel, ich kann den Komma-Fehler nicht mehr als Proxy verwenden, um mich zu entscheiden, wen heuer ich jetzt an, das ganze Problem fällt irgendwie der klassischen, schulischen Hausaufgabe, können wir glaube ich Ad-Actor legen, ich denke Stack Overflow ist tot, die wissen's nur noch nicht, so, das würde ich halt eben punktuell sehen.

23:41.820 --> 23:57.460
Weil was ich jetzt hab in meinem Browser, ich hab mir halt einfach mal irgendwie so eine Chrome Extension installiert, die zu jeder Google Frage dir theoretisch die ChatGPT Antwort parallel daneben setzt.

23:57.460 --> 24:11.780
Das war mein erster, das war mein erster Gedanke, als ich ChatGPT einmal ausprobiert hab, ich so, ah, das ist einfach deutlich besseres Googlen und die Stack Overflow Antwort kommt mir gleich geliefert und ich muss nicht mal selber, ich muss nicht mal selber bis zum zweiten Antwortgrund aus.

24:11.780 --> 24:17.940
Mit einem großen Haken, du kannst halt nicht gucken, okay, was sind denn deine Quellen?

24:17.940 --> 24:22.340
Doch, du kannst es ja fragen, du kannst ja fragen, gib mir mal die Quellen dazu.

24:22.340 --> 24:32.340
Ja klar, sicher, das wollte ich grad sagen und dann, sagen wir mal, gibt's dir die Quellen, aber die kannst ja tatsächlich dir irgendwie vorflogen kann.

24:32.340 --> 24:47.020
Ich mein im Idealfall, im Web ist die Quelle halt ein Link, im weniger idealen Fall ist es halt in Wikipedia, der Eintrag ja hier, dieses Buch von 1804, das du ausschließlich nur noch in der New York Public Library bekommst, da steht das drin auf Seite 4 und dann musst du halt eben dahin und dir das reinziehen.

24:47.020 --> 24:54.660
Aber sagen wir mal so, generell ist es ja schon so, dass man ja im Internet niemandem trauen kann, alles was aufgeschrieben ist, ist ja potenziell gelogen.

24:54.660 --> 25:11.060
Und da sehe ich halt tatsächlich bei ChatGPT die Sachen so, dass das genauso sein kann, nur halt das sozusagen, ja, das Erbringen da eines Nachweises, die eine oder andere Richtung zunehmend schwierig ist, weil ja im Prinzip Lügen on the Fly fabuliert werden können.

25:11.060 --> 25:14.660
Ich will da niemanden in böse Absicht unterstellen können, aber das macht halt der Mechanismus möglicherweise.

25:14.660 --> 25:27.980
Ich finde es aber so gut, was du gerade sagst, dieses, wir können halt theoretisch, also vielleicht nochmal einmal zurückgehen, sorry, ich kurze meine Gedanken hier sortieren, aber wenn wir nochmal einmal zurückgehen.

25:27.980 --> 25:44.620
Es ist ja tatsächlich so gewesen, irgendwie als wir in der Schule waren, wir haben halt angefangen mit Wikipedia, haben Sachen von Wikipedia zitiert und dann irgendwann hieß es, schreibt mal bitte das Datum dazu, wann ihr das von Wikipedia geholt habt und da kann ja jeder Lügen reinschreiben, deswegen vielleicht ist dem nicht so ganz zu trauen.

25:44.620 --> 26:02.620
Und damit da sind wir ja jetzt wieder mit ChatGPT und genauso ist es mit Wikipedia, Wikipedia gilt ja de facto sozusagen als Quelle, klar musst du deine Quellen trotzdem noch dir angucken, ja, jetzt im Chat hier schreibt Vanessa gerade, oder sagst du die mal selber, das ist halt...

26:02.620 --> 26:19.620
Also ich kenne dieses Wikipedia Argument und ich muss kurz dazu sagen, man kann bei Büchern auch Lügen, nur weil es auf dem Buch, auf dem Papier, auf dem Baum gedruckt ist und das Leute mal vorher gelesen haben und es zu einem Verlag ging, stehen da trotzdem sehr viele Lügen, ob absichtlich oder nicht.

26:19.620 --> 26:36.620
Und das ist halt dieser Punkt, also ich glaube, wir werden halt irgendwann an den Punkt kommen, dann ist halt in ChatGPT, wenn du sagst, hey mach mal meine Hausarbeit zum Thema XY, sind halt einfach die Quellen nachweise mit drin und am besten sind da überall noch links und zitiert nach XY und Z.

26:36.620 --> 26:41.620
Und das ist ja kein Problem, das noch hinzuzufügen als zusätzliches Feature.

26:41.620 --> 27:05.620
Vielleicht gibt es irgend so ein Tool schon, was das heutzutage... Ist das kein Problem, wissen wir das? Ist das nicht so ein großes Problem irgendwie da sozusagen aus der Blackbox mit den vielen, vielen Layern an neuronalen Schichten noch rauszudröseln, wo letztlich aus welchen Bestandteilen die Synthese zusammengestellt wurde?

27:05.620 --> 27:25.620
Okay, vielleicht war ich ein bisschen voreilig das sozusagen, wie ich das eben gesagt habe. Das stimmt natürlich. Ich stelle es mir als ein kleines Problem vor sozusagen, wenn wir Fakten wiedergeben, also die zusammengemanchten Fakten, also dem eine Quelle zu geben, das verstehe ich.

27:25.620 --> 27:39.620
Aber wenn da jetzt einfach steht, ja Napoleon ist halt um 1840 nach Russland marschiert, dann ist das doch irgendwie etwas, was man sozusagen faktisch sehr, sehr einfach nachweisen kann.

27:39.620 --> 27:50.620
Und ich denke mir halt immer bei diesen Themen Fakten oder wenn irgendwo aus einem Buch zitiert werden würde oder ähnliches, so was dann als Quelle mit anzugeben, das wird wahrscheinlich nicht schwer sein.

27:50.620 --> 28:02.620
Aber du hast natürlich vollkommen recht, dass die Kombination dessen und wenn daraus eine Meinung entsteht beispielsweise, dann ist es halt schwierig das nachzuweisen.

28:02.620 --> 28:13.620
Also einfach nur bei Synthese wäre ich ja schon dabei zu sagen, dass das schwierig wird. Also man nehme irgendwie Konzept A und Konzept B und führe die zusammen und sage dann halt eben, wie die zusammenspielen.

28:13.620 --> 28:24.620
Allein das ist ja schon schwierig, weil ja tatsächlich um das machen zu können, müsste man ja in den jeweiligen Feldern, die jetzt Konzepte A und B sind, dermaßen sozusagen sattelfest sein, wenn man jetzt ein Mensch wäre,

28:24.620 --> 28:35.620
dass man tatsächlich irgendwie sagen kann, dass das, was man dann halt eben in eine Synthese C reinbringt, dass das nicht irgendwie nur eine Korrelation ist und dass es da irgendwie auch tatsächlich Zusammenhänge gibt.

28:35.620 --> 28:46.620
Das gibt es ja in jedem Feld, selbst bei so irgendwie objektiven Sachen. Ich als abgebrochener Geschichtstudent kann da ja tatsächlich, ist mir das ja selber im Rahmen von diversen Hausarbeiten mehrfach misslungen,

28:46.620 --> 28:52.620
irgendwie so was zu sagen, irgendwie zu sagen, aha, da haben sie Ditt ausgegraben, da haben sie Ditt ausgegraben, stark vereinfacht ausgedrückt.

28:52.620 --> 29:01.620
Also schließe ich daraus, dass irgendwie X passiert sein muss oder dass irgendwie die beiden Dinger sich gegenseitig befeuert haben oder oder oder und war halt einfach völliger Schwachsinn.

29:01.620 --> 29:13.620
Das ist halt eben schon schwierig, will ich nur sagen, nicht nur Meinung von Dingen, wie Faktenlage eindeutig, selbst wenn wir mal annehmen, dass irgendwie so die Wahrheit TM gibt, was ich bestreiten würde.

29:13.620 --> 29:21.620
Aber selbst wenn das der Fall wäre, ist halt immer noch schwierig zu sagen, dass irgendwie eine Synthese aus A und B nur weil sie schlüssig aussieht, tatsächlich auch Sinn ergibt.

29:21.620 --> 29:23.620
Und mehr ist in der Lage, das am Ende zu bewerten.

29:23.620 --> 29:38.620
Aber vielleicht, also was ich so mehr meinte, ist in der Mathematik, du hast eins plus eins gleich zwei und das kannst du relativ klar nachweisen, weil irgendwer sich mal die Mühe gemacht hat, da eine Nachweis zu erbringen oder auch mehrere.

29:38.620 --> 29:57.620
Also so was meine ich halt einfach, wo du halt so ganz klare Fakten hast, auf die du durchbeziehen kannst, was ich eben meinte, mit Jahreszahlen oder keine Ahnung, so geschichtliche Themen oder politische Ereignisse oder weiß ich nicht, Ableitungen aus, beispielsweise nach Weltwirtschaftskrise.

29:57.620 --> 30:12.620
Da gibt es so viele Bücher und weil diese Bücher bestimmte Sachen als die Gründe angeben, kannst du mit einer gewissen Wahrscheinlichkeit sagen, dieser Grund ist sehr wahrscheinlich, ein anderer vielleicht weniger wahrscheinlich.

30:12.620 --> 30:36.620
Also kann man das ja so schreiben, hier folgendes Buch sagt das, anderes Buch sagt das und da kannst du halt dann wieder die Quellen angeben. Aber ja, was du sagst, daraus dann etwas Neues zu machen oder Beispiel das Sonnet von Shakespeare, da dann eine Quellenangabe hinzuzufügen, wird halt wahrscheinlich schwierig sein, weil es halt Neues, aber brauchst du da eine Quelle dafür?

30:36.620 --> 30:39.620
Brauchst du bei einer eigenen Meinung eine Quelle dafür?

30:39.620 --> 30:51.620
Das sind aber auch alles unterschiedliche Dinge, also ich glaube wir springen ein bisschen so hin und her zwischen den Dingen, wo es sozusagen dieses Rekontextualisieren gibt, im Sinne von, formuliere mal mein Lebenslauf um.

30:51.620 --> 31:02.620
Dann halt dieses Recherchieren als Ersatz für Google, das sind halt zwei unterschiedliche Dinge und noch wesentlich unterschiedlicher wäre halt eine tatsächlich ernst gemeinte Synthese.

31:02.620 --> 31:15.620
Nach dem Motto, hier hatte irgendwie keine Ahnung, bleiben wir bei Napoleon, der Ausgang der Schlacht A, was mit der schlechten Laune von General B zu tun oder irgendwie sowas.

31:15.620 --> 31:25.620
Das sind alles so drei unterschiedliche Dinge und ich finde, das wird halt immer so in der Diskussion in einen großen Topf geschmissen und da würde ich halt wirklich sagen, dass das tatsächlich extrem unterschiedliche Sachen sind.

31:25.620 --> 31:35.620
Wie gesagt, AI ist bei mir eine Produktkategorie, Chat GPT ist ein Produkt, das Produkt ist vor allen Dingen die User Experience durch das Chat, das dahinterstehende Modell ist schon steinalt.

31:35.620 --> 31:50.620
Und alle reden jetzt darüber, weil halt dieses User Interface das anbietet, tatsächlich einen dazu verlädt, einfach irgendwelchen Kram da rein zu tun und dadurch kann das halt in einem gewissen Maße all diese verschiedenen, sagen wir mal, Problembereiche bearbeiten,

31:50.620 --> 32:04.620
Recherche, Synthese, umformulieren, das kann das irgendwie alles. Aber ich würde sagen, in der gelebten Praxis des irgendwie ernsthaften Arbeitens, wären das drei sehr unterschiedliche Tätigkeiten, die man unterschiedlich machen muss.

32:04.620 --> 32:12.620
Also ich kann irgendwie Sprache, wenn ich einfach so sage, hier Lebenslauf, formulier mal um, ah okay, ist besser, nehm ich so, Joink, bam, fertig, okay.

32:12.620 --> 32:22.620
Ich habe auch die Synthese von irgendwelchen, sagen wir mal historischen Fakten oder Gedöns. Um zu bewerten, ob das was taugt, muss ich halt ein ultra krasser Experte sein.

32:22.620 --> 32:34.620
Ich muss ja im Prinzip hinterher mindestens sozusagen jemand, ich müsste ja jemand sein, der das Peer Review für einen menschengemachten, equivalenten Artikel vollzieht, weil sonst kann ich ja nicht bewerten, ob das sinnvoll ist.

32:34.620 --> 32:46.620
Also ich würde eine Sache sagen, die auf jeden Fall diese These stützt, die du gerade sagst, weil ich habe auch am Wochenende mal mit einem Bekannten diskutiert, der Lehrer ist.

32:46.620 --> 32:54.620
Und der hat einfach mal gesagt, ja hier, ich habe jetzt demnächst irgendwie ein bestimmtes Thema, da muss ich mich mal darauf vorbereiten, aus welchen Gründen auch immer.

32:54.620 --> 33:10.620
Und da war es so, dass wir einfach mal gesagt haben, hier es ging um die Kreuzzüge, ja und haben dann einfach mal eingegeben, ja okay, bereite mir mal folgende Sache vor, unter folgenden Gesichtspunkten und die Formen konnte JetGBT total gut waren.

33:10.620 --> 33:23.620
Aber und dann auch bestimmte Informationen preisgeben, die sehr an der Oberfläche des Themas waren und er als Experte in diesem Thema konnte halt sagen, ja toll, das sind halt sehr, sehr oberflächliche Sachen.

33:23.620 --> 33:34.620
Und dann haben wir mal weiter gefragt, kannst du mir nicht noch tiefergehende Beispiele geben? Und da wurde es dann halt immer dünner und das belegt ja so ein bisschen auch diese These.

33:34.620 --> 33:50.620
Also man kann halt immer auf einem bestimmten Level sozusagen gewisse Informationen bereitstellen, das ist wieder das Thema Recherche, aber dann halt daraus eine Ableitung, eine Synthese zu machen, diese Informationen zusammenzuführen.

33:50.620 --> 33:55.620
Das ist halt etwas, da hatte das Tool Probleme.

33:55.620 --> 34:03.620
Und ich glaube, das hängt halt einfach auch ganz stark vielleicht mit der Dichte der Informationen zusammen, die zur Verfügung stehen.

34:03.620 --> 34:12.620
Weil ich denke mir halt, ich gebe noch ein anderes Beispiel, mit einem anderen Kumpel saß ich hier, der ist selber Autor und der kennt sich sehr gut in Literatur aus.

34:12.620 --> 34:22.620
Der hat halt einfach mal gefragt, welche Rolle spielt ein ganz bestimmter Charakter, der nur ein sehr starker Nebencharakter ist, in folgendem Buch.

34:22.620 --> 34:31.620
Und dieser Nebencharakter, der taucht mehr in Gedanken sozusagen von jemandem, der in dem Buch denkt auf.

34:31.620 --> 34:38.620
Und das hat das Tool nicht hinbekommen zu beantworten, einfach weil die Informationsdichte nicht da war.

34:38.620 --> 34:49.620
Das Buch war wahrscheinlich nicht gelesen worden, also konnte man auch nicht sagen, hier dieser Charakter taucht in den Buch auf und ist ein Gedanke eines anderen Charakters oder irgendwie sowas.

34:49.620 --> 35:01.620
Und ich glaube, je mehr Informationen dieses Tool halt über die Zeit bekommt und gerade durch uns, die wir ständig da drin rumhacken und sagen, das ist gut oder nochmal genauer nachbohren,

35:01.620 --> 35:11.620
da lernt das jetzt so viel und dass die nächste Version GPT4, ich lese mir nicht die Diskussion dazu durch,

35:11.620 --> 35:21.620
aber durch diese Informationen, die wir ja auch da einspeisen jetzt durch diesen Hype, der gerade entsteht, glaube ich, wird das so viel krasser nochmal werden,

35:21.620 --> 35:27.620
gerade wenn man da auch eine Informationsdichte nochmal verstärkt bekommt.

35:27.620 --> 35:31.620
Für welchen dieser Use Cases jetzt?

35:31.620 --> 35:44.620
Alle, ich glaube für alle, weil ich sage mal quantitativ ist halt das Thema, also der erste Use Case, den du genannt hast, Text verbessern sozusagen.

35:44.620 --> 36:00.620
Das ist etwas, der ist ein Stück weit für mich relativ gut erledigt, aber durch User Signale, die wir jetzt haben, wird das auf jeden Fall nochmal verbessert werden, weil du sagst, okay, den Text nehm ich, den mach ich noch, lasse ich mir nochmal von der Maschine.

36:00.620 --> 36:08.620
Also du kannst ja immer wieder deinen Text reinfüttern, lasse ich mir nochmal verbessern oder an dem Text war halt noch folgendes falsch.

36:08.620 --> 36:20.620
Das wird durch User Signale sehr viel besser werden. Der Recherchefall ist einfach durch das Erweitern von Daten, mehr Daten anhand der Grundlage dessen, was ausgegeben wird sozusagen.

36:20.620 --> 36:33.620
Das heißt, dass es einfach mehr Bücher werden gescannt, mehr Webseiten werden gescannt, mehr verschiedene Informationen werden anders bewertet in das System eingelesen sozusagen, Thema Recherche.

36:33.620 --> 36:44.620
Was ist dein Zielkriterium für Recherche? Also was macht das Rechercheergebnis, das dir aus ChatGPT entgegenfällt zu einem guten, in Abgrenzung zu einem schlechten?

36:44.620 --> 36:51.620
Sehr wahrscheinlich der Kontext, würde ich sagen. Also der Kontext und der Wahrheitsgehalt dessen, was da auf dich zukommt.

36:51.620 --> 37:07.620
Also am Anfang gab es ja kurz einmal diesen Fall, als es rausgekommen ist im Dezember oder November, ich weiß gar nicht mehr, da war irgendwie nochmal in wissenschaftliche Arbeiten reingeguckt oder man hat sich wissenschaftliche Artikel schreiben lassen.

37:07.620 --> 37:26.620
Und da kam dann irgendwie mal der Fall, dass eine Studie gewählt wurde, um einen Artikel zu schreiben sozusagen vom Tool, die irgendwie gar nicht die Relevanz hatte, die Relevanz und die wissenschaftliche Anerkennung oder ähnliches.

37:26.620 --> 37:49.620
Und ich glaube, dieser Recherche, das, was ich jetzt bei der Recherche als sozusagen grundlegendes Kriterium sehen würde, ist, mit welcher Gewissheit kann zu sagen, dass das, was das Tool dir sagt, richtig ist, die richtigen Grundlagen hat und dir sozusagen Informationen bereitstellt?

37:49.620 --> 38:05.620
Da ist ja auch die spannende Frage, was richtig ist, dass ja oft auch eine persönliche Entscheidung gibt. Also ich meine jetzt nicht nur, ich muss eine Recherche machen und ich muss rausfinden, wer hat mal Amerika entdeckt und da gibt es eine korrekte Antwort.

38:05.620 --> 38:14.620
Aber ich habe auch darüber nachgedacht, was könnte denn eigentlich jetzt die Nachteile von dem Ganzen sein, weil ich persönlich auf jeden Fall Befürwürderung von diesem Ganzen zurück bin.

38:14.620 --> 38:25.620
Und ich glaube, was wir alle ausschließen können, ist, dass so ein Skynet passiert, diese überintelligente Übermacht, die uns alle übernimmt. Das ist gar keine Gefahr.

38:25.620 --> 38:33.620
Ich meine, wenn man jetzt ganz weit spinnt, irgendwann brauchen wir alle, irgendwann brauchen wir so eine Intelligenz und am besten maschinelle Körper und weiter überleben zu können.

38:33.620 --> 38:48.620
Aber jetzt gerade, in unserem Jahrzehnt oder vielleicht Jahrhundert, sehe ich da quasi zwei Problemchen und das eine Problem, was ich vielleicht, weiß ich gar nicht, was ich starker finde,

38:48.620 --> 38:57.620
für mich ist auch diese künstliche Intelligenz und dieses maschinelle Lernen so etwas Neutrales, das ist so neutral technisch geschrieben.

38:57.620 --> 39:07.620
Aber die Informationen, womit das ganze Ding gefüttert wird, das ist alles andere als neutral. Und es geht ja nicht nur um Recherches und ich kann ja rassistische Sachen fragen.

39:07.620 --> 39:16.620
Und was antwortet es denn dann? Was ist denn die korrekte Antwort und welche Gefahren liegen da drin?

39:16.620 --> 39:30.620
Und ich sehe nur die Gefahr, dass wir als Menschen, die diese Tools benutzen, uns klar sein muss, dass zwar vielleicht der Algorithmus neutral ist und die Mathematik dahinter ist neutral, aber eben nicht die Informationen, die zugrundend liegen.

39:30.620 --> 39:33.620
Bevor ich jetzt das zweite Problem ansprüche.

39:33.620 --> 39:46.620
Ich würde das halt noch ergänzen, also einerseits sehr gut, das schreibt ja im Prinzip plus irgendwelche Bias, dass die heute schon existieren und die einfach nur mehr publiziert sind, eben nochmal in dem mathematischen Modell fest. Ich würde dann halt eben noch immer sehr gerne mal den Seeofaktor hinzufügen,

39:46.620 --> 39:57.620
weil ich meine, im Prinzip ist ja Google eine primitive Version davon, im Sinne von Page-Rank und Autorität und das bildet ein Netzwerk und dann steht da ja irgendwo die Wahrheit drin und gewisse Links wiegen mehr als andere und so Zeug und so hat es passiert.

39:57.620 --> 40:09.620
Das System wurde gegeben und die Hälfte des Internets besteht einfach nur aus irgendwelchen Linkfarmen, die einfach nur engeniert sind mit, sagen wir mal, finsteren Hintergedanken und sei der finsteren Hintergedanken nur, ich will mir einen billigen Euro verdienen.

40:09.620 --> 40:15.620
Aber das wurde halt irgendwie engeniert, um halt im Prinzip diese Maschine mit Input zu füttern, um ein bestimmtes Ziel zu erreichen.

40:15.620 --> 40:38.620
Dagegen ist ja nicht notwendigerweise die AI-Immun, warum sollte ich nicht auch statt SEO auch AEO machen können, kann ich ja machen, kann ich ja irgendwie AI-Optimierung machen, um dann irgendwie so meinen persönlichen Standpunkt, dass da die Schädelform doch ganz relevant sind, dafür wie gut sie als Busfahrer taugen, kann ich ja da vielleicht einbringen, wenn ich mir ein bisschen Mühe gebe.

40:38.620 --> 40:58.620
Ja, also ich denke und das wird früher und später oder vielleicht passiert es auch einfach schon. Es gibt halt diese sozusagen Desinformationsnetzwerke, die wir jetzt heute schon sehen bei Wahlen oder so, wenn da Leute Überwerbung beeinflusst werden sollen oder über, was weiß ich, gehackte Twitter-Accounts oder I don't know what.

40:58.620 --> 41:19.620
Das wird halt irgendwann auf ein Tool wie ChatGPT sich migrieren sozusagen und es wird halt Informationen an der einen oder anderen Stelle im Internet geben, wo auf jeden Fall gelesen wird und wo dann irgendwie Quatsch drin steht und ich glaube, das ist gar nicht so weit weg oder vielleicht passiert es halt schon längst.

41:19.620 --> 41:32.620
Aber weil das alles so schwer ist, achso, nee, ich wollte ja vorhin noch hier zum Thema Punkt 3 sagen, was du sagtest, Peter, auf was zahlt denn eigentlich dann sozusagen mehr Informationen, die im,

41:32.620 --> 41:53.620
der Datenbank in Anführungsstrichen sind, ein, da war der Punkt 3 ja noch die Synthese, besseres Zusammenführen von Fakten zu einer Synthese, zu einem Outcome sozusagen, durch mehr Informationen hinbekommen und das glaube ich ja, also wenn du mehr Informations, also mehr Input-Parameter hast,

41:53.620 --> 42:06.620
um daraus eine Ableitung zu machen, wird es ja einfacher, also keine Ahnung, ich nehme mal den, den, den Auto, ja, je mehr Sensorik einen Auto hat und seine Umwelt wahrnehmen kann,

42:06.620 --> 42:25.620
weil so besser kann es eine Ableitung davon machen, wie fährt es und wo muss es dich einkesseln, wo muss es dich links und rechts einleiten und das ist ja eine Ableitung, die sozusagen durch ein maschinelles Lernen passiert und genauso glaube ich, wird es halt auch sein, wenn es um Texte geht,

42:25.620 --> 42:38.620
dann sagst du, ey, hier sind 50 Fakten, mach mir mal eine Ableitung aus diesen Fakten und bilde mal eine Korrelation daraus, wenn du sagst, hier hast du 500.000 Fakten und mach mal eine Korrelation daraus,

42:38.620 --> 42:42.620
wahrscheinlich wird das Ergebnis vom Letzteren besser sein.

42:42.620 --> 42:51.620
Aber der Unterschied ist da in meinem Auge, dass man halt eben tatsächlich die, so dass die Performance von einem Auto als normaler Mensch ganz gut bewerten kann, also fährt gut und baut keine Unfälle,

42:51.620 --> 42:59.620
aber wenn ich jetzt wirklich sowas in ChatGPT reinschmeiße, wie, mach mir bitte mal ein marxistisches Reading von Transformers 4, dann macht er das.

42:59.620 --> 43:04.620
Wie soll ich das bewerten? Ich hab von Marxismus keine Ahnung, ich hab Transformers 4 nicht gesehen.

43:04.620 --> 43:17.620
So, das ist ja, das ist halt das Problem, es werden halt nicht einfach nur irgendwie so Dinge runtergekocht auf so Umstände wie fährt gut und stößt nirgendwo gegen, sondern ich mach halt ja wirklich Synthese von Konzepten

43:17.620 --> 43:23.620
und wenn ich da zwei Konzepte nehme, von denen ich keine Ahnung habe, diesen Film und diese spezifische Lesart und baue mir das zusammen.

43:23.620 --> 43:28.620
So, okay, dann kriege ich das. Was mache ich damit? Welchen Wert hat das für mich?

43:28.620 --> 43:44.620
Und deswegen, finde ich, sollten wir uns mehr diesen rationaleren Themen widmen, weil diese Metathemen, die sind so, die sind superkomplex und keine Ahnung, es ist total schwer abzusehen, auch wo sich das hin entwickelt.

43:44.620 --> 43:52.620
Weshalb ich diesen Punkt gemacht hab mit den rationalen Sachen, ist einfach so mein Gedanke jetzt an unsere Arbeitswelt. Vorhin hattest du es Vanessa ja schon angesprochen.

43:52.620 --> 43:56.620
Was hatten das für Auswirkungen für uns, für unsere Arbeitswelt?

43:56.620 --> 44:07.620
Ja, ja, und genau da kommen wir jetzt so auf mein zweites Problem zu sprechen. Worauf ich mich gerne eigentlich fokussieren würde bei diesen ganzen Anstatt, kann das das Transformers 4-Movie richtig widergeben,

44:07.620 --> 44:15.620
sondern was wollen wir denn eigentlich damit tun? Und jetzt hatten wir schon die Positiven, je nachdem, wie man das auslegt,

44:15.620 --> 44:22.620
Beispiele wie CV oder vielleicht Anfälle doch einfach auf diese ganzen E-Mails, wo ich eh nur Tipparbeit habe, mein Kopf war dabei ja aus ist.

44:22.620 --> 44:30.620
Aber es gibt doch so viele Sachen, die für uns Menschen extrem simpel erscheinen.

44:30.620 --> 44:39.620
So viele Alltagsentscheidungen, wie wenn ich mich jetzt wegen irgendwas, keine Ahnung, ich hab im Supermarkt was fein gelassen,

44:39.620 --> 44:45.620
letztens tatsächlich blöderweise tat mir total leid und die an der Kasse hat gesagt, ja, ja, ja, ich seh schon, komm, hol dir schnell ein neues.

44:45.620 --> 44:53.620
Und das ist für uns so eine Alltagssituation, bam, schnell gelöst, weil damit für alle eine win-win Situation ist.

44:53.620 --> 44:58.620
Aber kann so ein Tool eigentlich auch solche Entscheidungen treffen und sollte es tun?

44:58.620 --> 45:07.620
Also für mich ist die Frage, ist es okay, dass du deinen CV-Tipptop umformen lässt, aber wie wäre es denn eigentlich bei der Auswertung?

45:07.620 --> 45:16.620
Könnten solche Tools zum Beispiel CVs auswerten? Und was kommt dann überhaupt raus, wenn halt eine KI oder ML egal,

45:16.620 --> 45:25.620
den CV schreibt und die andere AI es auswertet? Und wenn es jetzt auch noch Richtung legal Sachen und rechtliche Sachen gibt, wo's in die Grenzen?

45:25.620 --> 45:32.620
Ich glaube, diesen Fall gab's ja schon. Also ich glaube, dass Maschinen, die CVs hauptsächlich bewerten, das findet schon statt.

45:32.620 --> 45:41.620
Also einige Firmen schreiben ja auf ihre Webseiten, bei uns guckt auf jeden Fall immer ein Mensch drüber und machen damit in Anfangstrichen Werbung.

45:41.620 --> 45:48.620
Es gab irgendwann mal diesen Fall, dass man eine KI verwendet hatte, um Lebensläufe zu bewerten.

45:48.620 --> 46:00.620
Das musste man dann aber abschalten aufgrund von Biases. Ihr habt das vorhin angesprochen, weil dann irgendwelche rassistischen Tendenzen in der KI waren.

46:00.620 --> 46:08.620
Das erinnere ich mich noch auf einen Vortrag bei der Think-About-Konferenz, wo jemand da sehr detailliert drüber gesprochen hatte.

46:08.620 --> 46:20.620
Das sind große Risiken und ich glaube, je länger wir halt an diesen Problemen arbeiten, je länger wir halt diese KIs trainieren, desto besser werden die, damit das nicht passiert.

46:20.620 --> 46:35.620
Und CVs, die halt so gar nicht zutreffen, sag ich mal, auf deine Stelle, wir haben einen Android-Engineer und ich kriege halt Bewerbungen von jemanden, der noch nie was, der halt nicht einmal Android in seinem CV stehen hat.

46:35.620 --> 46:42.620
Oder ich brauche Kotlin und ich brauche auch Testdriven Development und da steht annähernd gar nichts dazu drin.

46:42.620 --> 46:48.620
Also kann ich leider direkt absagen. So was, glaube ich, das wird schon möglich sein.

46:48.620 --> 46:58.620
Was ich viel krasser finde oder weshalb ich eben Arbeit meinte, das ist dieses ganze Thema Programmierung an sich.

46:58.620 --> 47:08.620
Ja, da sind wir jetzt noch gar nicht so richtig drauf eingegangen. Aber ich finde es da auch das Spannende, diese sofortige Frage ist jetzt mein Job weg.

47:08.620 --> 47:20.620
Hans, du willst gleich und ich lasse dich gleich. Ich glaube, nur das, was ich dazu sagen möchte ist, auch wenn man die Meinung hat, quatscht, das passiert alles nicht oder auch Panik davor hat,

47:20.620 --> 47:30.620
ich würde es trotzdem nicht ignorieren, auch wenn ich persönlich Vanessa hier glaube, dass ChatGPD mir nicht das Programmieren klauen wird und ich plötzlich arbeitslos bin.

47:30.620 --> 47:39.620
Ich würde trotzdem es einfach aus menschlicher Aspekt her einfach nicht ignorieren, dass es das gibt und es vielleicht irgendwie zu nutzen wäre.

47:39.620 --> 47:46.620
Ich glaube, das ist halt ganz wichtig, dass wir uns auch damit beschäftigen mit diesem Tooling. Also was kommt da jetzt alles um die Ecke?

47:46.620 --> 47:56.620
Ein Thema GitHub Co-Pilot, dieses Tool, was dich sozusagen unterstützt, während du programmierst.

47:56.620 --> 48:01.620
Kannst du als Extension irgendwie in dein Visual Studio Code packen?

48:01.620 --> 48:07.620
Und als ich das das erste mal genutzt habe, das war so krass einfach.

48:07.620 --> 48:16.620
Also ich habe irgendwelchen Code geschrieben und auf einmal schlägt das Tool mir vor, was ich gleich schreiben möchte.

48:16.620 --> 48:26.620
Als wüsste es, was ich für Gedanken habe. Ich sage irgendwo an irgendeiner Stelle im Code sage ich, keine Ahnung, in React, set variable,

48:26.620 --> 48:37.620
klammer auf, anfangen Striche oben, string rein, fertig und dann muss ich ja noch diesen Hook, you state, irgendwie initialisieren habe ich halt vorher noch nicht gemacht.

48:37.620 --> 48:44.620
Ich springe oben an den Anfang meiner Funktionalkomponente und das Ding schreibt die komplette Zeile.

48:44.620 --> 48:46.620
Das weiß welchen Typ ich darf verwenden.

48:46.620 --> 48:56.620
Ich frage mich nur, ist das wirklich krasser als ein Dialog zu schreiben? Weil irgendwie haben wir alle das Gefühl, dass es auch noch Code vervollständigen kann.

48:56.620 --> 49:01.620
Ey, das war jetzt schon meins, das habe ich studiert oder das habe ich mir selbst beigebracht mit 1000 Büchern, das war anstrengend.

49:01.620 --> 49:05.620
Während so ein Dialog, naja, ein bisschen Wikipedia nachschauen kann ja jeder.

49:05.620 --> 49:11.620
Wenn es jetzt irgendwie schon, wie du sagtest, beim Code passiert und ich springe in eine andere Zeile und das weiß, was ich tut, boah krass.

49:11.620 --> 49:20.620
Aber die Grundlagen sind ja recht ähnlich. Es hat sehr viele Code-Schnipsel und denkt jetzt für dich ein bisschen mit, was du wohl wahrscheinlich...

49:20.620 --> 49:26.620
Ja, das hat ja den Code und den Kontext und die umgebenden Variablen als Input-Parameter in die Autokomplition.

49:26.620 --> 49:36.620
Ja, und das ist halt cool, also, als ich das das erste Mal probiert habe und dann irgendwie mir die komplette Funktion, die ich gleich schreiben will, mit 10 Zeilen irgendwie vorgeschlagen hat.

49:36.620 --> 49:44.620
Das fand ich halt schon einfach imposant. Und wenn man das halt jetzt weiter denkt, wie viel muss man dann wirklich noch selber schreiben?

49:44.620 --> 49:50.620
Wie mein Chat-GP Team, man sieht es auch da, man gibt abstrakt ein, schreibt mir folgenden Code in TypeScript.

49:50.620 --> 49:54.620
Ich möchte folgendes Problem lösen und das Ding schreibt dir diese Funktion komplett.

49:54.620 --> 50:01.620
Du sagst, hier ist mein Code, mach mir Tests dazu, du bekommst deine Tests dazu, du musst sie nicht mehr selber schreiben.

50:01.620 --> 50:07.620
Du willst vielleicht an der einen oder anderen Stelle nochmal tweaken? Okay, aber du kriegst praktisch alles, was...

50:07.620 --> 50:11.620
Also Tests schreiben, wie viel Boilerplate man da jedes Mal schreibt.

50:11.620 --> 50:17.620
Das kriegst du einfach Freihaus, einfach so mitgeliefert und das finde ich einfach...

50:17.620 --> 50:27.620
Ich finde das saukrass, nicht, dass das unseren Job wegnimmt, aber was das macht, ist, das macht halt einfach, das spart dir ultra viel Zeit.

50:27.620 --> 50:35.620
Was das nicht wegnimmt, ist das Denken, finde ich, weil du musst immer noch denken, wie, also sozusagen, ist das richtig, was da passiert.

50:35.620 --> 50:43.620
Aber wenn man jetzt mal das weiterspint, was mir immer so vorschwebt ist und das gibt es, habe ich jetzt neulich gesehen,

50:43.620 --> 50:52.620
du sagst einfach, ich will eine Webseite, folgendes Thema und grob ist das hier mein Dateninput und das sind die Dinge, die ich da drauf displanen soll.

50:52.620 --> 51:03.620
Du wählst noch irgendwie aus hier, das ist mein Template, was ich nutzen will und deine individuelle Webseite ist mit AI jetzt erstellt, fertig.

51:03.620 --> 51:10.620
Klar, musst du dann links und rechts mal ein bisschen nachbessern, aber das ist sowas, das finde ich imposant,

51:10.620 --> 51:16.620
weil das halt unsere Arbeit so grundlegend verändert und verändert wird in der Zukunft.

51:16.620 --> 51:23.620
Ich würde dir auch heutzutage keinen... Also, im Sinne von ist Webseite gleich Webseite.

51:23.620 --> 51:30.620
Also, es gibt ja, sagen wir mal so, es gibt ja so Dinge wie, ich habe mein Hand geklöppeltes HTML, ich nehme irgendwie WordPress und ein Standards-Theme,

51:30.620 --> 51:38.620
ich gehe irgendwie zu Squarespace, so, das sind ja sozusagen, klar, im Endprodukt sind das irgendwelche Webprodukte mit HTML, wo am Ende Leute drinnen rumklicken.

51:38.620 --> 51:49.620
Aber ich würde doch schon sagen, dass die erstellt werden von unterschiedlichen Nutzerinnen und dass die möglicherweise in erster Näherung

51:49.620 --> 51:52.620
so alles zusammengefasst, auch unterschiedliche Ziele verfolgen.

51:52.620 --> 51:58.620
Ich würde jetzt, wenn ich meine Linkfarm zum irgendwie zur AI-Optimierung oder SEO-Optimierung machen wollen würde,

51:58.620 --> 52:03.620
dann würde ich die ja nicht handdengeln, sondern dann würde ich die ja tatsächlich generieren.

52:03.620 --> 52:08.620
Also, ich würde das sozusagen, wenn ich jetzt sage, ich segmentiere das qualitativ, dann hört es sich jetzt gemein an,

52:08.620 --> 52:11.620
als würde ich jetzt irgendwie sagen, Squarespace ist doof.

52:11.620 --> 52:15.620
Will ich gar nicht sagen, sind volles Tool für gewisse Nutzer und Ziele und Zeug.

52:15.620 --> 52:19.620
Aber wenn ich das jetzt wirklich mal so mit dem bösen Wort qualitativ segmentiere,

52:19.620 --> 52:30.620
dann ist doch der Bereich, der dann von solchen AIs bedient wird, ein ganz spezifisches Segment.

52:30.620 --> 52:36.620
Ich würde ja nicht die, sagen wir mal, Webseite von meinem DAX-Konzern auf die Weise erstellen

52:36.620 --> 52:39.620
und habe ja auch gar keinen Bedarf, das auf diese Weise zu erstellen,

52:39.620 --> 52:43.620
weil davon gibt es ja nur einer und die kann ich auch ordentlich machen,

52:43.620 --> 52:46.620
um dann da meinen Geschäftsbericht zu publizieren und Zeug.

52:46.620 --> 52:47.620
Weißt du, was ich meine?

52:47.620 --> 52:48.620
Ja.

52:48.620 --> 52:51.620
Das industrialisiert einen Prozess, aber nicht alle Aspekte oder Segmente,

52:51.620 --> 52:55.620
die dieser Prozess sozusagen an Produktkategorien produziert,

52:55.620 --> 53:01.620
gewinnen durch eine Industrialisierung, durch eine Standardisierung, durch eine schnellere Generierung.

53:01.620 --> 53:02.620
Das stimmt.

53:02.620 --> 53:07.620
Auf der anderen Seite, wenn du beispielsweise das als Unterstützung siehst,

53:07.620 --> 53:11.620
nicht als die bestimmende Macht, sondern als Unterstützung,

53:11.620 --> 53:15.620
du hast einen komplexen Konzern.

53:15.620 --> 53:20.620
Hier ist meine Organisationsstruktur, so sind wir ungefähr abgebildet.

53:20.620 --> 53:27.620
Wie würde sich das denn jetzt mal grob gesagt auf einer Webseite gut darstellen lassen?

53:27.620 --> 53:29.620
Was muss ich denn präsentieren?

53:29.620 --> 53:32.620
Und du musst ja dann auf die nächsten Ebenen gehen.

53:32.620 --> 53:35.620
Dann kriegst du einen Vorschlag, da musst du iterieren, da drüber nachdenken

53:35.620 --> 53:38.620
und dann gehst du halt wieder an die AI und sagst, okay,

53:38.620 --> 53:42.620
aber wie kann ich den folgenden Teilbereich der Webseite besser darstellen?

53:42.620 --> 53:46.620
Und worauf ich vor allem hinaus wollte, war der programmiertechnische Aspekt.

53:46.620 --> 53:50.620
Was wir im Frontend-Development sehr, sehr häufig machen,

53:50.620 --> 53:56.620
ist, wir überlegen uns ein Designsystem, bauen das in Komponenten basiert, reusable um

53:56.620 --> 53:59.620
und haben unser fertiges Designsystem.

53:59.620 --> 54:04.620
Und darauf basierend bauen wir alle Seiten einzeln nach.

54:04.620 --> 54:09.620
Also dann sagen wir, okay, wir wollen folgendes Thema präsentieren.

54:09.620 --> 54:13.620
Und also, jetzt mal, das ist ein Fall, natürlich gibt es auch viele andere Fälle,

54:13.620 --> 54:17.620
wie ihr eure Webseiten baut, so, manche machen komplett individual

54:17.620 --> 54:21.620
und coole fancy Webseiten sind natürlich anders gebaut.

54:21.620 --> 54:23.620
Aber das ist ein häufiges Pattern, ja.

54:23.620 --> 54:28.620
Du hast irgendwelche Komponenten und du baust daraus eine fertige Webseite.

54:28.620 --> 54:32.620
Content aside, ja, es gibt Leute, die schreiben Content vielleicht selbst,

54:32.620 --> 54:36.620
ja, du hast vielleicht deine Army an Editorinnen und Editorn.

54:36.620 --> 54:42.620
Aber jetzt heißt es, ich möchte einen neuen Seitentyp entwickeln

54:42.620 --> 54:46.620
aus diesen Komponenten zu folgender Fragestellung.

54:46.620 --> 54:51.620
Ich nehme mal jetzt einfach aus dem Streaming-Bereich, ja.

54:51.620 --> 54:57.620
Ich möchte einen neuen Daten- oder Seitentyp erstellen aus meiner Komponenten Library,

54:57.620 --> 55:02.620
der bestimmte Sendeformate anders aufbereitet,

55:02.620 --> 55:05.620
und zwar für die Zielgruppe XYZ.

55:05.620 --> 55:07.620
Wie mache ich das denn am besten?

55:07.620 --> 55:12.620
Drücke Enter und die Maschine generiert mir 5, 6, 7 Vorschläge,

55:12.620 --> 55:16.620
wie das, warum das gut wäre, vielleicht oben keinen Header zu haben,

55:16.620 --> 55:18.620
sondern direkt 5, 6 Videos anzupreisen.

55:18.620 --> 55:21.620
Ich will ich Shortform-Content oben anpreisen

55:21.620 --> 55:24.620
oder will ich eine Longform-Episode anpreisen.

55:24.620 --> 55:25.620
Was verkauft sich denn besser?

55:25.620 --> 55:27.620
Natürlich kann auch ich das alles machen

55:27.620 --> 55:29.620
und kann mir die Input-Parameter angucken,

55:29.620 --> 55:32.620
kann mir angucken, okay, was verkauft denn am besten,

55:32.620 --> 55:34.620
und dann rank ich das höher.

55:34.620 --> 55:39.620
Aber warum denn? Das macht man ja heute schon, so zu sagen.

55:39.620 --> 55:44.620
Macht halt meine Recommendation-Engine auf Steroids.

55:44.620 --> 55:49.620
Und weil du jetzt User XY bist, bewertest du es nochmal anders.

55:49.620 --> 55:52.620
Es ist anderer Content für dich dargestellt, die Personalisierung.

55:52.620 --> 55:55.620
Vieles davon passiert ja heute schon.

55:55.620 --> 56:00.620
Und mit AI kann man da halt, also mit dem, was halt sozusagen

56:00.620 --> 56:05.620
Datenauswertungen über AI schon noch zusätzlich hinzufügen kann,

56:05.620 --> 56:09.620
glaube ich, kann man halt noch viel relevantere Ergebnisse anzeigen

56:09.620 --> 56:11.620
für Benutzerinnen und Benutzer.

56:11.620 --> 56:13.620
Das heißt, wir machen jetzt tatsächlich nicht,

56:13.620 --> 56:15.620
wir generieren eine Seite und laden sie hoch,

56:15.620 --> 56:18.620
sondern machen sozusagen eine On-the-fly-Seiten-Generierung.

56:18.620 --> 56:23.620
Wenn da irgendwie jemand vorbeikommt, dann ist der Content nicht da,

56:23.620 --> 56:26.620
der da angeklickt wird, sondern der wird generiert, wenn angeklickt.

56:26.620 --> 56:31.620
Durch Input-Parameter wie Nutzer, Thema, Kontext und so weiter.

56:31.620 --> 56:33.620
Versteh ich dich richtig?

56:33.620 --> 56:35.620
Also vieles davon gibt es heute schon.

56:35.620 --> 56:37.620
Und ja, das ist sicher ein Teil davon.

56:37.620 --> 56:42.620
Aber ich glaube, also ich nehme jetzt mal das Beispiel Suchergebnisse.

56:42.620 --> 56:46.620
Beispielsweise Algolia, kennt ihr vielleicht auch,

56:46.620 --> 56:49.620
ist so eine Suchmaschine, die habt ihr jetzt auch schon wieder

56:49.620 --> 56:53.620
über zwei Jahre, glaube ich, nicht verwendet oder anderthalb oder so.

56:53.620 --> 56:58.620
Zum letzten Zeitpunkt, als ich das benutze, dieses Context-Aware

56:58.620 --> 57:05.620
und sozusagen pro User, also personalisierte Suchergebnisse auszuspielen,

57:05.620 --> 57:08.620
die sehr wahrscheinlich auf dich passen, das war schon etwas,

57:08.620 --> 57:12.620
das konnten die schon aufgrund der Art und Weise, wie sie gebaut sind.

57:12.620 --> 57:16.620
Das können heutzutage, glaube ich, Suchmaschinen allgemein schon.

57:16.620 --> 57:20.620
Was ich meine mehr ist, du hast aus mehreren Input-Quellen etwas,

57:20.620 --> 57:22.620
nämlich diese Personalisierung auf der einen Seite,

57:22.620 --> 57:27.620
aber auf der anderen Seite hast du etwas, du hast ein abstraktes Thema,

57:27.620 --> 57:30.620
wie jetzt zum Beispiel bestimmtes Sendungsformat

57:30.620 --> 57:35.620
und möchtest das dazu einen neuen Seitentyp generieren

57:35.620 --> 57:40.620
für folgende 10, 15 Sendungen und vielleicht auch in Zukunft noch mehr.

57:40.620 --> 57:44.620
Aber du willst dir gar keine Gedanken machen, wie dieser Seitentyp jetzt aussieht.

57:44.620 --> 57:47.620
Also welcher Content wird auf dieser Seite überhaupt dargestellt

57:47.620 --> 57:49.620
und wie wird er dargestellt?

57:49.620 --> 57:54.620
Weil das wie, das weiß die Maschine im Zweifel aufgrund von Dateninput,

57:54.620 --> 57:56.620
eh viel besser als du.

57:56.620 --> 57:59.620
Und das ist, glaube ich, etwas, wo wir heutzutage sagen,

57:59.620 --> 58:03.620
okay, jetzt bauen wir mal die Content-Detail-Seite für den Typ,

58:03.620 --> 58:08.620
nämlich Longform, Content oder unsere Top-Show.

58:08.620 --> 58:14.620
Machen wir gar nicht mehr, weil das macht unsere Maschine.

58:14.620 --> 58:19.620
Wir fördern nur noch reusable Components.

58:19.620 --> 58:22.620
Du würdest nicht annehmen, dass die Bedingung,

58:22.620 --> 58:24.620
und ich will das alles gar nicht so genau wissen,

58:24.620 --> 58:29.620
also nicht eine relativ relevante Bedingung ist,

58:29.620 --> 58:33.620
die, sagen wir mal, bei vielen Use-Cases nicht erfüllt ist.

58:33.620 --> 58:37.620
Also ich meine, du musst ja zu deinem Produkt ein gewisses Verhältnis haben,

58:37.620 --> 58:40.620
um zu sagen, ist mir egal.

58:40.620 --> 58:45.620
Ja, das stimmt.

58:45.620 --> 58:48.620
Und dann kommt die große Fragestellung in den Raum,

58:48.620 --> 58:50.620
was willst du mit diesem Produkt erreichen?

58:50.620 --> 58:53.620
So, und jetzt sagen wir mal einfach irgendein,

58:53.620 --> 58:57.620
keine Ahnung, Streaming-Anbieter, Netflix,

58:57.620 --> 58:59.620
was wollen die mit ihrem Produkt erreichen,

58:59.620 --> 59:02.620
hauptsächlich neue Subscriberinnen und Subscriber,

59:02.620 --> 59:04.620
die Kohle machen.

59:04.620 --> 59:06.620
Oder wir nehmen ein anderes Produkt,

59:06.620 --> 59:10.620
was irgendwie nicht Subscription und Demand,

59:10.620 --> 59:12.620
klar, Netflix hat jetzt auch Advertising und Demand,

59:12.620 --> 59:17.620
aber sagen wir mal, das ist ein eher Advertising und Demand-basiertes Modell,

59:17.620 --> 59:22.620
dann ist das, was am besten sozusagen performt

59:22.620 --> 59:26.620
und die am meisten Revenue generiert, das ist das Einzige, was zählt.

59:26.620 --> 59:29.620
Also, jetzt mal sehr, sehr plakativ gesprochen.

59:29.620 --> 59:31.620
Und ich glaube, da gibt es tatsächlich ein Gegenbeispiel,

59:31.620 --> 59:33.620
dass das so nicht zutrifft,

59:33.620 --> 59:38.620
weil, ich meine, die moderne Bewegung von der flachen Erde,

59:38.620 --> 59:41.620
die ist ja tatsächlich entstanden,

59:41.620 --> 59:43.620
nicht weil sich irgendwer das überlegt hat,

59:43.620 --> 59:45.620
sondern das ist ja tatsächlich etwas,

59:45.620 --> 59:48.620
was Content-Algorithmen produziert haben.

59:48.620 --> 59:51.620
Du hast ja, überall hast du ja Cranks rumsitzen

59:51.620 --> 59:55.620
und nur wenn du halt Algorithmen hast, die sozusagen sagen,

59:55.620 --> 59:58.620
ah, okay, irgendwie Engagement und Watchtime,

59:58.620 --> 01:00:00.620
das ist ja auf YouTube so passiert, ist halt besser,

01:00:00.620 --> 01:00:03.620
dann werden halt eben gewisse Dinge, sagen wir mal, gepusht

01:00:03.620 --> 01:00:05.620
und vor allen Dingen werden halt zusammengeführt.

01:00:05.620 --> 01:00:07.620
Man führt halt die Cranks alle dazu dem Konzept,

01:00:07.620 --> 01:00:08.620
weil man halt irgendwie weiß,

01:00:08.620 --> 01:00:10.620
Leute, die auf eine gewisse Weise drauf sind,

01:00:10.620 --> 01:00:12.620
die finden sich dann da ein

01:00:12.620 --> 01:00:14.620
und die fühlen sich dann da zu Hause.

01:00:14.620 --> 01:00:17.620
Aber das führt dann natürlich auch zu so unmittelbaren,

01:00:17.620 --> 01:00:20.620
sagen wir mal, negativen Auswirkungen für deine Company,

01:00:20.620 --> 01:00:22.620
wie zum Beispiel, das halt eben dann da steht,

01:00:22.620 --> 01:00:24.620
haha, hier, die bei YouTube, die sorgen halt dafür,

01:00:24.620 --> 01:00:26.620
dass sich alle radikalisieren und glauben,

01:00:26.620 --> 01:00:28.620
dass die Erde flach ist oder so was.

01:00:28.620 --> 01:00:30.620
Ein Beispiel, das ich nicht sagen kann,

01:00:30.620 --> 01:00:32.620
eher so ein sehr simples ist.

01:00:32.620 --> 01:00:34.620
Das ist aber Inhalt und da geht es um Inhalt

01:00:34.620 --> 01:00:40.620
und nicht um, ist das Video, hast du 4 oder 5 Ads,

01:00:40.620 --> 01:00:43.620
bevor du deinen Inhalt ansiehst

01:00:43.620 --> 01:00:47.620
oder ist oben, also soll die Benutzerin und der Benutzerin

01:00:47.620 --> 01:00:52.620
in 30 Minuten Reportage über das Thema flacher Erde gebracht werden

01:00:52.620 --> 01:00:55.620
oder in ein 2-Minuten-Snippet.

01:00:55.620 --> 01:00:57.620
Und das ist das, was ich meine.

01:00:57.620 --> 01:00:59.620
Und das ist kein Inhalt, den meinte ich nämlich nicht,

01:00:59.620 --> 01:01:02.620
sondern ich meinte damit, dass unbeabsichtigte Folgen

01:01:02.620 --> 01:01:05.620
aus dieser Optimierung erwachsen können.

01:01:05.620 --> 01:01:08.620
Jetzt nicht spezifisch, nicht spezifisch jetzt so,

01:01:08.620 --> 01:01:10.620
weil, wenn wir jetzt mal sagen,

01:01:10.620 --> 01:01:13.620
YouTube ist einfach nur eine Maschine, ist ein Unternehmen,

01:01:13.620 --> 01:01:15.620
den ist egal, ob sich wer radikalisiert oder nicht,

01:01:15.620 --> 01:01:18.620
weil geht halt nur darum, das Klickwerbung Watchtime.

01:01:18.620 --> 01:01:20.620
Aber es gibt natürlich auch noch so Dinge,

01:01:20.620 --> 01:01:23.620
wie ein öffentliches Image und ähnliche Geschichten.

01:01:23.620 --> 01:01:25.620
Und das ist halt so das Ding, wo ich halt sage,

01:01:25.620 --> 01:01:28.620
ich sehe absolut diesen Use Case, den du da aufgemacht hast,

01:01:28.620 --> 01:01:31.620
wo man halt eben sagt, generier mir das halt eben alles.

01:01:31.620 --> 01:01:34.620
Aber es kann halt eben tatsächlich, ja,

01:01:34.620 --> 01:01:37.620
es braucht halt eben ein bestimmtes Verhältnis zu dem Produkt,

01:01:37.620 --> 01:01:39.620
das ich mache, wenn ich halt wirklich sage,

01:01:39.620 --> 01:01:41.620
ich überlasse das der Maschine, es ist mir egal,

01:01:41.620 --> 01:01:43.620
ob da möglicherweise Folgen drin sind.

01:01:43.620 --> 01:01:45.620
Wie gesagt, ich bin nicht der Meinung,

01:01:45.620 --> 01:01:48.620
dass die notwendigerweise per Inhalt kommen müssen.

01:01:48.620 --> 01:01:50.620
Okay, da haben wir unterschiedliche Meinungen,

01:01:50.620 --> 01:01:52.620
weil ich bin schon der Meinung,

01:01:52.620 --> 01:01:55.620
das ist ganz stark dieses Feld, welche Daten fütter ich dann

01:01:55.620 --> 01:01:58.620
am Ende auf eine Webseite drauf ist.

01:01:58.620 --> 01:02:00.620
Aber wenn wir jetzt nochmal über den Job

01:02:00.620 --> 01:02:03.620
als Frontentwicklerinnen und Entwicklern nachdenken, ja,

01:02:03.620 --> 01:02:05.620
und du wirklich dir Gedanken machst so,

01:02:05.620 --> 01:02:07.620
wie baue ich eine Webseite auf?

01:02:07.620 --> 01:02:10.620
Oder wie baue ich einen Datentyp auf?

01:02:10.620 --> 01:02:14.620
Dann ist Inhalt erstmal egal, dann geht es viel um Form.

01:02:14.620 --> 01:02:16.620
Und wenn du das halt, so zu sagen,

01:02:16.620 --> 01:02:18.620
und ich glaube, das kann man halt wegabseihen.

01:02:18.620 --> 01:02:20.620
Das ist meine These eigentlich so.

01:02:20.620 --> 01:02:23.620
Ich glaube, wir werden in der Zukunft schaffen,

01:02:23.620 --> 01:02:27.620
Frontentarbeit, die um Seiten zu erzeugen,

01:02:27.620 --> 01:02:29.620
in Anfangstrich, Seitentypen zu erzeugen,

01:02:29.620 --> 01:02:31.620
die wird wegfallen.

01:02:31.620 --> 01:02:34.620
Ich glaube, das Crafting innerhalb einer Komponente,

01:02:34.620 --> 01:02:36.620
das wird so schnell erstmal nicht weggehen.

01:02:36.620 --> 01:02:39.620
Es haben sich ja bestimmte Komponententypen,

01:02:39.620 --> 01:02:41.620
sozusagen schon etabliert.

01:02:41.620 --> 01:02:43.620
Vielleicht kann man auch sagen, hey,

01:02:43.620 --> 01:02:45.620
ich muss halt drei, vier Komponententypen bauen.

01:02:45.620 --> 01:02:47.620
Und dann gebe ich das der Maschine

01:02:47.620 --> 01:02:49.620
und die Maschine rechnet mir aus,

01:02:49.620 --> 01:02:51.620
wenn die Komponententypen sind.

01:02:51.620 --> 01:02:53.620
Beispiel, ich habe hier, das ist eine Kart.

01:02:53.620 --> 01:02:56.620
Hier so sieht eine Menü aus.

01:02:56.620 --> 01:02:59.620
Und das hier ist ein Fleece Text mit einem Bild.

01:02:59.620 --> 01:03:02.620
Generiere mir jetzt bitte mal eine Tab-Area.

01:03:02.620 --> 01:03:05.620
Ich sage jetzt einfach mal Slider.

01:03:05.620 --> 01:03:08.620
Und keine Ahnung, was hat man noch?

01:03:08.620 --> 01:03:11.620
Und ein Video-Player dazu.

01:03:11.620 --> 01:03:14.620
Das kann die Maschine, das kann sie heute schon.

01:03:14.620 --> 01:03:17.620
Aber jetzt, wenn wir jetzt nochmal sagen,

01:03:17.620 --> 01:03:21.620
also sagen wir, diese Sachen musst du machen.

01:03:21.620 --> 01:03:23.620
Diese vier Komponenten musst du bauen,

01:03:23.620 --> 01:03:25.620
damit die Maschine dir den Rest

01:03:25.620 --> 01:03:27.620
von deinem Designsystem erbaut.

01:03:27.620 --> 01:03:30.620
Und darauf basierend wird die Maschine dir dann auch

01:03:30.620 --> 01:03:33.620
optimierte Seitentypen ausgeben.

01:03:33.620 --> 01:03:36.620
Das ist alles Arbeit, die kannst du

01:03:36.620 --> 01:03:41.620
für die allermeisten Use Cases wegabstrahieren.

01:03:41.620 --> 01:03:43.620
Ist meine These.

01:03:43.620 --> 01:03:45.620
Und das macht die Maschine für dich.

01:03:45.620 --> 01:03:50.620
Aber jetzt kommen bestimmt die User-Experience-Leute

01:03:50.620 --> 01:03:53.620
und werden mich grillen wollen.

01:03:53.620 --> 01:03:56.620
Ich würde jetzt mal so ganz normal die ökonomische Perspektive

01:03:56.620 --> 01:03:58.620
um die Ecke holen wollen,

01:03:58.620 --> 01:04:01.620
weil die nächste Frage, die ich halt in dem Bereich hätte,

01:04:01.620 --> 01:04:03.620
wenn wir jetzt mal sagen, ihr wollt das haut hin,

01:04:03.620 --> 01:04:06.620
ist halt die Frage, ob das tatsächlich ein Optimierungsziel ist,

01:04:06.620 --> 01:04:08.620
das es sich lohnt, zu bearbeiten.

01:04:08.620 --> 01:04:10.620
Sprich lohnt sich da,

01:04:10.620 --> 01:04:12.620
ist da was für die Bottom-Line rauszuholen,

01:04:12.620 --> 01:04:14.620
speziell, wenn man sagt, deine Position jetzt einnimmt

01:04:14.620 --> 01:04:16.620
und sagt so, das Crafting der Komponenten ist eigentlich

01:04:16.620 --> 01:04:19.620
so das, was weiterhin manuell gemacht werden wird.

01:04:19.620 --> 01:04:21.620
Wenn wir da jetzt mal mitgehen, ist halt die Frage,

01:04:21.620 --> 01:04:23.620
ist das Zusammenführen von dem Ganzen,

01:04:23.620 --> 01:04:25.620
dann tatsächlich ein großes Optimierungsziel,

01:04:25.620 --> 01:04:28.620
auf das es sich lohnt, da Energie zu werfen.

01:04:28.620 --> 01:04:30.620
Ja, ich denke ja.

01:04:30.620 --> 01:04:32.620
Also und ich gebe noch ein Beispiel,

01:04:32.620 --> 01:04:35.620
wie man das noch weiterspinnen kann.

01:04:35.620 --> 01:04:38.620
Sagen wir mal, du entwickelst deine Komponentenbasis

01:04:38.620 --> 01:04:41.620
anhand von, ich sage jetzt mal einfach in Figma,

01:04:41.620 --> 01:04:45.620
das Rausgenerieren von Code gibt es ja jetzt schon,

01:04:45.620 --> 01:04:48.620
das ist halt noch nicht gut, das muss halt gut werden

01:04:48.620 --> 01:04:50.620
und nutzbar werden.

01:04:50.620 --> 01:04:53.620
Und wenn du das dann mit Datenquellen zusammenführst,

01:04:53.620 --> 01:04:56.620
dann brauchst du gar niemand mehr, der HTML schreibt

01:04:56.620 --> 01:04:59.620
oder eine View-Implementierung macht,

01:04:59.620 --> 01:05:01.620
weil das kann ja das Tool.

01:05:01.620 --> 01:05:04.620
Das macht das ja mit AI und du musst nur noch verknüpfen,

01:05:04.620 --> 01:05:06.620
das sind diese Low-Code-Plattformen,

01:05:06.620 --> 01:05:08.620
die es ja jetzt auch teilweise schon gibt,

01:05:08.620 --> 01:05:11.620
also dieses Verknüpfenherstellen irgendwie.

01:05:11.620 --> 01:05:14.620
Und jetzt sagst du, du willst das übrigens,

01:05:14.620 --> 01:05:16.620
diese Komponenten genauso wie sie sind,

01:05:16.620 --> 01:05:18.620
nicht nur im Mobile-Web darstellen,

01:05:18.620 --> 01:05:21.620
sondern du willst das auf iOS, und zwar in Swift,

01:05:21.620 --> 01:05:24.620
am besten SwiftUI, und du willst das auf Kotlin,

01:05:24.620 --> 01:05:27.620
für Android haben, klick.

01:05:27.620 --> 01:05:30.620
Und jetzt übrigens, willst du diese gleichen Komponenten

01:05:30.620 --> 01:05:33.620
noch hochskaliert haben auf eine, ich bin in unserem Use Case

01:05:33.620 --> 01:05:36.620
auf der Arbeit, wir haben halt die Big Screens,

01:05:36.620 --> 01:05:38.620
die alle Smart TVs konsumieren,

01:05:38.620 --> 01:05:41.620
und das muss da drauf übrigens auch laufen.

01:05:41.620 --> 01:05:44.620
Und jetzt skalier mir doch mal bitte diese Dinger hoch.

01:05:44.620 --> 01:05:46.620
Und du musst das nicht machen.

01:05:46.620 --> 01:05:50.620
Klar willst, also jetzt mal aus einer Business-Perspektive betrachtet,

01:05:50.620 --> 01:05:54.620
klar willst du dieses, also sozusagen in diese Lücke vordringen,

01:05:54.620 --> 01:05:59.620
weil das halt unheimlich viel Geld kostet, das zu entwickeln.

01:05:59.620 --> 01:06:03.620
Und das ist jetzt nur mein kleiner Blickwinkel auf diese Sachen.

01:06:03.620 --> 01:06:06.620
Da gibt es so viele Mehrbeispiele, glaube ich,

01:06:06.620 --> 01:06:11.620
wie man, wieso was halt über Maschinen adaptiert, so.

01:06:11.620 --> 01:06:14.620
Ich merke gerade, ich drifte so voll ab in die so,

01:06:14.620 --> 01:06:18.620
also das ist ja schon eine sehr negative Auswirkung,

01:06:18.620 --> 01:06:20.620
sozusagen auf den Engineering-Job,

01:06:20.620 --> 01:06:22.620
was ich aber auch noch betonen will.

01:06:22.620 --> 01:06:24.620
Ich glaube, es verändert einfach den Engineering-Job,

01:06:24.620 --> 01:06:26.620
weil der woanders stattfindet.

01:06:26.620 --> 01:06:28.620
Wir werden nicht mehr das Engineering machen,

01:06:28.620 --> 01:06:31.620
wie wir das heute machen, sondern wir werden halt diejenigen sein,

01:06:31.620 --> 01:06:36.620
die diese Tools entwickeln, auf der AI-Basis, die das können.

01:06:36.620 --> 01:06:40.620
Aber musst du nicht für das ganze Zeug auch jemanden haben,

01:06:40.620 --> 01:06:43.620
der der AI auf die Finger guckt?

01:06:43.620 --> 01:06:47.620
Genau, das ist auch ein ganz, ganz wichtiger Faktor,

01:06:47.620 --> 01:06:49.620
weil das sagt ich ja vorhin, ne?

01:06:49.620 --> 01:06:51.620
Ich glaube, es wird halt so viele,

01:06:51.620 --> 01:06:54.620
oder es gibt auch heute, wenn du ein Artikel schreibst über JetGPT,

01:06:54.620 --> 01:06:57.620
oder wenn du halt sagst, du programmierst mal was im Übrigen,

01:06:57.620 --> 01:07:00.620
ich hab mal hier JetGPT einfach,

01:07:00.620 --> 01:07:03.620
also man kann das ja relativ einfach auch einbinden.

01:07:03.620 --> 01:07:06.620
Das sind irgendwie ein paar Zeilen Code, die haben eine coole API,

01:07:06.620 --> 01:07:09.620
ja, sollte jeder mal ausprobieren, der Bock da drauf hat,

01:07:09.620 --> 01:07:13.620
um sich da Texte generieren zu lassen, das nur als Side Story.

01:07:13.620 --> 01:07:16.620
Aber genau das musst du halt tun.

01:07:16.620 --> 01:07:19.620
Ist das Ergebnis, was du da hast, ein gutes Ergebnis?

01:07:19.620 --> 01:07:22.620
Und wenn nicht, was musst du verändern, damit das gut wird?

01:07:22.620 --> 01:07:24.620
Schreiben die auch auf ihrer API-Webseite, ja?

01:07:24.620 --> 01:07:27.620
Als erstes probier mal bitte folgendes Modell aus

01:07:27.620 --> 01:07:31.620
und danach nimm die Input-Parameter für das Modell

01:07:31.620 --> 01:07:35.620
und passe die an und sehe, was dir bessere Ergebnisse liefert.

01:07:35.620 --> 01:07:37.620
Und wenn du am Ende angekommen bist und sagst,

01:07:37.620 --> 01:07:40.620
okay, ein anderes Modell gibt mir vielleicht bessere Ergebnisse,

01:07:40.620 --> 01:07:45.620
dann, also, und diese Arbeit, die musst du als Entwicklerin

01:07:45.620 --> 01:07:47.620
und Entwickler dann halt machen.

01:07:47.620 --> 01:07:50.620
Ja, ja, ich glaube auf keinen Fall,

01:07:50.620 --> 01:07:52.620
dass unsere Jobs da irgendwie verloren gehen.

01:07:52.620 --> 01:07:56.620
Was ich interessant finde, ist, ob so manche einfach

01:07:56.620 --> 01:08:00.620
Sachen aufhören, wie die jetzt gar keine technischen Auswirkungen haben,

01:08:00.620 --> 01:08:03.620
aber so jetzt typisch mal, wenn die AI jetzt dir vorgeschrieben hat,

01:08:03.620 --> 01:08:06.620
dass das ein Switch-Case ist, gehst du jetzt wirklich hin

01:08:06.620 --> 01:08:08.620
und sagst, ich hätte aber jetzt gerne Liban if else.

01:08:08.620 --> 01:08:12.620
Oder können wir uns davon mal lösen von diesen kleinen Entscheidungen

01:08:12.620 --> 01:08:14.620
und einfach mit dem Code leben.

01:08:14.620 --> 01:08:18.620
Was ich aber dennoch noch nicht gut beantworten kann.

01:08:18.620 --> 01:08:21.620
Ja, ich kann da eine View-Komponente zum Beispiel reinschmeißen

01:08:21.620 --> 01:08:23.620
und sagen, schreib mir die mal in React,

01:08:23.620 --> 01:08:25.620
kommt wahrscheinlich ziemlich guter React-Code raus.

01:08:25.620 --> 01:08:27.620
Ich kann es vielleicht selber gar nicht so gut bewerten,

01:08:27.620 --> 01:08:29.620
also hake ich das ab.

01:08:29.620 --> 01:08:32.620
Oder ich habe vielleicht ein Legacy-Projekt und eine Programmiersprache,

01:08:32.620 --> 01:08:36.620
mit der ich jetzt nicht wirklich normalerweise

01:08:36.620 --> 01:08:38.620
auf der täglichen Begegnungsbasis bin.

01:08:38.620 --> 01:08:41.620
Dann hätte ich extrem gerne so einen Tool,

01:08:41.620 --> 01:08:44.620
weil es wahrscheinlich das Tool besser bewerten kann als ich.

01:08:44.620 --> 01:08:47.620
Allerdings, was ist denn alles beinhaltet,

01:08:47.620 --> 01:08:49.620
was beinhaltet dieses Developer-Shop?

01:08:49.620 --> 01:08:51.620
Wir schreiben ja nicht nur Code

01:08:51.620 --> 01:08:53.620
und wir refactern nicht nur Sachen

01:08:53.620 --> 01:08:57.620
oder wir schreiben nicht einfach nur diese eine Button-Komponente.

01:08:57.620 --> 01:08:59.620
Können wir dann sagen,

01:08:59.620 --> 01:09:05.620
dass, wenn du als Firma jetzt Co-Pilot kaufen solltest

01:09:05.620 --> 01:09:07.620
und wir lassen mal alles vorne raus,

01:09:07.620 --> 01:09:10.620
für jeden, der gerade schreien will, aber GDPR und legaler.

01:09:10.620 --> 01:09:12.620
Da kommen wir schon noch zu.

01:09:12.620 --> 01:09:14.620
Da kommen wir noch dazu.

01:09:14.620 --> 01:09:16.620
Wir haben noch Stunden.

01:09:16.620 --> 01:09:18.620
Aber können wir uns sicher sein,

01:09:18.620 --> 01:09:21.620
dass alle Developer dadurch schneller werden könnten.

01:09:21.620 --> 01:09:23.620
Egal mit welcher Programmiersprache,

01:09:23.620 --> 01:09:26.620
egal welche Features sie umsetzen müssen.

01:09:26.620 --> 01:09:28.620
Ist schneller dann auch das Ziel?

01:09:28.620 --> 01:09:32.620
Also, ich habe halt so mit dem Programmieren von...

01:09:32.620 --> 01:09:34.620
Das ist ein gutes Ding.

01:09:34.620 --> 01:09:36.620
Das Marketing ist da gerade so.

01:09:36.620 --> 01:09:38.620
Ja, das Marketing ist da so, das stimmt.

01:09:38.620 --> 01:09:40.620
Ja, das Marketing ist, alle werden schneller.

01:09:40.620 --> 01:09:42.620
Genau, und das ist jetzt die Frage wahrscheinlich,

01:09:42.620 --> 01:09:45.620
die viele, man sieht hier auch so Manager

01:09:45.620 --> 01:09:47.620
und Engineering Manager vielleicht hören

01:09:47.620 --> 01:09:49.620
und beantworten müssen.

01:09:49.620 --> 01:09:51.620
Werden wir da jetzt alle schneller?

01:09:51.620 --> 01:09:53.620
Sollen wir das kaufen und sind dann alle Features

01:09:53.620 --> 01:09:55.620
30% schneller fertig?

01:09:55.620 --> 01:09:57.620
Zu der Zahl würde ich nicht sagen.

01:09:57.620 --> 01:09:59.620
Die These sind wir dadurch besser.

01:09:59.620 --> 01:10:02.620
Egal, also was jetzt sozusagen besser bedeutet,

01:10:02.620 --> 01:10:05.620
bedeutet das schneller, bedeutet das qualitativ hochwertiger.

01:10:05.620 --> 01:10:09.620
Fragen, die du gerade ja auflöscht, Peter, auch nochmal.

01:10:09.620 --> 01:10:14.620
Ich glaube, da kann man sagen, ja, und zwar im Schnitt alle,

01:10:14.620 --> 01:10:17.620
weinst du damit jeder 100%

01:10:17.620 --> 01:10:19.620
und jeder in deiner Testgruppe

01:10:19.620 --> 01:10:22.620
muss jetzt wirklich sich verbessert haben.

01:10:22.620 --> 01:10:24.620
Potenziell nein.

01:10:24.620 --> 01:10:28.620
Ist dir das egal, weil im Schnitt wirst du schneller?

01:10:28.620 --> 01:10:31.620
Ja, da bin ich mir sehr sicher.

01:10:31.620 --> 01:10:35.620
Und die Lernkurve dafür ist Null.

01:10:35.620 --> 01:10:39.620
Also, es gibt keine Lernkurve.

01:10:39.620 --> 01:10:43.620
Also, ich habe ja mal so ein Abenteuer mit ChatGPT durchgezogen.

01:10:43.620 --> 01:10:46.620
Dass das so aussah, das war gar nicht von langehand geplant,

01:10:46.620 --> 01:10:49.620
sondern ich brauchte halt ein sortiertes Array in JavaScript.

01:10:49.620 --> 01:10:51.620
Und ich habe ja Geschichte und Film studiert.

01:10:51.620 --> 01:10:53.620
Also, irgendwie so Sortieralgorithmus aus dem Ärmel schütteln

01:10:53.620 --> 01:10:55.620
ist jetzt nicht mein Fachgebiet.

01:10:55.620 --> 01:10:57.620
Also, was gehst du hin? Googleste halt eben.

01:10:57.620 --> 01:10:59.620
Das war halt so in grauer Vorzeit.

01:10:59.620 --> 01:11:02.620
Klickte dann so auf die ersten drei Ergebnisse, Stack Overflow.

01:11:02.620 --> 01:11:04.620
Da waren dann halt so die Antworten auch so.

01:11:04.620 --> 01:11:07.620
Und ich dachte schon so, na nu, das kann es aber eigentlich ja nicht sein.

01:11:07.620 --> 01:11:10.620
Weil die halt für das Einfügen in das sortierte Array

01:11:10.620 --> 01:11:13.620
einfach eine Schleife über sämtlichen Kontext gemacht haben

01:11:13.620 --> 01:11:16.620
und halt dann so geschaut haben, aha, wo ist denn der höchste Wert,

01:11:16.620 --> 01:11:18.620
so Index of und so Zeug.

01:11:18.620 --> 01:11:20.620
Das tut einem ja schon nur beim Formulieren weh.

01:11:20.620 --> 01:11:22.620
Aber habe ich halt recherchiert und recherchiert und recherchiert

01:11:22.620 --> 01:11:25.620
und siehe da, dann habe ich halt eine Implementierung gefunden

01:11:25.620 --> 01:11:28.620
mit so Binary Search und Blah und Keks und irgendwie total fancy.

01:11:28.620 --> 01:11:30.620
Habe ich auch nicht ganz verstanden.

01:11:30.620 --> 01:11:32.620
Aber konnte ich mir dann halt eben draufschaffen

01:11:32.620 --> 01:11:34.620
und konnte das dann halt eben verwenden.

01:11:34.620 --> 01:11:37.620
Und habe ich jetzt dann verwendet und ist super und funktioniert ganz gut.

01:11:37.620 --> 01:11:40.620
Und als dann ChatGPT so um die Ecke kam und so auf Twitter,

01:11:40.620 --> 01:11:43.620
die Eltern erinnern sich vielleicht noch, dann so die Runde machte,

01:11:43.620 --> 01:11:45.620
dass man da ja auch Programmierfragen reinwerfen kann,

01:11:45.620 --> 01:11:50.620
bin ich halt eben hin und dachte so, aha, das ist ein klar abgegrenztes Ding,

01:11:50.620 --> 01:11:53.620
wo ich irgendwie, dass ich da so generieren lassen kann,

01:11:53.620 --> 01:11:55.620
kann irgendwie sagen ChatGPT generieren und bitte mal

01:11:55.620 --> 01:11:57.620
einen JavaScript-Implementierung für ein sortiertes Array.

01:11:57.620 --> 01:12:00.620
Habe ich gemacht, kam halt eben raus, was?

01:12:00.620 --> 01:12:04.620
Von Stack Overflow halt eben die suboptimale Index of Lösung.

01:12:04.620 --> 01:12:08.620
In Kontrast zur Google Suche, aber halt eben nicht mit noch

01:12:08.620 --> 01:12:13.620
17 weiteren Ergebnissen, wo mir überhaupt der Möglichkeitenraum aufgemacht wird,

01:12:13.620 --> 01:12:17.620
dass das möglicherweise auch eine richtige Antwort gibt.

01:12:17.620 --> 01:12:20.620
Wenn das also sozusagen mein User-Interface ist,

01:12:20.620 --> 01:12:23.620
zum erschließen dieses Problems, kriege ich eine Antwort,

01:12:23.620 --> 01:12:27.620
die so, sagen wir mal, in einem gewissen Rahmen auch funktioniert,

01:12:27.620 --> 01:12:29.620
aber wo im Prinzip wegabstrahiert ist,

01:12:29.620 --> 01:12:32.620
der ganze Möglichkeitenraum von dem, wie man es auch richtig machen könnte

01:12:32.620 --> 01:12:34.620
und besser machen könnte.

01:12:34.620 --> 01:12:36.620
Und ich konnte das halt eben tatsächlich in dem Fall einschätzen,

01:12:36.620 --> 01:12:40.620
weil ich halt vorher das mal auf die manuelle Altergebrachte Weise gemacht habe.

01:12:40.620 --> 01:12:43.620
Aber wenn ich halt wirklich das als mein einziges Mittel habe,

01:12:43.620 --> 01:12:45.620
um halt das zu machen, oder als mein primäres Mittel,

01:12:45.620 --> 01:12:47.620
weil ich halt eben einfach keine Ahnung habe oder so.

01:12:47.620 --> 01:12:53.620
Und sowas relativ triviales, wie halt irgendwie so ein sortiertes Array,

01:12:53.620 --> 01:12:57.620
schon so ein großes Delta bezüglich, das ist halt irgendwie die naive,

01:12:57.620 --> 01:13:01.620
gerade eben so funktionierende Lösung für die trivialsten Anwendungsfälle,

01:13:01.620 --> 01:13:05.620
bis hin zu dem, das ist halt eine, schon in der grauen Vorzeit der Computerei,

01:13:05.620 --> 01:13:08.620
fertig ausentwickelte Lösung, die funktioniert, nachgewiesen,

01:13:08.620 --> 01:13:10.620
mathematisch Plakiks ist, die gibt es halt eben auch,

01:13:10.620 --> 01:13:17.620
aber die ist halt eben sozusagen unter diesen ganzen Standardantworten so untergegangen.

01:13:17.620 --> 01:13:21.620
Also da würde ich halt eben so fragen, was ist das Optimierungsziel,

01:13:21.620 --> 01:13:24.620
was ist dann wirklich besser und schneller?

01:13:24.620 --> 01:13:26.620
Weil besser würde ich das nicht nennen,

01:13:26.620 --> 01:13:29.620
und schneller ist es zumindest, wenn wir das Benchmarken, ganz sicher auch nicht.

01:13:29.620 --> 01:13:34.620
Und das hat man doch so meine Zweifel an diesen Programmierfähigkeiten dieser Tools,

01:13:34.620 --> 01:13:37.620
dann doch ganz deutlich befeuert.

01:13:37.620 --> 01:13:42.620
Hans, bevor du die Chance hast, ich bin ja voll bei dir bei diesen,

01:13:42.620 --> 01:13:45.620
ich muss komponenten, äh, Seiten komponieren.

01:13:45.620 --> 01:13:48.620
Und diese Aufgaben, die wir alle immer und immer wieder machen.

01:13:48.620 --> 01:13:50.620
Und ich sage selber, ich finde es nicht gut,

01:13:50.620 --> 01:13:54.620
dass wir immer alle ständig Buttons und sowas implementieren müssen.

01:13:54.620 --> 01:13:56.620
Aber ich habe ein komplexes Beispiel.

01:13:56.620 --> 01:14:00.620
Du hast eine Web-Applikation und generell ist die Performance gerade nicht gut.

01:14:00.620 --> 01:14:02.620
Und ich meine jetzt nicht, die Font wird falsch geladen,

01:14:02.620 --> 01:14:06.620
sondern da müssen extrem viele Daten geladen werden,

01:14:06.620 --> 01:14:08.620
die sowohl nochmal auch im Frontend aufbereitet werden,

01:14:08.620 --> 01:14:12.620
aber auch im Backend muss es erstmal aus den richtigen Datenbanken geholt werden

01:14:12.620 --> 01:14:15.620
und vielleicht noch mehrere SQL, auf jeden Fall komplex.

01:14:15.620 --> 01:14:18.620
Ähm, und jetzt können wir einfach sagen,

01:14:18.620 --> 01:14:22.620
gut, in dieser Applikation wird jetzt zum Beispiel GraphQL genutzt

01:14:22.620 --> 01:14:25.620
und auf jeden Fall wissen wir, es ist schon mal bei der Datenbank langsam,

01:14:25.620 --> 01:14:27.620
vielleicht ist der Server noch langsam

01:14:27.620 --> 01:14:31.620
und das Frontend fragt auch viel zu viele Daten auf einmal an.

01:14:31.620 --> 01:14:36.620
Ist zum Beispiel Co-Pilot oder zum Beispiel ChatGPT weit genug,

01:14:36.620 --> 01:14:40.620
dass wir fragen können, ich brauche dafür eine Lösung

01:14:40.620 --> 01:14:44.620
und könnte es dir, weil es kann ja jetzt nicht einfach Code schreiben

01:14:44.620 --> 01:14:49.620
und so sagen, ich hau hier GraphQL raus und nehm bla bla bla stattdessen.

01:14:49.620 --> 01:14:51.620
Oder welche Daten werden jetzt geladen?

01:14:51.620 --> 01:14:55.620
Ich sage, ich lade halt erst die, keine Ahnung, die ersten zehn Items

01:14:55.620 --> 01:14:58.620
und nur, wenn ich schrolle, die nächsten 30 Items.

01:14:58.620 --> 01:15:01.620
Ich würde sagen, das ist mehr so ein Software-Engineering-Problem

01:15:01.620 --> 01:15:03.620
und weniger ein Programmier-Problem.

01:15:03.620 --> 01:15:07.620
Ja, und das sind wir doch noch nicht, zumindest heute.

01:15:07.620 --> 01:15:09.620
Ja, aber kann ja noch kommen.

01:15:09.620 --> 01:15:13.620
Es kommt bestimmt, ich hoffe ihr erlebst

01:15:13.620 --> 01:15:15.620
und deswegen finde ich es ja so gut, dass es diese ganzen Sachen gibt

01:15:15.620 --> 01:15:17.620
und sage, wir sollten sie nutzen.

01:15:17.620 --> 01:15:20.620
Ich glaube, wir haben ein bisschen, das merkt man auch in unserer Diskussion,

01:15:20.620 --> 01:15:22.620
ein bisschen das Problem des großen Kessels,

01:15:22.620 --> 01:15:24.620
in den sehr viele Sachen reingeworfen werden,

01:15:24.620 --> 01:15:26.620
die unter dem gleichen Label stehen,

01:15:26.620 --> 01:15:29.620
aber die, glaube ich, sehr unterschiedliche Dinge alle tun.

01:15:29.620 --> 01:15:32.620
Und da muss, glaube ich, da muss noch viel passieren,

01:15:32.620 --> 01:15:35.620
bis man das wirklich irgendwie gezielt diskutieren kann,

01:15:35.620 --> 01:15:39.620
weil das halt so was Neues und Disruptives ist.

01:15:39.620 --> 01:15:41.620
Dann fände man das, wie man es finden möchte.

01:15:41.620 --> 01:15:43.620
Aber ich glaube, man hat da definitiv noch ein Problem,

01:15:43.620 --> 01:15:46.620
dass da die ganze Begrifflichkeit unausgegoren ist

01:15:46.620 --> 01:15:49.620
und deswegen, dass es eher schwer ist, darüber zu diskutieren.

01:15:49.620 --> 01:15:55.620
Ja, ich finde, Co-Pilot kann man auf jeden Fall in dem Sinne nutzen zu sagen,

01:15:55.620 --> 01:15:58.620
es erspart einem so dermaßen viel Boiler-Pale-Code.

01:15:58.620 --> 01:16:01.620
Es kann sicherlich Code sicherer machen,

01:16:01.620 --> 01:16:06.620
indem es an Fälle denkt, an die ich persönlich vielleicht gerade vergessen hätte.

01:16:06.620 --> 01:16:08.620
Weiß ich nicht, Loading-States, Aeros-States

01:16:08.620 --> 01:16:10.620
und übrigens hast du hier ein Try-Catch vergessen,

01:16:10.620 --> 01:16:12.620
was einfach schon vorgeschrieben wird.

01:16:12.620 --> 01:16:14.620
Diese ganzen Kleinigkeiten finde ich auch gut, dass es abnehmen kann.

01:16:14.620 --> 01:16:17.620
Ich frage mich nur wirklich, wo sind die Grenzen

01:16:17.620 --> 01:16:20.620
und wie schnell kommen wir daran, dass es mehr kann,

01:16:20.620 --> 01:16:22.620
in dem Sinne...

01:16:22.620 --> 01:16:25.620
Kosten.

01:16:25.620 --> 01:16:28.620
Ja, Kosten?

01:16:28.620 --> 01:16:30.620
Naja, also jetzt nicht das Sinne von Preis,

01:16:30.620 --> 01:16:32.620
sondern im Sinne von...

01:16:32.620 --> 01:16:33.620
Nee, nee, ja gut.

01:16:33.620 --> 01:16:35.620
Das sind Dollar pro Monat.

01:16:35.620 --> 01:16:37.620
Externalitäten.

01:16:37.620 --> 01:16:40.620
Liabilities, Sozeug.

01:16:40.620 --> 01:16:43.620
Ja, das ist ein wichtiger Punkt, bevor wir darauf eingehen,

01:16:43.620 --> 01:16:46.620
vielleicht ganz kurz nochmal auf das zurückzukommen,

01:16:46.620 --> 01:16:50.620
was du vorhin sagtest, Peter, nämlich mit deinem Beispiel,

01:16:50.620 --> 01:16:52.620
du bekommst das falsche Array irgendwie

01:16:52.620 --> 01:16:55.620
oder die falsche Lösung, wie du den Array sortierst.

01:16:55.620 --> 01:16:57.620
Ich glaube, was man halt dann in...

01:16:57.620 --> 01:16:59.620
Jetzt ist es ein klassischer Fall von...

01:16:59.620 --> 01:17:01.620
Ja, du hast gesagt, nicht die richtige Lösung.

01:17:01.620 --> 01:17:06.620
Also sagen wir mal halt die weniger optimale.

01:17:06.620 --> 01:17:08.620
Und ich glaube, da passiert halt...

01:17:08.620 --> 01:17:11.620
Simple, obvious and wrong, diese klassische Kombination.

01:17:11.620 --> 01:17:14.620
Ich glaube, da passiert ja halt das, was du dann im Interview

01:17:14.620 --> 01:17:17.620
mit irgendwelchen Coding-Fragen,

01:17:17.620 --> 01:17:23.620
wenn du da Algorithmik irgendwie den entsprechenden Algorithmus implementieren sollst,

01:17:23.620 --> 01:17:25.620
passiert nämlich dann fragen dich die Leute,

01:17:25.620 --> 01:17:26.620
ja, was ist denn das Big Order von?

01:17:26.620 --> 01:17:28.620
Ah, cool, und hast du noch eine Lösung,

01:17:28.620 --> 01:17:30.620
wie du das besser und schneller machen kannst?

01:17:30.620 --> 01:17:32.620
So, und dann fängst du halt an.

01:17:32.620 --> 01:17:34.620
Und ich glaube, das muss man halt zum heutigen Zeitpunkt

01:17:34.620 --> 01:17:36.620
diese Maschine auffragen.

01:17:36.620 --> 01:17:38.620
Wie geht es dir damit?

01:17:38.620 --> 01:17:40.620
Und wie kannst du es noch besser machen, so ungefähr?

01:17:40.620 --> 01:17:42.620
Wenn du es vielleicht dreimal gefragt hast

01:17:42.620 --> 01:17:44.620
und der Maschine fällt nichts mehr ein,

01:17:44.620 --> 01:17:48.620
okay, und im Idealfall müsste man diese Hopps gar nicht mehr machen.

01:17:48.620 --> 01:17:50.620
Das ist richtig.

01:17:50.620 --> 01:17:53.620
Aber dann würde ich argumentieren, mein zweiter Punkt,

01:17:53.620 --> 01:17:55.620
das ist halt nicht das richtige Tool dafür.

01:17:55.620 --> 01:18:00.620
Ich glaube, das Tool ist ziemlich gut für Programmierfragen,

01:18:00.620 --> 01:18:03.620
obwohl es gar nicht dafür optimiert ist.

01:18:03.620 --> 01:18:06.620
Nämlich, wenn du deine Fragestellung vielleicht anders formulierst,

01:18:06.620 --> 01:18:09.620
nämlich gib mir mal ein Search Algorithmus

01:18:09.620 --> 01:18:13.620
und sortier mir dieses Array, wenn du das sagst

01:18:13.620 --> 01:18:16.620
und zwar die schnellste Möglichkeit,

01:18:16.620 --> 01:18:20.620
und zwar am liebsten programmiert

01:18:20.620 --> 01:18:24.620
und zwar in der Programmiersprache, die am schnellsten ist

01:18:24.620 --> 01:18:28.620
und du dann noch fünf andere Häkchen setzen kannst

01:18:28.620 --> 01:18:31.620
für irgendwelche Einstellungen oder was weiß ich, ja,

01:18:31.620 --> 01:18:35.620
dann wird es vielleicht auch ein anderes Ergebnis heute schon ausspucken

01:18:35.620 --> 01:18:38.620
und in Zukunft ist das halt alles automatisiert.

01:18:38.620 --> 01:18:40.620
Dann musst du das alles nicht mehr machen,

01:18:40.620 --> 01:18:44.620
aber wo bekommst du die?

01:18:44.620 --> 01:18:47.620
Aber wo bekommst du die Menschen her, die in der Lage sind,

01:18:47.620 --> 01:18:51.620
das zu bedienen, wenn der Code von ChatGPT erzeugt wird?

01:18:51.620 --> 01:18:54.620
Du brauchst diese Menschen nicht mehr,

01:18:54.620 --> 01:18:57.620
weil das Tool schon gut genug sein wird.

01:18:57.620 --> 01:19:00.620
Das Tool wird gut genug sein in der Zukunft.

01:19:00.620 --> 01:19:03.620
Aber ich muss doch zumindest meine Anforderungen formulieren können

01:19:03.620 --> 01:19:05.620
und so Sachen wie Big O und Insertion Sort

01:19:05.620 --> 01:19:07.620
und irgendwie darüber resonieren können,

01:19:07.620 --> 01:19:10.620
ob ein Input größtenteils vorsortiert ist

01:19:10.620 --> 01:19:13.620
oder total random ist, gleich verteilt ist.

01:19:13.620 --> 01:19:16.620
Ich muss doch zumindest irgendwie da eine Nerd haben,

01:19:16.620 --> 01:19:20.620
der das in weitem Maße bedient, wenn wir nicht davon ausgehen,

01:19:20.620 --> 01:19:24.620
dass es in Zukunft in einem Sortieralgorithmus sie alle zu Knechten geben wird.

01:19:24.620 --> 01:19:27.620
Hä, das tun wir doch heute auch nicht.

01:19:27.620 --> 01:19:30.620
Also keiner von uns, wenn er JavaScript schreibt,

01:19:30.620 --> 01:19:36.620
beschäftigt sich doch damit, wie jetzt ein Dot-Sort-Klammer-Aufklammer zuimplementiert ist.

01:19:36.620 --> 01:19:38.620
Ein Malfall. Natürlich in Spezialfällen,

01:19:38.620 --> 01:19:41.620
wenn mal irgendwas nicht so funktioniert, wie man das will.

01:19:41.620 --> 01:19:46.620
Ja, okay, dann liest man halt nach, guckt, was ist mein besserer Sortinger-Grognis.

01:19:46.620 --> 01:19:48.620
Aber das macht ja niemand.

01:19:48.620 --> 01:19:51.620
Niemand guckt sich ja an, wie funktioniert Reverse.

01:19:51.620 --> 01:19:54.620
Niemand guckt sich an, wie funktioniert Map Under the Hood.

01:19:54.620 --> 01:19:57.620
Egal, weil das kann ja deine Sprache.

01:19:57.620 --> 01:19:59.620
Und genauso wird das auch sein.

01:19:59.620 --> 01:20:03.620
Das heißt aber nicht, dass es nicht jemanden geben muss, der das implementiert.

01:20:03.620 --> 01:20:05.620
Und da stimme ich dir voll und ganz zu.

01:20:05.620 --> 01:20:10.620
Es muss immer Leute geben, die sich damit auskennen,

01:20:10.620 --> 01:20:14.620
wie man sozusagen zu dem Tool kommt.

01:20:14.620 --> 01:20:19.620
Wie ein Co-Pilot implementiert wird.

01:20:19.620 --> 01:20:21.620
Dafür muss es die Leute geben.

01:20:21.620 --> 01:20:23.620
Und das wird niemals aussterben.

01:20:23.620 --> 01:20:25.620
Und wie lernst du das?

01:20:25.620 --> 01:20:27.620
Wie lernst du das?

01:20:27.620 --> 01:20:30.620
Genauso wie wir heute auch JavaScript lernen.

01:20:30.620 --> 01:20:32.620
Du guckst halt irgendwo nach

01:20:32.620 --> 01:20:35.620
und dann weißt du halt, wie du deinen Chat-GPT-Befehl

01:20:35.620 --> 01:20:38.620
oder deinen Co-Pilot-Befehl in Zukunft

01:20:38.620 --> 01:20:41.620
oder deinen Tool XYZ Code,

01:20:41.620 --> 01:20:44.620
Code AI nenn ich jetzt einfach zum Spaß,

01:20:44.620 --> 01:20:46.620
wie du das halt richtig bedienst.

01:20:46.620 --> 01:20:48.620
Und das lernst du halt einfach.

01:20:48.620 --> 01:20:51.620
Das heißt dann dein Szenario,

01:20:51.620 --> 01:20:55.620
dein Endbenutzer, der jetzt sowas wie Co-Pilot verwendet,

01:20:55.620 --> 01:20:59.620
wäre tatsächlich so was wie ein Pilot,

01:20:59.620 --> 01:21:02.620
der ja auch irgendwie ein automatisiertes System hauptsächlich bedient,

01:21:02.620 --> 01:21:05.620
wenn er da vorne in seinem Airbus sitzt,

01:21:05.620 --> 01:21:08.620
aber der dann trotzdem auch in der Lage sein muss,

01:21:08.620 --> 01:21:10.620
das Ding manuell zu landen,

01:21:10.620 --> 01:21:12.620
weil es entweder mal drauf ankommt

01:21:12.620 --> 01:21:14.620
und der würde halt eben bei jeder zweiten Landung auch mal sagen,

01:21:14.620 --> 01:21:16.620
so hier Auto-Pilot aus, ich lande den jetzt mal selber,

01:21:16.620 --> 01:21:18.620
damit ich irgendwie im Training bleibe.

01:21:18.620 --> 01:21:20.620
Ich frau mich halt jetzt so,

01:21:20.620 --> 01:21:22.620
wenn du jetzt hier der Arbeitsmarktminister wärst,

01:21:22.620 --> 01:21:24.620
wo kriege ich jetzt die Leute hin, die das alles können,

01:21:24.620 --> 01:21:26.620
wenn der ganze Code doch automatisch generiert wird.

01:21:26.620 --> 01:21:31.620
Du brauchst doch Praktika, die irgendwie ihre Sinne schärfen,

01:21:31.620 --> 01:21:33.620
die das doch lernen irgendwie.

01:21:33.620 --> 01:21:36.620
Ja, also da für diese Diskussion,

01:21:36.620 --> 01:21:38.620
da würde ich auf jeden Fall jetzt gerne verweisen

01:21:38.620 --> 01:21:41.620
auf unseren Partner-Podcasts, Lands und Brechten,

01:21:41.620 --> 01:21:43.620
ein Spaß, aber das sind die Leute,

01:21:43.620 --> 01:21:46.620
die sich mit so was beschäftigen müssen, glaube ich,

01:21:46.620 --> 01:21:50.620
mit diesem sozusagen, wie betrifft das dann den Arbeitsmarkt

01:21:50.620 --> 01:21:52.620
und was passiert sozusagen mit uns?

01:21:52.620 --> 01:21:55.620
Nein, ich meine, das ist tatsächlich ganz praktikabel.

01:21:55.620 --> 01:21:58.620
Ich hab folgendes Verständnisproblem.

01:21:58.620 --> 01:22:02.620
Wir haben diese Dinger, die produzieren uns unsere Komponenten

01:22:02.620 --> 01:22:04.620
oder sortierten Arrays oder was auch immer.

01:22:04.620 --> 01:22:08.620
Und wir brauchen Leute, die einerseits diese Dinger erschaffen,

01:22:08.620 --> 01:22:11.620
die uns das generieren, also sozusagen die Bauer der Maschinen,

01:22:11.620 --> 01:22:14.620
und wir brauchen die Bediener der Maschinen.

01:22:14.620 --> 01:22:17.620
Und die Bediener der Maschinen, die also die Maschine verwenden,

01:22:17.620 --> 01:22:20.620
um zu sagen, generiere mir Komponente oder generiere mir sortiertes Array,

01:22:20.620 --> 01:22:22.620
müssen ja in diesen Algorithmus,

01:22:22.620 --> 01:22:25.620
der am Ende das Array oder die Komponente generiert,

01:22:25.620 --> 01:22:27.620
irgendwelche Parameter einpflegen.

01:22:27.620 --> 01:22:30.620
Bin ich soweit, ist das soweit richtig?

01:22:30.620 --> 01:22:32.620
Weil die ja irgendwie sagen müssen,

01:22:32.620 --> 01:22:35.620
der Input für mein sortiertes Array ist überwiegend ein Sortierter

01:22:35.620 --> 01:22:39.620
oder meine Komponente ist irgendwie, hat Anforderung x, y, z.

01:22:41.620 --> 01:22:44.620
Ja, es muss Leute geben, die das sozusagen festlegen,

01:22:44.620 --> 01:22:46.620
das sind ja heute schon Programmiererinnen

01:22:46.620 --> 01:22:48.620
und Programmierer, Designerinnen und Designer.

01:22:48.620 --> 01:22:51.620
Das sind Leute, die jetzt heute schon einen Job ausüben,

01:22:51.620 --> 01:22:54.620
der genau so ist, wie wir ihn machen.

01:22:54.620 --> 01:22:57.620
Aber wenn ich Code Pilot in meinem Computerprogramm,

01:22:57.620 --> 01:23:00.620
in meinem VS Code anschalte,

01:23:00.620 --> 01:23:03.620
kann ich ja immer noch programmieren sozusagen

01:23:03.620 --> 01:23:06.620
und bin immer noch der, in deinem Beispiel Pilot

01:23:06.620 --> 01:23:10.620
und nicht sozusagen nur der CoCo-Pilot,

01:23:10.620 --> 01:23:14.620
sondern ich bin der Pilot, die Pilotin und steuer das Gerät.

01:23:14.620 --> 01:23:17.620
Hier kriege ich den Vorschlag, bitte schreib doch mal die Funktion so

01:23:17.620 --> 01:23:20.620
und dann sage ich, ah ja genau, aber hier das will ich noch ändern

01:23:20.620 --> 01:23:22.620
und dann sagt die Maschine, ah ja, coole Idee

01:23:22.620 --> 01:23:24.620
und dann mache ich dir jetzt noch folgende Vorschlag.

01:23:24.620 --> 01:23:26.620
Du bist immer noch im Driver-Seat.

01:23:26.620 --> 01:23:30.620
In dem Szenario wäre es einfach eine turbogeladene Auto-Completion.

01:23:33.620 --> 01:23:38.620
Ja, in der aktuellen Ausprägung ja

01:23:38.620 --> 01:23:42.620
und in Zukunft kann ich mir da vorstellen, dass es halt viel, also

01:23:42.620 --> 01:23:45.620
es gibt ja diese Code Generation Tools,

01:23:45.620 --> 01:23:48.620
wir haben früher gesagt so, wir brauchen jetzt folgende Klasse

01:23:48.620 --> 01:23:52.620
in Backbone oder in Java ist das ja auch so total normal

01:23:52.620 --> 01:23:55.620
und dann zack, Enter und alles ist da.

01:23:55.620 --> 01:23:57.620
So, jetzt habe ich den Code nicht selbst geschrieben,

01:23:57.620 --> 01:24:00.620
aber ich weiß, meine Klassen wurden hier generiert

01:24:00.620 --> 01:24:02.620
und überall werden die geladen und was nicht alles

01:24:02.620 --> 01:24:04.620
und so weiter und so fort

01:24:04.620 --> 01:24:06.620
und jetzt muss ich noch an die richtige Stelle hingehen

01:24:06.620 --> 01:24:08.620
und meine Logik implementieren.

01:24:08.620 --> 01:24:12.620
Und das sowas wird sich zum Beispiel, glaube ich, auch in Zukunft,

01:24:12.620 --> 01:24:16.620
also wird es halt auch in Zukunft sein,

01:24:16.620 --> 01:24:19.620
nur das Thema, da muss ich halt noch meine Logik implementieren,

01:24:19.620 --> 01:24:24.620
dass das halt noch viel weniger der Fall sein wird,

01:24:24.620 --> 01:24:28.620
also dass man da viel mehr Unterstützung bei erfährt.

01:24:28.620 --> 01:24:31.620
Und dann ist es ja trotzdem da

01:24:31.620 --> 01:24:34.620
und du kannst es ja trotzdem ändern, sozusagen.

01:24:34.620 --> 01:24:37.620
Und die Leute, die dann halt sozusagen diese Autogenerierung

01:24:37.620 --> 01:24:40.620
nenn ich es jetzt einfach normal machen,

01:24:40.620 --> 01:24:42.620
die müssen das dann auch nochmal nachhalten,

01:24:42.620 --> 01:24:44.620
das haben wir vorhin angesprochen, nochmal kontrollieren,

01:24:44.620 --> 01:24:46.620
ist das das Richtige?

01:24:46.620 --> 01:24:49.620
Unterstützt das auch alles das, was es sein muss?

01:24:49.620 --> 01:24:51.620
Aber das ist genau der Punkt, auf den ich hinaus möchte,

01:24:51.620 --> 01:24:54.620
dieser Akt des nachgelagerten Kontrollierens

01:24:54.620 --> 01:24:57.620
oder des kompetenten Bedienens der Maschine.

01:24:57.620 --> 01:24:59.620
Worauf ich halt hinaus möchte,

01:24:59.620 --> 01:25:01.620
ist dazu müsste man ja im Prinzip in der Lage sein,

01:25:01.620 --> 01:25:03.620
das Gleiche zu machen wie die Maschine.

01:25:03.620 --> 01:25:05.620
Man tut es halt nur nicht,

01:25:05.620 --> 01:25:09.620
weil zu mühsam, zu fehleranfällig, macht keinen Sinn.

01:25:09.620 --> 01:25:11.620
Mir geht es halt jetzt wirklich so darum,

01:25:11.620 --> 01:25:14.620
wie stelle ich die Kompetenz von diesen Bedienern dergestalt her?

01:25:14.620 --> 01:25:17.620
Deswegen mein Bild von dem Piloten im Airliner,

01:25:17.620 --> 01:25:19.620
der ja dazu angehalten ist,

01:25:19.620 --> 01:25:22.620
hin und wieder auch mal manuell den Flieger zu fliegen,

01:25:22.620 --> 01:25:25.620
auch wenn der Computerisiert alles selber machen könnte.

01:25:25.620 --> 01:25:28.620
Aber den wird halt eben nahegelegt, den Piloten im Airliner,

01:25:28.620 --> 01:25:31.620
manuell zu steuern, damit sie halt eben in der Lage sind,

01:25:31.620 --> 01:25:33.620
das auch manuell zu machen.

01:25:33.620 --> 01:25:35.620
Und das ist sozusagen da etablierte Best Practice

01:25:35.620 --> 01:25:37.620
in dem Berufsbild.

01:25:37.620 --> 01:25:39.620
Und das würde ich jetzt gerne übertragen irgendwie

01:25:39.620 --> 01:25:41.620
im Programmierbereich.

01:25:41.620 --> 01:25:44.620
Wie hält man die Entwicklerinnen und Entwickler,

01:25:44.620 --> 01:25:48.620
die am Ende ganz viel von diesem Autopilot nutzen?

01:25:48.620 --> 01:25:50.620
Wie hält man die so fit,

01:25:50.620 --> 01:25:52.620
dass die es halt eben auch ohne könnten,

01:25:52.620 --> 01:25:54.620
damit sie halt bewerten können, was am Ende der Output macht?

01:25:54.620 --> 01:25:56.620
Die haben keine Notfälle, wie der Autopilot fällt aus,

01:25:56.620 --> 01:25:58.620
ich muss den manuell landen,

01:25:58.620 --> 01:26:00.620
deren Use Case ist mehr so, ich muss das Ding

01:26:00.620 --> 01:26:03.620
parametrisieren und korrigieren und bewerten,

01:26:03.620 --> 01:26:05.620
was es am Ende produziert.

01:26:05.620 --> 01:26:08.620
Das ist eine sehr spannende Frage, wie hält man die Leute da?

01:26:08.620 --> 01:26:12.620
Also ich möchte vielleicht in dem Analogenbeispiel

01:26:12.620 --> 01:26:14.620
mal zu antworten,

01:26:14.620 --> 01:26:17.620
wir haben früher alle irgendwie mal gelernt

01:26:17.620 --> 01:26:21.620
oder versucht zu erlernen, wie wir Webpack-Files schreiben.

01:26:21.620 --> 01:26:23.620
Und wenn man sich heute anguckt,

01:26:23.620 --> 01:26:26.620
wie wir einen Next.js nutzen,

01:26:26.620 --> 01:26:29.620
was gar keinen Webpack mehr hat,

01:26:29.620 --> 01:26:33.620
wo einfach irgendein Build-Algorithmus da ist,

01:26:33.620 --> 01:26:36.620
den wir alle nicht mehr bedienen können,

01:26:36.620 --> 01:26:38.620
aber es ist uns auch völlig egal,

01:26:38.620 --> 01:26:40.620
weil wir eine andere Stufe haben,

01:26:40.620 --> 01:26:42.620
auf die wir uns konzentrieren.

01:26:42.620 --> 01:26:45.620
Und früher dachten wir, wir müssen können,

01:26:45.620 --> 01:26:48.620
also einen Webpack-File zu schreiben.

01:26:48.620 --> 01:26:50.620
Nobody cares anymore.

01:26:50.620 --> 01:26:52.620
Und wir lösen halt die Probleme,

01:26:52.620 --> 01:26:54.620
die wir wirklich lösen wollen.

01:26:54.620 --> 01:26:57.620
Will ich in Zukunft eventuell

01:26:57.620 --> 01:27:00.620
mich gar nicht mehr mit diesen Problemen,

01:27:00.620 --> 01:27:05.620
sozusagen das manuelle Landen beschäftigen,

01:27:05.620 --> 01:27:07.620
das Thema Pilot.

01:27:07.620 --> 01:27:09.620
Was ich da jetzt sagen könnte ist,

01:27:09.620 --> 01:27:12.620
in Zukunft kann vielleicht jeder von uns Pilot-Pilotin sein,

01:27:12.620 --> 01:27:15.620
weil wir alle unsere Minitronen fliegen können,

01:27:15.620 --> 01:27:17.620
die machen das aber alles automatisiert.

01:27:17.620 --> 01:27:19.620
Und wir müssen gar nichts mehr machen,

01:27:19.620 --> 01:27:21.620
weil wir haben gar keine Piloten-Dizenz.

01:27:21.620 --> 01:27:23.620
Weil das weg ist,

01:27:23.620 --> 01:27:25.620
das ist ja das Gleiche mit dem autonomen Fahren.

01:27:25.620 --> 01:27:27.620
Muss ich ein Auto fahren können?

01:27:27.620 --> 01:27:29.620
Nein, in Zukunft nicht.

01:27:29.620 --> 01:27:31.620
Keiner braucht meinen Führerschein,

01:27:31.620 --> 01:27:33.620
weil das Auto fährt.

01:27:33.620 --> 01:27:35.620
Das braucht er auch nicht mehr eingreifen.

01:27:35.620 --> 01:27:38.620
Und das Gleiche wird in der Programmierung passieren.

01:27:38.620 --> 01:27:40.620
Ich brauche nicht mehr an gewissen Punkten,

01:27:40.620 --> 01:27:42.620
brauche ich nicht mehr eingreifen,

01:27:42.620 --> 01:27:44.620
weil die Maschine macht das ja schon.

01:27:44.620 --> 01:27:47.620
Und ich vertraue der Maschine und gebe das ab.

01:27:47.620 --> 01:27:53.620
Okay, ich verstehe, was dein Gedankenbild ist.

01:27:53.620 --> 01:27:58.620
Ja, okay.

01:27:58.620 --> 01:28:00.620
Ich sehe das hier selber teilweise ähnlich,

01:28:00.620 --> 01:28:02.620
wie ich immer meine.

01:28:02.620 --> 01:28:04.620
Also, wenn ich meine Maschinen schreibe,

01:28:04.620 --> 01:28:06.620
also müssen wir wirklich alle lernen,

01:28:06.620 --> 01:28:08.620
sementisches HTML zu schreiben

01:28:08.620 --> 01:28:11.620
oder welche 3, 5, 6 Sorts es gibt

01:28:11.620 --> 01:28:13.620
und was davon der Beste ist.

01:28:13.620 --> 01:28:15.620
Oder können wir so abstrakt werden,

01:28:15.620 --> 01:28:17.620
so sagen.

01:28:17.620 --> 01:28:19.620
Menschen haben komplett vergessen,

01:28:19.620 --> 01:28:21.620
dass es ein Bubbleheap sonst was dort gibt.

01:28:21.620 --> 01:28:23.620
Maschine weiß es,

01:28:23.620 --> 01:28:25.620
und wir müssen es nicht mehr wissen.

01:28:25.620 --> 01:28:28.620
Nur weil du gerade jetzt noch mal das Wort Lizenz gesagt hast,

01:28:28.620 --> 01:28:30.620
damit wir es auch hier kurz erwehren,

01:28:30.620 --> 01:28:32.620
ist das kleine Lizenzproblem.

01:28:32.620 --> 01:28:35.620
Keine Lizenzproblem.

01:28:35.620 --> 01:28:38.620
Ja, doch, ich meine,

01:28:38.620 --> 01:28:40.620
das ist wirklich im Denzen des kleinen Lizenzproblems,

01:28:40.620 --> 01:28:42.620
weil im Endeffekt bin ich mir fast sicher,

01:28:42.620 --> 01:28:44.620
oder ich bin mir sicher,

01:28:44.620 --> 01:28:46.620
es wird irgendwie gelöst werden

01:28:46.620 --> 01:28:48.620
und es wird jetzt nicht die KI stoppen.

01:28:48.620 --> 01:28:52.620
Oder die Menschen,

01:28:52.620 --> 01:28:54.620
die weiterhin an solchen Tools arbeiten,

01:28:54.620 --> 01:28:56.620
an KI arbeiten, wird sich stoppen.

01:28:56.620 --> 01:28:58.620
Das jetzt, ich glaube,

01:28:58.620 --> 01:29:00.620
sind mehrere Firmen

01:29:00.620 --> 01:29:02.620
verklagen auf 9 Milliarden Dollar

01:29:02.620 --> 01:29:04.620
oder ähnliches.

01:29:04.620 --> 01:29:06.620
Das Problem war hierbei,

01:29:06.620 --> 01:29:08.620
dass der Co-Pilot irgendwie diese Daten brauchte,

01:29:08.620 --> 01:29:10.620
um zu lernen, das Maschine-Lernenansatz.

01:29:10.620 --> 01:29:12.620
Und nun

01:29:12.620 --> 01:29:14.620
Open Source Developer

01:29:14.620 --> 01:29:16.620
ihre Variablen namen ihren Code

01:29:16.620 --> 01:29:18.620
und tatsächlich auch ihre Kommentare

01:29:18.620 --> 01:29:20.620
glasklar wiederfinden.

01:29:20.620 --> 01:29:22.620
Content.

01:29:22.620 --> 01:29:24.620
Und das ist natürlich ein Lizenzproblem.

01:29:24.620 --> 01:29:26.620
Ein Lizenzproblem?

01:29:26.620 --> 01:29:28.620
Also ich finde das ja

01:29:28.620 --> 01:29:30.620
eine recht niedliche Formulierung.

01:29:30.620 --> 01:29:32.620
Ich bin ganz bei dir,

01:29:32.620 --> 01:29:34.620
der Geist geht nicht in die Flasche,

01:29:34.620 --> 01:29:36.620
das Zeug ist da, das geht auch nicht mehr weg.

01:29:36.620 --> 01:29:38.620
Aus meiner,

01:29:38.620 --> 01:29:40.620
durch keinerlei Fachkenntnis-

01:29:40.620 --> 01:29:42.620
getrübten Einschätzung heraus ist das trotzdem,

01:29:42.620 --> 01:29:44.620
alles komplett

01:29:44.620 --> 01:29:46.620
von vorne bis hinten

01:29:46.620 --> 01:29:48.620
höchst zweifelhaft

01:29:48.620 --> 01:29:50.620
und würde ich das einsetzen,

01:29:50.620 --> 01:29:52.620
würde ich das ja auch als

01:29:52.620 --> 01:29:54.620
höchst riskant einordnen,

01:29:54.620 --> 01:29:56.620
weil ich ja

01:29:56.620 --> 01:29:58.620
also wenn ich jetzt irgendwie so den Code

01:29:58.620 --> 01:30:00.620
von meinem Konkurrenten klaue, dann weiß ich ja wenigstens, was ich tue.

01:30:00.620 --> 01:30:02.620
Wenn ich jetzt sozusagen

01:30:02.620 --> 01:30:04.620
ein solches Tool verwende,

01:30:04.620 --> 01:30:06.620
dann weiß ich ja gar nicht, was passiert,

01:30:06.620 --> 01:30:08.620
womit wir wieder ganz am Anfang sind

01:30:08.620 --> 01:30:10.620
beim Quellen nachweis.

01:30:10.620 --> 01:30:12.620
Das ist halt eine ausgesprochen,

01:30:12.620 --> 01:30:14.620
sagen wir mal, eine delikate Sache.

01:30:14.620 --> 01:30:16.620
Der Geist muss ja auch gar nicht in die Flasche,

01:30:16.620 --> 01:30:18.620
ich will nur mal die Möglichkeit noch in den Raum stellen.

01:30:18.620 --> 01:30:20.620
Es reicht ja nur, wenn der Geist

01:30:20.620 --> 01:30:22.620
ein Rucksack mit sich schleppt,

01:30:22.620 --> 01:30:24.620
dass man von dem Geist

01:30:24.620 --> 01:30:26.620
tendenziell vielleicht

01:30:26.620 --> 01:30:28.620
in einigen Anwendungsbereichen

01:30:28.620 --> 01:30:30.620
lieber die Finger lässt, weil man ja nicht weiß,

01:30:30.620 --> 01:30:32.620
was da drin ist.

01:30:32.620 --> 01:30:34.620
Da kann es gleich ein ganz großes Problem werden.

01:30:34.620 --> 01:30:36.620
Für mich

01:30:36.620 --> 01:30:38.620
ist es jetzt gerade das kleine Problem,

01:30:38.620 --> 01:30:40.620
weil es war nicht mein Code,

01:30:40.620 --> 01:30:42.620
der das Problem hat.

01:30:42.620 --> 01:30:44.620
Aber möchte ich tatsächlich

01:30:44.620 --> 01:30:46.620
jetzt Co-Pilot benutzen,

01:30:46.620 --> 01:30:48.620
wo dann Zugriff auf meinen Code

01:30:48.620 --> 01:30:50.620
für die Firma, für die ich

01:30:50.620 --> 01:30:52.620
bin, in einem gesetzlichen Verhältnis

01:30:52.620 --> 01:30:54.620
und vielleicht

01:30:54.620 --> 01:30:56.620
in irgendeiner Art und Weise

01:30:56.620 --> 01:30:58.620
Informationen über

01:30:58.620 --> 01:31:00.620
Kunden und Kundinnen hätte.

01:31:00.620 --> 01:31:02.620
So, jetzt braucht man

01:31:02.620 --> 01:31:04.620
mal die ganze Liegelabteilung.

01:31:04.620 --> 01:31:06.620
Ja, aber du schreibst

01:31:06.620 --> 01:31:08.620
irgendwelche Software, die irgendwie,

01:31:08.620 --> 01:31:10.620
sagen wir mal, die Mondrakete steuert,

01:31:10.620 --> 01:31:12.620
die Bestrahlungstherapie irgendwie

01:31:12.620 --> 01:31:14.620
da dosiert oder so.

01:31:14.620 --> 01:31:16.620
Wer ist denn schuld, wenn dann

01:31:16.620 --> 01:31:18.620
keine Ahnung Amazon AWS down geht,

01:31:18.620 --> 01:31:20.620
und Co-Pilot da

01:31:20.620 --> 01:31:22.620
ausversehend backrengen hat?

01:31:22.620 --> 01:31:24.620
Ja, oder deine Strahlentherapie

01:31:24.620 --> 01:31:26.620
sich halt dann weniger als Therapie

01:31:26.620 --> 01:31:28.620
und mehr so als Todeslaser herausstellt.

01:31:28.620 --> 01:31:30.620
Letztens ein Podcast zu Terrak 25 gehört,

01:31:30.620 --> 01:31:32.620
deswegen ist das gerade so in meinem Gehirn.

01:31:32.620 --> 01:31:34.620
Da war das ja auch ein Softwarefehler,

01:31:34.620 --> 01:31:36.620
der aus der Kräfstherapie dann doch eher

01:31:36.620 --> 01:31:38.620
so ein Mikrochanobil gemacht hat.

01:31:38.620 --> 01:31:40.620
So, ne?

01:31:40.620 --> 01:31:42.620
Ist jetzt natürlich ein Extrembeispiel,

01:31:42.620 --> 01:31:44.620
aber ich will ja gar nicht

01:31:44.620 --> 01:31:46.620
jetzt irgendwie sagen, dass damit dann wirklich

01:31:46.620 --> 01:31:48.620
weil irgendwie Auto gegen die Wand fährt,

01:31:48.620 --> 01:31:50.620
Datencenter abschürzt oder was auch immer,

01:31:50.620 --> 01:31:52.620
sondern es reicht ja alleine schon die Bedrohungslage.

01:31:52.620 --> 01:31:54.620
Ich verletze irgendwelche Lizenzen,

01:31:54.620 --> 01:31:56.620
ohne es zu wollen oder zu wissen.

01:31:56.620 --> 01:31:58.620
Das ist, glaube ich, das größere Problem.

01:31:58.620 --> 01:32:00.620
Und das ist halt auch eins,

01:32:00.620 --> 01:32:02.620
das gelöst werden muss

01:32:02.620 --> 01:32:04.620
tatsächlich auf die eine oder andere Weise.

01:32:04.620 --> 01:32:06.620
Was halt wirklich nicht passieren wird,

01:32:06.620 --> 01:32:08.620
ist, dass die Geister in die Flasche kommen.

01:32:08.620 --> 01:32:10.620
Aber was ist denn halt jetzt,

01:32:10.620 --> 01:32:12.620
wenn ich versehentlich den Code von

01:32:12.620 --> 01:32:14.620
Jesus mich tot reproduziere?

01:32:14.620 --> 01:32:16.620
So, wer hängt denn da am Haken?

01:32:16.620 --> 01:32:18.620
Ist ja auch so vergleichbar mit der

01:32:18.620 --> 01:32:20.620
autonomen Fahrproblematik so.

01:32:20.620 --> 01:32:22.620
Der Tesla kann ja einfach sagen,

01:32:22.620 --> 01:32:24.620
so im letzten Moment übergebe ich die Kontrolle

01:32:24.620 --> 01:32:26.620
Manuel, du bist schuld.

01:32:26.620 --> 01:32:28.620
Selbst das ist ja schon schwierig

01:32:28.620 --> 01:32:30.620
genug zu machen und das halt

01:32:30.620 --> 01:32:32.620
eben jetzt auf die Komplexität einer Codebase aus

01:32:32.620 --> 01:32:34.620
zu denen ausgesprochen schwierig,

01:32:34.620 --> 01:32:36.620
solange halt eben dieses Quellen-

01:32:36.620 --> 01:32:38.620
nachverfolgungsproblem nicht gelöst ist.

01:32:38.620 --> 01:32:40.620
Und natürlich auch muss ja irgendwie diese Quellen-

01:32:40.620 --> 01:32:42.620
nachverfolgung auch nachweisbar korrekt sein.

01:32:42.620 --> 01:32:44.620
Dass wenn er mir sagt,

01:32:44.620 --> 01:32:46.620
ich verletze keinerlei Dizenzen,

01:32:46.620 --> 01:32:48.620
dass ich nachvollziehen kann, das da stimmt.

01:32:48.620 --> 01:32:50.620
Weil, der kann mir ja viel erzählen.

01:32:50.620 --> 01:32:52.620
Und das ist halt wieder dieser Fall 3,

01:32:52.620 --> 01:32:54.620
den du angesprochen hast, nämlich

01:32:54.620 --> 01:32:56.620
mit der Synthese.

01:32:56.620 --> 01:32:58.620
Du hast irgendwelche Research könntest du machen,

01:32:58.620 --> 01:33:00.620
indem du sagst, gib mir einfach mal

01:33:00.620 --> 01:33:02.620
eine Funktion x, y aus,

01:33:02.620 --> 01:33:04.620
die folgendes Problem löst.

01:33:04.620 --> 01:33:06.620
Und jetzt kommst du und willst das

01:33:06.620 --> 01:33:08.620
in deinem eigenen Code sozusagen

01:33:08.620 --> 01:33:10.620
verwalten.

01:33:10.620 --> 01:33:12.620
Und dann musst du dann auch wieder

01:33:12.620 --> 01:33:14.620
Idee A und Idee B

01:33:14.620 --> 01:33:16.620
zusammenbringen, nämlich Idee B

01:33:16.620 --> 01:33:18.620
oder A ist dein eigener Code.

01:33:18.620 --> 01:33:20.620
Idee B ist den, den

01:33:20.620 --> 01:33:22.620
irgendwer im Open Source Repo

01:33:22.620 --> 01:33:24.620
abgelegt hat. Du bringst die beiden

01:33:24.620 --> 01:33:26.620
zusammen und weil das Tool natürlich

01:33:26.620 --> 01:33:28.620
auch lernen will, kommt das Ergebnis

01:33:28.620 --> 01:33:30.620
zurück. Und du hast

01:33:30.620 --> 01:33:32.620
sozusagen das Problem, was du Vanessa

01:33:32.620 --> 01:33:34.620
eben ausgegeben hast,

01:33:34.620 --> 01:33:36.620
nämlich du liegst irgendwelchen Code

01:33:36.620 --> 01:33:38.620
von

01:33:38.620 --> 01:33:40.620
Kunden, die du halt irgendwie

01:33:40.620 --> 01:33:42.620
hast oder Geschäftsgeheimnisse

01:33:42.620 --> 01:33:44.620
oder irgendwelche Revenue

01:33:44.620 --> 01:33:46.620
Numbers, die du sonst irgendwie

01:33:46.620 --> 01:33:48.620
in einem CSV abgelegt hast, warum auch

01:33:48.620 --> 01:33:50.620
immer.

01:33:50.620 --> 01:33:52.620
Ja, auf jeden Fall

01:33:52.620 --> 01:33:54.620
es ist Version 3 wieder, nämlich

01:33:54.620 --> 01:33:56.620
diese Synthese, die dieses Riesenproblem

01:33:56.620 --> 01:33:58.620
erzeugt. Also wir können

01:33:58.620 --> 01:34:00.620
uns vielleicht...

01:34:00.620 --> 01:34:02.620
Weißt du, wir synthesieren A und B, aber

01:34:02.620 --> 01:34:04.620
B sind ja potenziell einfach nur so Dinge

01:34:04.620 --> 01:34:06.620
wie Dinge der äußeren Form.

01:34:06.620 --> 01:34:08.620
Namen der Parameter und die Frage, ob du

01:34:08.620 --> 01:34:10.620
Tabs oder Spaces hast. Aber das ist ja

01:34:10.620 --> 01:34:12.620
keine substanzielle Veränderung des

01:34:12.620 --> 01:34:14.620
Algorithmus, den du dann ja möglicherweise

01:34:14.620 --> 01:34:16.620
illegal versehentlich bei dir einfügst.

01:34:16.620 --> 01:34:18.620
Der Synthese-Schritt bei Code, weil es ja

01:34:18.620 --> 01:34:20.620
Komponenten basiert, das ist ja möglicherweise

01:34:20.620 --> 01:34:22.620
ein relativ simpler. Du kannst ja eine

01:34:22.620 --> 01:34:24.620
Funktion aus Projekt A rausnehmen, Joink

01:34:24.620 --> 01:34:26.620
und in Projekt B reinpflanzen und musst

01:34:26.620 --> 01:34:28.620
gegebenenfalls die Formatierung ändern.

01:34:28.620 --> 01:34:30.620
Das würde ich ja noch nicht mal als Synthese

01:34:30.620 --> 01:34:32.620
bezeichnen. Das ist keine Synthese, das ist

01:34:32.620 --> 01:34:34.620
einfach nur ein Übernehmen. Und

01:34:34.620 --> 01:34:36.620
Synthese würde ich bestreiten.

01:34:36.620 --> 01:34:38.620
Fall zwei. Tendenziell eher, ja.

01:34:38.620 --> 01:34:40.620
Ja, aber genau.

01:34:40.620 --> 01:34:42.620
Und da kannst du aber auch wieder

01:34:42.620 --> 01:34:44.620
ganz klar sagen, diese Funktion habe

01:34:44.620 --> 01:34:46.620
ich geklaut von. Also früher haben wir das

01:34:46.620 --> 01:34:48.620
ja gemacht, wir haben irgendwelches

01:34:48.620 --> 01:34:50.620
JavaScript kopiert und am Anfang hatten

01:34:50.620 --> 01:34:52.620
wir diese dicken Kommentare drin.

01:34:52.620 --> 01:34:54.620
So, und die haben wir dann auch mitkopiert

01:34:54.620 --> 01:34:56.620
und da stand dann drin Copyright

01:34:56.620 --> 01:34:58.620
by XYZ.

01:34:58.620 --> 01:35:00.620
Die sollte man auch heutzutage immer

01:35:00.620 --> 01:35:02.620
noch drin haben. Hab ich gehört von

01:35:02.620 --> 01:35:04.620
der Moment ein Legacy Projekt für eine

01:35:04.620 --> 01:35:06.620
Versicherung Refactored.

01:35:06.620 --> 01:35:08.620
Und da gibt es das ja auch, dieses

01:35:08.620 --> 01:35:10.620
Slash-Stern-Ausrufezeichen

01:35:10.620 --> 01:35:12.620
oder wie auch immer, war früher in den

01:35:12.620 --> 01:35:14.620
Bildtools dann diesen Kommentar habe ich

01:35:14.620 --> 01:35:16.620
auf jeden Fall beibehalten.

01:35:16.620 --> 01:35:18.620
Und wenn du dann da reinguckst, dann siehst

01:35:18.620 --> 01:35:20.620
du auch die ganzen Libraries in deinem

01:35:20.620 --> 01:35:22.620
JavaScript, was da sozusagen verwendet

01:35:22.620 --> 01:35:24.620
wird. Und mit den Copyright-

01:35:24.620 --> 01:35:26.620
Informationen und allem drum und dran.

01:35:26.620 --> 01:35:28.620
Und es ist ja auch ganz interessant,

01:35:28.620 --> 01:35:30.620
jetzt ein kleiner Ausflug, wenn man das

01:35:30.620 --> 01:35:32.620
schippt, bist du ja,

01:35:32.620 --> 01:35:34.620
musst du ja von den Open Source

01:35:34.620 --> 01:35:36.620
Lizenzen, die du nutzt,

01:35:36.620 --> 01:35:38.620
musst du ja drauf schreiben,

01:35:38.620 --> 01:35:40.620
welche Packages du nutzt.

01:35:40.620 --> 01:35:42.620
Es muss so eine Art Lizenzseite geben,

01:35:42.620 --> 01:35:44.620
weil was du tust, ist dieses Paket

01:35:44.620 --> 01:35:46.620
auf ein anderes physisches Device

01:35:46.620 --> 01:35:48.620
kopieren.

01:35:48.620 --> 01:35:50.620
Und dadurch bist du auf einmal rechtlich

01:35:50.620 --> 01:35:52.620
in einer anderen Lage, als jetzt zum Beispiel

01:35:52.620 --> 01:35:54.620
im Web, wo du

01:35:54.620 --> 01:35:56.620
im Web ja einfach nur das von deinem

01:35:56.620 --> 01:35:58.620
Server sozusagen wieder weiter

01:35:58.620 --> 01:36:00.620
spielst. Das heißt, du hast dann eine andere

01:36:00.620 --> 01:36:02.620
Rede, die Details kenne ich jetzt natürlich

01:36:02.620 --> 01:36:04.620
auch nicht. Aber zurückkommen zum Thema

01:36:04.620 --> 01:36:06.620
ich

01:36:06.620 --> 01:36:08.620
sehe es auch als Riesenproblem an,

01:36:08.620 --> 01:36:10.620
dieses nämlich, dieses Zusammenklauen

01:36:10.620 --> 01:36:12.620
von Daten. Das ist ja auch das Gleiche,

01:36:12.620 --> 01:36:14.620
was wir haben, wenn wir irgendwie

01:36:14.620 --> 01:36:16.620
Blogs, Sachen kopieren, oder

01:36:16.620 --> 01:36:18.620
wir haben vorhin Uniarbeiten oder was auch

01:36:18.620 --> 01:36:20.620
immer angesprochen. Da hast du ja auch immer

01:36:20.620 --> 01:36:22.620
diese Plagiatsthematik.

01:36:24.620 --> 01:36:26.620
Ich weiß nicht, wie man das lösen kann.

01:36:26.620 --> 01:36:28.620
Keine Ahnung, wie das für Code lösbar

01:36:28.620 --> 01:36:30.620
sein soll, wo es so in granulare

01:36:30.620 --> 01:36:32.620
Sachen wie Variablen reingeht

01:36:32.620 --> 01:36:34.620
oder in Funktionen, die halt erstellt

01:36:34.620 --> 01:36:36.620
werden. Ja, und das ist glaube ich der Punkt, dass

01:36:36.620 --> 01:36:38.620
das halt tatsächlich auf die eine oder andere Weise

01:36:38.620 --> 01:36:40.620
einfach nicht gehen wird. Weil

01:36:40.620 --> 01:36:42.620
die neuronalen Netze reproduzieren

01:36:42.620 --> 01:36:44.620
ja Patterns. Und man nimmt halt

01:36:44.620 --> 01:36:46.620
irgendwie einen Input, das ist das Open Source

01:36:46.620 --> 01:36:48.620
Projekt, schieß mich tot, bericht das in Patterns runter

01:36:48.620 --> 01:36:50.620
und dann werden diese Patterns wieder zusammengesetzt,

01:36:50.620 --> 01:36:52.620
damit das halt irgendwie Sinn ergibt

01:36:52.620 --> 01:36:54.620
in einem Kontext, wo es eingefügt wird.

01:36:54.620 --> 01:36:56.620
Und ich bin noch nicht mal sicher, dass überhaupt

01:36:56.620 --> 01:36:58.620
das legale Vokabular, dass man

01:36:58.620 --> 01:37:00.620
das rechtliche Vokabular, das wir heutzutage

01:37:00.620 --> 01:37:02.620
haben, überhaupt diesen Case

01:37:02.620 --> 01:37:04.620
irgendwie einigermaßen gut abbilden kann.

01:37:04.620 --> 01:37:06.620
Also, das ist ja in

01:37:06.620 --> 01:37:08.620
keiner einzigen Open Source Lizenz irgendwie

01:37:08.620 --> 01:37:10.620
enthalten, dieser Use Case, oh Wunder, den

01:37:10.620 --> 01:37:12.620
gab es halt eben, vorher nicht, da haben sich die Fussel-Werte

01:37:12.620 --> 01:37:14.620
in den 70ern halt keine Gedanken drum gemacht, wie sollten sie das

01:37:14.620 --> 01:37:16.620
auch machen? Kann man den ja nicht vorwerfen.

01:37:16.620 --> 01:37:18.620
So, aber das Problem ist halt,

01:37:18.620 --> 01:37:20.620
der Punkt ist, keiner weiß halt, wie das

01:37:20.620 --> 01:37:22.620
ausgeht. Und vor allen Dingen, wenn es halt irgendwie

01:37:22.620 --> 01:37:24.620
ausgegangen ist, weil irgendwie eine Höchstrichter-Lise

01:37:24.620 --> 01:37:26.620
nicht in Zanz eigentlich mal gesagt hat, dieser Art

01:37:26.620 --> 01:37:28.620
von Datenverbrauch in, keine Ahnung, ist irgendwie

01:37:28.620 --> 01:37:30.620
GPL-konform oder weiß ich nicht,

01:37:30.620 --> 01:37:32.620
dann ist das ja auch noch lange nicht durch,

01:37:32.620 --> 01:37:34.620
bis das halt nicht irgendwie mal etabliert

01:37:34.620 --> 01:37:36.620
wurde durch, wieder und wieder durchspielen,

01:37:36.620 --> 01:37:38.620
wie das halt so im rechtlichen System so ist.

01:37:38.620 --> 01:37:40.620
Das heißt, wenn man da heute irgendwie

01:37:40.620 --> 01:37:42.620
mit dem Co-Pilot oder so zugange ist, dann

01:37:42.620 --> 01:37:44.620
würde ich sagen, ja okay, wunderbar,

01:37:44.620 --> 01:37:46.620
das ist ein ganz klarer Fall von Balls of Steel.

01:37:46.620 --> 01:37:48.620
Mir wäre das ja für irgendeine so eine kommerzielle

01:37:48.620 --> 01:37:50.620
Unternehmung, die es sich lohnt, zu verklagen,

01:37:50.620 --> 01:37:52.620
echt ein bisschen heikel.

01:37:52.620 --> 01:37:54.620
Ja, aber

01:37:54.620 --> 01:37:56.620
dazu vielleicht noch eine Sache.

01:37:56.620 --> 01:37:58.620
Es gibt immer genügend Leute mit

01:37:58.620 --> 01:38:00.620
von dir jetzt zitierten

01:38:00.620 --> 01:38:02.620
Balls of Steel.

01:38:02.620 --> 01:38:04.620
Ich glaube aber auch,

01:38:04.620 --> 01:38:06.620
dass wir das in der Vergangenheit

01:38:06.620 --> 01:38:08.620
auch schon erlebt haben,

01:38:08.620 --> 01:38:10.620
dass es immer Leute geben wird, die auch

01:38:10.620 --> 01:38:12.620
sagen, ich nutze keinen

01:38:12.620 --> 01:38:14.620
Open Source, weil mir das rechtlich

01:38:14.620 --> 01:38:16.620
nicht ausreichend einwandfrei ist

01:38:16.620 --> 01:38:18.620
oder wir haben ja die Fälle

01:38:18.620 --> 01:38:20.620
gesehen, NPM Packages,

01:38:20.620 --> 01:38:22.620
die dann irgendwie gekapert wurden

01:38:22.620 --> 01:38:24.620
und irgendwelche Mal wo er da drin war

01:38:24.620 --> 01:38:26.620
oder was weiß ich.

01:38:26.620 --> 01:38:28.620
Moment, das sind aber alles sehr unterschiedliche Sachen.

01:38:28.620 --> 01:38:30.620
Naja, aber das was ich ja damit

01:38:30.620 --> 01:38:32.620
meine ist, es gab

01:38:32.620 --> 01:38:34.620
dann Leute, die halt gesagt haben,

01:38:34.620 --> 01:38:36.620
ich nutze halt keine Open Source

01:38:36.620 --> 01:38:38.620
oder ich kann mir das nicht leisten,

01:38:38.620 --> 01:38:40.620
ich mach hier die

01:38:40.620 --> 01:38:42.620
übelst krass, ich sag jetzt mal

01:38:42.620 --> 01:38:44.620
bei einer Army oder sowas, ich mach hier

01:38:44.620 --> 01:38:46.620
irgendwie Software, die auf Geräten laufen muss,

01:38:46.620 --> 01:38:48.620
da kann ich keinen Open Source verwenden.

01:38:48.620 --> 01:38:50.620
Und das gibt's ja auch.

01:38:50.620 --> 01:38:52.620
Ja, und genauso

01:38:52.620 --> 01:38:54.620
also das ist jetzt sehr

01:38:54.620 --> 01:38:56.620
viel kleiner dieser Rahmen an Leuten,

01:38:56.620 --> 01:38:58.620
die das betrifft. Und mit AI

01:38:58.620 --> 01:39:00.620
werden wir dieses Problem halt genauso

01:39:00.620 --> 01:39:02.620
haben, dass halt Leute sagen,

01:39:02.620 --> 01:39:04.620
jo, ich verwende das, weil das hilft mir

01:39:04.620 --> 01:39:06.620
aus XYZ Gründen

01:39:06.620 --> 01:39:08.620
und eine sehr viel größere

01:39:08.620 --> 01:39:10.620
Masse zu gegebenermaßen als bisher

01:39:10.620 --> 01:39:12.620
wird dann sagen, nee, ich verwende

01:39:12.620 --> 01:39:14.620
das nicht, weil das hat, wie du grade

01:39:14.620 --> 01:39:16.620
gesagt hast, folgende Implikation.

01:39:16.620 --> 01:39:18.620
Ich kann verklagt werden, wenn da irgendwie

01:39:18.620 --> 01:39:20.620
mein Code gestohlen wird, und das

01:39:20.620 --> 01:39:22.620
passiert ja, Vanessa, du hast die

01:39:22.620 --> 01:39:24.620
Beispiele angeführt.

01:39:24.620 --> 01:39:26.620
Ja, und

01:39:26.620 --> 01:39:28.620
sagen wir mal, man muss das glaube ich auch so ein bisschen

01:39:28.620 --> 01:39:30.620
so von der, da das Recht von der

01:39:30.620 --> 01:39:32.620
Gerechtigkeit etwas auftrennen, finde ich jetzt so.

01:39:32.620 --> 01:39:34.620
Das ist jetzt ein bisschen sehr zynisch.

01:39:34.620 --> 01:39:36.620
Aber ich meine, ab einer gewissen Unternehmensgröße

01:39:36.620 --> 01:39:38.620
ist das ja sozusagen so, dass

01:39:38.620 --> 01:39:40.620
der Rechtsstreit einfach nur eine andere Form,

01:39:40.620 --> 01:39:42.620
der Auseinandersetzung ist. Also irgendwie

01:39:42.620 --> 01:39:44.620
man hat handhört sich die Leute weg, man macht

01:39:44.620 --> 01:39:46.620
sich die Marktanteile mit in Produkten streitig

01:39:46.620 --> 01:39:48.620
und nebenbei prügelt man sich auch noch rechtlich

01:39:48.620 --> 01:39:50.620
um irgendwelche Softwareprodukte und so Zeug.

01:39:50.620 --> 01:39:52.620
Hier wegen Patentverletzung

01:39:52.620 --> 01:39:54.620
und ähnlichen Späßen.

01:39:54.620 --> 01:39:56.620
Das ist ja im Prinzip einfach nur ein weiter,

01:39:56.620 --> 01:39:58.620
ein neues Schlachtfeld, das aufgemacht

01:39:58.620 --> 01:40:00.620
werden kann, mit halt eben folgender

01:40:00.620 --> 01:40:02.620
spannenden, sagen wir mal folgender spannenden

01:40:02.620 --> 01:40:04.620
Angriffsvektor. Also ich bin, ich könnte

01:40:04.620 --> 01:40:06.620
von einem Anwalt nicht weiter entfernt sein.

01:40:06.620 --> 01:40:08.620
Aber ich würde halt eben sagen, na wunderbar,

01:40:08.620 --> 01:40:10.620
wenn ich halt irgendwie weiß, dass da irgendwie

01:40:10.620 --> 01:40:12.620
die Konkurrenz so ein Produkt wie Co-Pilot

01:40:12.620 --> 01:40:14.620
einsetzt, da muss ich ja gar nicht

01:40:14.620 --> 01:40:16.620
einen Code kennen, um sozusagen

01:40:16.620 --> 01:40:18.620
in die Offensive

01:40:18.620 --> 01:40:20.620
gehen zu können und einfach mal probieren

01:40:20.620 --> 01:40:22.620
zu können, zu sagen, hey, hier Rechtsabteilung.

01:40:22.620 --> 01:40:24.620
Neuer Angriffsvektor da, auf dem

01:40:24.620 --> 01:40:26.620
Ziel dahinten, versucht den doch mal juristisch

01:40:26.620 --> 01:40:28.620
ans Bein zu pinkeln.

01:40:28.620 --> 01:40:30.620
Ja, klar. Und das wird

01:40:30.620 --> 01:40:32.620
passieren. Also da wird, also

01:40:32.620 --> 01:40:34.620
ich meine, es gibt ja die absurdesten

01:40:34.620 --> 01:40:36.620
Sachen. Ich erinnere mich noch, da habe ich

01:40:36.620 --> 01:40:38.620
mal für einen Kunden gearbeitet, wenn da nicht

01:40:38.620 --> 01:40:40.620
den ersten 100-Pixeln oben stand,

01:40:40.620 --> 01:40:42.620
dass das ein bestimmter

01:40:42.620 --> 01:40:44.620
Firmenzweig ist, haben die die verklagt.

01:40:44.620 --> 01:40:46.620
Ja, jedes Mal, da gab es

01:40:46.620 --> 01:40:48.620
Leute, die wie Crawler

01:40:48.620 --> 01:40:50.620
immer auf die Website geguckt haben, ob

01:40:50.620 --> 01:40:52.620
genau das dort steht.

01:40:52.620 --> 01:40:54.620
Es bleibt halt abzuwarten, das weiß

01:40:54.620 --> 01:40:56.620
man halt nicht. Und wir sind halt noch

01:40:56.620 --> 01:40:58.620
so krass am Anfang dieser Reise

01:40:58.620 --> 01:41:00.620
und ich glaube, wir werden halt

01:41:00.620 --> 01:41:02.620
sehr bald

01:41:02.620 --> 01:41:04.620
schon erleben, was das halt

01:41:04.620 --> 01:41:06.620
für krasse Auswirkungen in der Masse

01:41:06.620 --> 01:41:08.620
haben wird, weil dieses JetGPT

01:41:08.620 --> 01:41:10.620
gerade so durch die Decke geht,

01:41:10.620 --> 01:41:12.620
jeder darüber redet, jeder

01:41:12.620 --> 01:41:14.620
der auch nix mit IT zu tun hat,

01:41:14.620 --> 01:41:16.620
das irgendwie im Mund hat,

01:41:16.620 --> 01:41:18.620
überall auf allen Blattformen. Das ZDF

01:41:18.620 --> 01:41:20.620
hat einen Artikel darüber geschrieben.

01:41:20.620 --> 01:41:22.620
Ja.

01:41:22.620 --> 01:41:24.620
Ja, ich...

01:41:24.620 --> 01:41:26.620
Den einen Punkt, den wir jetzt gar

01:41:26.620 --> 01:41:28.620
nicht so drin hatten, ist, wenn

01:41:28.620 --> 01:41:30.620
man jetzt ein Trainee oder

01:41:30.620 --> 01:41:32.620
Junior ist oder selbst lernend,

01:41:32.620 --> 01:41:34.620
dann finde ich es schon interessant,

01:41:34.620 --> 01:41:36.620
jetzt ist eigentlich damit, es damit

01:41:36.620 --> 01:41:38.620
Coding zu lernen, wenn du noch nicht mal

01:41:38.620 --> 01:41:40.620
mehr auf Stack Overflow gehen musst,

01:41:40.620 --> 01:41:42.620
sondern du hast wirklich einen Tool,

01:41:42.620 --> 01:41:44.620
das dir sagt, hey, du hast hier ein Fetch-Request,

01:41:44.620 --> 01:41:46.620
da brauchst du jetzt zwei Catch-Trumrum

01:41:46.620 --> 01:41:48.620
und solche Spieße.

01:41:48.620 --> 01:41:50.620
Ich bin das ja bei der absolut positiven

01:41:50.620 --> 01:41:52.620
Sache. Ich finde eben, dass das...

01:41:52.620 --> 01:41:54.620
Ich weiß gar nicht, ob es Marketing ist,

01:41:54.620 --> 01:41:56.620
weil ich gar keinen Marketing in dem

01:41:56.620 --> 01:41:58.620
sind eigentlich mitbekomme, sondern eher den

01:41:58.620 --> 01:42:00.620
Hype-Trumrum. Den muss man ein bisschen

01:42:00.620 --> 01:42:02.620
runterspielen, dass nicht alle Developer

01:42:02.620 --> 01:42:04.620
beobachten.

01:42:04.620 --> 01:42:06.620
Wenn man, ob man das jetzt nutzen will

01:42:06.620 --> 01:42:08.620
oder nicht, ist jetzt noch so ein bisschen

01:42:08.620 --> 01:42:10.620
die persönliche ethische Frage,

01:42:10.620 --> 01:42:12.620
will ich meinen Code

01:42:12.620 --> 01:42:14.620
freigeben und will ich da einen Tool

01:42:14.620 --> 01:42:16.620
nutzen, das

01:42:16.620 --> 01:42:18.620
von mir so genannte kleine Lizenz-Problem

01:42:18.620 --> 01:42:20.620
hat.

01:42:20.620 --> 01:42:22.620
Ja, also meine Prognose

01:42:22.620 --> 01:42:24.620
ist ja jetzt erst mal zumindest mal die

01:42:24.620 --> 01:42:26.620
für die mittlere Frist, die, dass ich das...

01:42:26.620 --> 01:42:28.620
Das ist ja im Laufe der

01:42:28.620 --> 01:42:30.620
Diskussion rausgekommen, dass ich da sagen

01:42:30.620 --> 01:42:32.620
auf dem Weg zum Entzustand

01:42:32.620 --> 01:42:34.620
einige Hürden mehr sehe als der Hans.

01:42:34.620 --> 01:42:36.620
Aber jetzt so nicht

01:42:36.620 --> 01:42:38.620
irgendwie sagen möchte, alles was er da erzählt

01:42:38.620 --> 01:42:40.620
ist irgendwie jetzt...

01:42:40.620 --> 01:42:42.620
Das ist halt einfach sozusagen

01:42:42.620 --> 01:42:44.620
da definitiv eine

01:42:44.620 --> 01:42:46.620
rein quantitative Frage, würde ich sagen.

01:42:46.620 --> 01:42:48.620
Aber ich glaube, was wir auf jeden Fall kriegen

01:42:48.620 --> 01:42:50.620
und was sozusagen mir

01:42:50.620 --> 01:42:52.620
für mich immer so die beeindruckendsten AI-Tools

01:42:52.620 --> 01:42:54.620
waren, das waren halt nicht diese Coding-Dinger

01:42:54.620 --> 01:42:56.620
und das war auch nicht ChatGP, die mit seinem umformulieren,

01:42:56.620 --> 01:42:58.620
sondern ich finde das halt eben so

01:42:58.620 --> 01:43:00.620
diese offensichtlichen low-hanging

01:43:00.620 --> 01:43:02.620
Produktivitätsfruits, die man so

01:43:02.620 --> 01:43:04.620
irgendwelchen, sagen wir mal,

01:43:04.620 --> 01:43:06.620
Profis abnehmen kann. Ich will da mal so 2

01:43:06.620 --> 01:43:08.620
Beispiele nennen, die jetzt wieder nichts

01:43:08.620 --> 01:43:10.620
mit programmieren zu tun haben. Aber es gibt

01:43:10.620 --> 01:43:12.620
so dieses Enhanced AI,

01:43:12.620 --> 01:43:14.620
audioenhanced

01:43:14.620 --> 01:43:16.620
Dings da, ich weiß gar nicht mehr wie das heißt,

01:43:16.620 --> 01:43:18.620
von Adobe. Da schmeißt man

01:43:18.620 --> 01:43:20.620
eine Audioaufnahme rein, die klingt wie die

01:43:20.620 --> 01:43:22.620
übelste Konferenz-Raumaufnahme

01:43:22.620 --> 01:43:24.620
mit so halb offenen Fenster draußen ist Baustelle

01:43:24.620 --> 01:43:26.620
und was nicht alles. Und der jagt das durch

01:43:26.620 --> 01:43:28.620
so Tools durch und dann kommt da am

01:43:28.620 --> 01:43:30.620
Ende hinten ein Audio raus, das klingt wie

01:43:30.620 --> 01:43:32.620
im Profi-Studio aufgenommen. Definitiv

01:43:32.620 --> 01:43:34.620
besser als das, was ich jetzt hier in meinem

01:43:34.620 --> 01:43:36.620
Altbau in dieses Gamerhead Z3

01:43:36.620 --> 01:43:38.620
quatsche zum Beispiel. Das könnte damit halt

01:43:38.620 --> 01:43:40.620
eben wirklich so klingen, als hätte ich so krasse

01:43:40.620 --> 01:43:42.620
Mikrofone wie Hans und Vanessa.

01:43:42.620 --> 01:43:44.620
Und das ist halt so ein Ding, wenn man so was

01:43:44.620 --> 01:43:46.620
verwendet, ist halt jemand

01:43:46.620 --> 01:43:48.620
der oder die zur Aufgabe hat

01:43:48.620 --> 01:43:50.620
eine Audioproduktion durchzuführen.

01:43:50.620 --> 01:43:52.620
Dann ist diese Aufgabe damit nicht

01:43:52.620 --> 01:43:54.620
erledigt, weil ja sozusagen

01:43:54.620 --> 01:43:56.620
in dem Prozess noch kreative Dinge zu

01:43:56.620 --> 01:43:58.620
machen sind wie Schnitt und Pacing

01:43:58.620 --> 01:44:00.620
und wie strukturiere ich das Ganze oder so.

01:44:00.620 --> 01:44:02.620
Aber so das Ganze, die klingen alle unterschiedlich

01:44:02.620 --> 01:44:04.620
und die klingen alle unterschiedlich scheiße,

01:44:04.620 --> 01:44:06.620
das ist halt damit erschlagen.

01:44:06.620 --> 01:44:08.620
Damit wird halt irgendwie nicht

01:44:08.620 --> 01:44:10.620
ein Audio-Producer überflüssig, aber

01:44:10.620 --> 01:44:12.620
der wird halt damit sozusagen in die Lage

01:44:12.620 --> 01:44:14.620
versetzt, viel mehr zu erreichen

01:44:14.620 --> 01:44:16.620
mit einem gegebenen Pensum an Zeit.

01:44:16.620 --> 01:44:18.620
Viel mehr zu machen. Und so diese Art

01:44:18.620 --> 01:44:20.620
von Tool, glaube ich, ist halt

01:44:20.620 --> 01:44:22.620
die, die wirklich in so der

01:44:22.620 --> 01:44:24.620
mittleren Frist da wirklich auch so

01:44:24.620 --> 01:44:26.620
wird man sagen wirtschaftliche Relevanz

01:44:26.620 --> 01:44:28.620
erreicht und anderes Ding.

01:44:28.620 --> 01:44:30.620
Dass es gibt, will ich auch nur noch mal kurz

01:44:30.620 --> 01:44:32.620
Name-Droppen, ist Descript.

01:44:32.620 --> 01:44:34.620
Das ist

01:44:34.620 --> 01:44:36.620
ein Video-Editor, der im Prinzip

01:44:36.620 --> 01:44:38.620
ein Text-UI hat. Man

01:44:38.620 --> 01:44:40.620
hat sein Video.

01:44:40.620 --> 01:44:42.620
Der Video-Editor transkribiert das,

01:44:42.620 --> 01:44:44.620
wie ja auch hier mit unserem Podcast passiert.

01:44:44.620 --> 01:44:46.620
Das ist ja auch mittlerweile ein gelöstes Problem.

01:44:46.620 --> 01:44:48.620
Aber das Ding ist, man kann das Transkript

01:44:48.620 --> 01:44:50.620
verändern und dann wird daraus

01:44:50.620 --> 01:44:52.620
zurückgerechnet eine Änderung im Video.

01:44:52.620 --> 01:44:54.620
Ich habe mich versprochen und will ein Wort austauschen.

01:44:54.620 --> 01:44:56.620
Dann tausche ich das in Transkript um

01:44:56.620 --> 01:44:58.620
und das Video wird verändert. Und auch da

01:44:58.620 --> 01:45:00.620
würde ich sagen, das ist so ein Tool,

01:45:00.620 --> 01:45:02.620
das kann ich mir halt ganz wunderbar vorstellen

01:45:02.620 --> 01:45:04.620
als eine Option,

01:45:04.620 --> 01:45:06.620
als ein Werkzeug in einem Video-Editor.

01:45:06.620 --> 01:45:08.620
Aber das würde nicht

01:45:08.620 --> 01:45:10.620
meinen Video-Editor aus Fleisch

01:45:10.620 --> 01:45:12.620
und Blut ersetzen, sondern dem halt

01:45:12.620 --> 01:45:14.620
einfach ein Werkzeug an die Hand geben,

01:45:14.620 --> 01:45:16.620
die Arbeit, die da gemacht

01:45:16.620 --> 01:45:18.620
werden muss, schneller und

01:45:18.620 --> 01:45:20.620
besser zu machen. Aber wo halt immer noch

01:45:20.620 --> 01:45:22.620
nicht wirklich Automatisierung, sondern

01:45:22.620 --> 01:45:24.620
mehr so eine Art von Teilautomatisierung.

01:45:24.620 --> 01:45:26.620
Mehr so eine Art von halt stärkerem

01:45:26.620 --> 01:45:28.620
Bohrer statt irgendwie einem Roboter,

01:45:28.620 --> 01:45:30.620
der das ganze Haus baut, am Start

01:45:30.620 --> 01:45:32.620
ist. Also da sehe ich in

01:45:32.620 --> 01:45:34.620
nächster Zeit halt echt so das große Ding.

01:45:34.620 --> 01:45:36.620
Und da

01:45:36.620 --> 01:45:38.620
weiß ich halt auch nicht, ob das nicht auch ein bisschen

01:45:38.620 --> 01:45:40.620
noch schwieriger ist, da irgendwelche kleinen

01:45:40.620 --> 01:45:42.620
Lizenzprobleme ausfindig zu machen.

01:45:42.620 --> 01:45:44.620
Da weiß ich ja nicht, was das Trainings-Set ist.

01:45:44.620 --> 01:45:46.620
Also welche rauschige

01:45:46.620 --> 01:45:48.620
Konferenzraumaufnahme hat jetzt Adobe genau

01:45:48.620 --> 01:45:50.620
genommen, um zu wissen, was es rausrechnen muss

01:45:50.620 --> 01:45:52.620
und was es behalten muss.

01:45:52.620 --> 01:45:54.620
Ich kann halt irgendwie schon ein Algorithmus

01:45:54.620 --> 01:45:56.620
sehr viel zielgerichteter reproduzieren, als zum

01:45:56.620 --> 01:45:58.620
Beispiel das. Also

01:45:58.620 --> 01:46:00.620
da sehe ich halt viel drin.

01:46:00.620 --> 01:46:02.620
Und weniger in dem ganzen Programmierkram, aus einer

01:46:02.620 --> 01:46:04.620
ganzen Reihe von Gründen.

01:46:06.620 --> 01:46:08.620
Ja, also

01:46:08.620 --> 01:46:10.620
ich glaube, wir können da jetzt noch so viel

01:46:10.620 --> 01:46:12.620
mehr Themen beackern.

01:46:12.620 --> 01:46:14.620
Ich meine, wir sind jetzt auf das Thema Kunst gar

01:46:14.620 --> 01:46:16.620
nicht eingegangen. Das hatten wir ja in der

01:46:16.620 --> 01:46:18.620
Vorbesprechung ganz kurz auch mal angerissen.

01:46:18.620 --> 01:46:20.620
Ich glaube,

01:46:20.620 --> 01:46:22.620
wir müssen einfach noch ein paar Sendungen zu

01:46:22.620 --> 01:46:24.620
diesem Thema machen. Und das werden wir,

01:46:24.620 --> 01:46:26.620
ich bin mir da sehr, sehr sicher tun,

01:46:26.620 --> 01:46:28.620
weil sich das so

01:46:28.620 --> 01:46:30.620
stark auf unsere

01:46:30.620 --> 01:46:32.620
tägliche Arbeit

01:46:32.620 --> 01:46:34.620
auswirken wird in den nächsten

01:46:34.620 --> 01:46:36.620
Jahren.

01:46:36.620 --> 01:46:38.620
Wenn wir Engeliges sind,

01:46:38.620 --> 01:46:40.620
zumindest.

01:46:40.620 --> 01:46:42.620
Bitte.

01:46:42.620 --> 01:46:44.620
Das ist vielleicht doch zu einem etwas geringeren

01:46:44.620 --> 01:46:46.620
Grad aufgrund von

01:46:46.620 --> 01:46:48.620
Vicenzproblemen und ungelösten Problemen und so weiter

01:46:48.620 --> 01:46:50.620
und so weiter.

01:46:50.620 --> 01:46:52.620
Das ist ja, wie gesagt, das ist ja dann das

01:46:52.620 --> 01:46:54.620
Takeaway aus dieser Diskussion.

01:46:54.620 --> 01:46:56.620
Ich glaube, da haben wir ein ganz gutes Feld

01:46:56.620 --> 01:46:58.620
von, sagen wir mal, Ansichten auf die

01:46:58.620 --> 01:47:00.620
Sache drauf aufgespannt.

01:47:00.620 --> 01:47:02.620
Ich würde dich halt nur nicht von der Leine

01:47:02.620 --> 01:47:04.620
lassen mit so, das wird auf jeden Fall der

01:47:04.620 --> 01:47:06.620
Weg der Zukunft sein, sondern

01:47:06.620 --> 01:47:08.620
...

01:47:08.620 --> 01:47:10.620
Ja, es ist halt die Spannung.

01:47:10.620 --> 01:47:12.620
Ich glaube, es halt

01:47:12.620 --> 01:47:14.620
dann zu sehen, in welche Richtung es

01:47:14.620 --> 01:47:16.620
wirklich geht, das können wir halt jetzt nicht,

01:47:16.620 --> 01:47:18.620
weil wir alle Kanälen-Serien und Hellseher

01:47:18.620 --> 01:47:20.620
sind.

01:47:20.620 --> 01:47:22.620
Aber wir werden drüber sprechen, da bin ich

01:47:22.620 --> 01:47:24.620
mir sicher.

01:47:24.620 --> 01:47:26.620
100 pro.

01:47:26.620 --> 01:47:28.620
Ich glaube, wir machen hier mal ein Deckel drauf.

01:47:28.620 --> 01:47:30.620
Es war dann noch etwas länger

01:47:30.620 --> 01:47:32.620
und heute diese Sendung, mir hat das unheimlich

01:47:32.620 --> 01:47:34.620
viel Spaß gemacht.

01:47:34.620 --> 01:47:36.620
Das war großer Sport.

01:47:36.620 --> 01:47:38.620
Man musste zusagen, dass ich bei der Vorbesprechung

01:47:38.620 --> 01:47:40.620
bin, weil nicht, dass wir jetzt eine Viertelstunde

01:47:40.620 --> 01:47:42.620
durch sind. Was sollen wir denn alles dazu

01:47:42.620 --> 01:47:44.620
sagen? Das war jetzt so eine klassische

01:47:44.620 --> 01:47:46.620
Developer-Underestimation.

01:47:46.620 --> 01:47:48.620
Ja, ich glaube, genau die

01:47:48.620 --> 01:47:50.620
Stunden haben wir ein bisschen

01:47:50.620 --> 01:47:52.620
überschritten.

01:47:52.620 --> 01:47:54.620
Und die Viertelstunde auch sowieso.

01:47:54.620 --> 01:47:56.620
Genau.

01:47:56.620 --> 01:47:58.620
Vielen Dank fürs Zuhören.

01:47:58.620 --> 01:48:00.620
Wir hoffen, ihr hattet trotz der

01:48:00.620 --> 01:48:02.620
langwierigen Diskussion euren Spaß

01:48:02.620 --> 01:48:04.620
und schreibt uns doch mal was eure Meinung

01:48:04.620 --> 01:48:06.620
dazu ist. Am besten auf Twitter.

01:48:06.620 --> 01:48:08.620
Wir sind auch auf Mastodon.

01:48:08.620 --> 01:48:10.620
Wir heißen überall

01:48:10.620 --> 01:48:12.620
Working Draft. Und wenn ihr Bock habt,

01:48:12.620 --> 01:48:14.620
dann schaut doch mal bei unserem Patreon

01:48:14.620 --> 01:48:16.620
vorbei. Auch da heißen wir

01:48:16.620 --> 01:48:18.620
interessanterweise Working Draft.

01:48:18.620 --> 01:48:20.620
Lasst uns fünf Sterne da in der App.

01:48:20.620 --> 01:48:22.620
Ihr kennt das ja alles.

01:48:22.620 --> 01:48:24.620
Danke nochmal fürs Zuhören.

01:48:24.620 --> 01:48:26.620
Danke euch für die spannende Diskussion

01:48:26.620 --> 01:48:28.620
und bis nächste Woche. Macht's gut.

01:48:28.620 --> 01:48:30.620
Ciao.

01:48:30.620 --> 01:48:40.620
Musik

01:48:40.620 --> 01:48:50.620
Musik

01:48:50.620 --> 01:49:00.620
Musik

Revision 554: Konferenzorganisation in Zeiten einer Pandemie

1. Februar 2023 | Keine Kommentare

Diese Revision traf eine rekordverdächtigen Anzahl Gäste und Hosts aufeinander: Vanessa, Stefan und Schepp begrüßten Joe Ray Gregory, David Müllerchen und Robin Böhm an ihrem virtuellen Kaminfeuer.

Joe aus Hamburg kennt Ihr aus den Revisionen Revision 520: Unit-Testing / Testing Library und Revision 552: Frontend Development im Jahr 2023.

Robin aus Berlin (Twitter / Web) wird nur langjährigen Hörer*innen von seinem Besuch vor 10 Jahren aus Revision 130: AngularJS – Superheroic Jav