Und dann kann man sich natürlich fragen, OK, was macht man jetzt?
Ne, also stellt man sich jetzt hin und sagt Na gut, dann gibt
es halt keine Tests mehr. So ist ja keine Alternative.
Das ist ja die, das war ja unsere Lösung.
Dann aber Coding Boys, Time Podcast.
Rund um. Softwareentwicklung und
aktueller. Technews herzlich Willkommen.
Ja, herzlich Willkommen zur neuen Folge des Coding Bodys
Podcasts. Schön, dass du wieder
eingeschaltet hast. Natürlich wieder mal mit dabei
deine beiden Gastgeber, meine Wenigkeit, der Tino und
natürlich auch wieder mal der fantastische Fabi.
Moin Fabi, Grüße dich halli Hallo Tino Hi.
Was geht ab? Wie immer die Frage.
Schön, dass wir uns hier wieder treffen, dass wir.
Uns hier immer wieder hören. Wir 3 zusammen.
Liebe zuhören, liebe Zuhörer, wir sind mal wieder alle am
Start und deswegen ich hab auf jeden Fall Bock.
Ich hab ziemlich dolle Bock muss ich sagen auf die Folge.
Wir haben letzte Woche darüber gesprochen.
Was ein so erwartet, wenn man sagt, man geht jetzt in die Welt
der Software, Entwicklung und Erwartung.
Vs. Realität genau.
Erwartung vs. Soll nein Realität.
Und da gab es ja noch einen Punkt, den ich so hatte, wo ich
meinte, Ah, na ja, komm, das war n cooles Schlusswort von dir,
das konnte man einfach nicht mehr toppen und deswegen haben
wir das ja geschoben und ich dachte mir, dann lass uns doch
gleich die Gelegenheit nutzen und jetzt genau eine Folge
später diesen einen Punkt nochmal aufgreifen.
Was meinst du soll ich ihn anbringen oder hast du ihn
anderen Vorschlag? Ich bin total gespannt, weil der
Punkt muss eine ganze Folge wert sein.
Schauen wir mal, wie lang die Folge wird.
Genau. Und zwar hatte ich noch den
Punkt im Kopf. Dass man eine gewisse, wie soll
ich sagen. Ausdauer mitbringen sollte oder
so n so n Ehrgeiz und Willen. Ich mag das kurz erklären, weil
das klingt vielleicht erstmal n bisschen komisch und zwar.
Bin ich quasi in meiner bisherigen Karriere sehr oft an
Punkte geraten, wo es einfach wieso ne Wand war, wo es nicht
weiterging beispielsweise. Man hatte irgendein Problem, man
konnte einfach die Lösung nicht finden, man hat sich mit neuen
Technologien auseinandergesetzt und ist da irgendwie stecken
geblieben. Und damit, und das ist genau der
Punkt, den ich meine, mit Ehrgeiz und Willen, dass man
halt dann nicht sagt, so ach naja, komm dann halt nicht so,
geht halt nicht, sondern sich da wirklich durchbeißt, also dass
man so ein Kämpfer ist. So ein Beißer, weißt du wie man
so schön sagt und ich finde das ist das ist so ein paar
Handbeißer und das ist so eine realitätsding, ich glaube, damit
muss man rechnen, also die Erwartung sollte man schon haben
zu sagen okay es werden Punkte kommen, die sind richtig
frustrierend. Und genau durch diesen Pain muss
ich dann durchgehen, weil dann ist halt auch wenn du es dann
geschafft hast, es halt auch richtig geil.
Klingt ja blöd, eigentlich. Ja, erstmal will man ja nicht
durch den Schmerz gehen, ne, aber es muss halt manchmal
einfach sein und ich finde man muss halt vom Charakter auch so
so n bisschen so n Kämpfer sein dabei, aber da würd mich mal
interessieren wie du das siehst und vielleicht können wir uns ja
auch mal so n paar Erfahrungen austauschen oder Erlebnisse.
Falls dir da auch spontan was einfällt, wo wir das mal so n
bisschen belegen können das Ganze.
Aber im Endeffekt sagst du ja jetzt so nach dem Motto, Wenn
man. Man braucht jetzt nicht
unbedingt erwarten, dass man sagt, so OK, pass auf, du hast
Aufgabe X lösig Aufgabe y lös ich Aufgabe z löse ich es und
dann es kommt halt auch durchaus mal dazu, dass keine Ahnung,
weil ein von 3 Aufgaben. Nur mal so als Beispiel genannt,
auch mal was dabei ist, wo man sich so denkt.
So Boah ey, ich komm nicht weiter das.
Ist gerade echt. Heftig.
Ich weiß nicht. Wie ich weitermachen soll oder
wie ich da an die Sache rangehen soll oder solche Sachen, ne.
Genau meinst du das? Und interessanterweise betrifft
das ja nicht nur die Programmierung an sich, also
dass ich jetzt beispielsweise nicht weiß, wie kann ich das
algorithmisch lösen, sondern das sind ja oft auch so Side
Effects, die auftreten können oder dass sich irgendwie ein
Framework im Stich lässt, dass irgendwie, darauf möchte ich
auch gleich eingehen, weil das war so der letzte Punkt, den wir
beide sogar hatten, dass irgendwas in der Testumgebung
auf einmal überhaupt nicht mehr rund läuft und man überhaupt
nicht mehr weiß, was ist also was, was passiert hier, warum
gehen die Tests auf einmal nicht mehr.
Und das sind so Punkte, die ich meine, wo du dir echt denkst,
warum zur Hölle ist das jetzt so, wo man dann so diese
Gedanken kriegt? Ich lebe damit oder ich lebe
nicht damit und versuche es jetzt einfach irgendwie
hinzukriegen. Ja, also das sind ja
tatsächlich, finde ich, das sind so vielleicht so 2 verschiedene
Arten, die mir jetzt so in den Kopf kommen von von solchen
Hindernissen oder Blockaden. Also ich weiß zum Beispiel im
Studio. Erste Mal wirklich das.
Das war so gefühlt das erste Mal im Studium, dass irgendwas mit
Code passieren sollte. Da hieß es so schreib doch mal
zu diesem Sachverhalt zu dieser Aufgabe Algorithmus wie auch
immer pseudocode. Ich dachte mir in dem Moment.
Ich weiß wie wie schreibt man pseudocode, was macht man da,
wie geht das, wie funktioniert das?
Also das war zum Beispiel erstmal so ne Blockade, wo es
halt überhaupt erstmal von vornherein gar nicht weiter
ging, weil ich mir einfach dachte ich ich hab recherchiert,
ich hab geguckt was ist Pseudocode und das witzige an
der ganzen Geschichte ist ja auch für jeden der jetzt zuhört
und sich denkt so okay keine Ahnung, ja ich weiß was
pseudocode ist oder vielleicht auch für jemanden der sich denkt
so okay ich weiß nicht was pseudocodes Pseudocode ist im
Endeffekt du kannst schreiben was du möchtest.
Also es geht halt wirklich im Endeffekt nur darum, irgendwie
zu skizzieren. Wie etwas.
Also wie der Algorithmus aussehen könnte.
Und da ist es völlig egal, ob du zum Beispiel 5 verschiedene
Programmiersprachen mixt oder halt einfach mal einfach nur
einen Satz hinschreibst. Und das wusste ich halt in dem
Moment nicht und ich war so. Ich war so völlig verwirrt und
fertig. Und.
War da die Blockade aus so Exmatrikulation oder weiter oder
pseudocode? Lerne oder wie?
Ja also also. Das ist ein sehr witziges
Beispiel auf jeden Fall. Ich find es halt auch krass.
Weil du meintest, du hast das gegoogelt.
Ich glaube, wenn man pseudocode Google kriegt man so n paar
theoretische Erklärungen, aber man wird wahrscheinlich auch
wenig Pseudocode finden, weil wie du schon meintest, das ist
so frei von irgendwelcher Syntax, das also wie was soll da
auch der Google Treffer sein, also weißt du es gibt also ich
glaube es gibt so ein bisschen best practices aber halt wie
gesagt du kannst halt in jeder Sprache die du haben willst, sei
es Programmiersprache oder eine natürliche Sprache ist
eigentlich voll egal. Du sollst ja wirklich nur
skizzieren wieso ein Algorithmus aussieht, aber wie wie hast du
es gelöst dann? Wie habe ich es gelöst?
Ich weiß es gar nicht mehr, wie ich es gelöst habe.
Ich glaube, ich habe so getan, als hätte ich die Aufgabe
gemacht und habe mir dann die Lösung angeguckt und habe
gebetet, dass alles gut funktioniert.
Durchgeführt und da dachte ich mir so, ah, also auf jeden Fall,
ich weiß noch den aha Moment, das war dann in der Übung, wo
quasi auch andere vorgestellt haben oder also wo dann quasi
ich sag mal so. Gewisse Arten von Lösungen
vorgestellt wurden und dann dachte ich mir so, ach so OK,
ich verstehe es langsam. Ja, oder?
Das war ja wieso ne innere Blockade, ne, weil du halt
zwanghaft nach irgendwelchen Regeln gesucht hast, weil du
wirst ja quasi zu, also zu dem Zeitpunkt wirklich bombardiert
mit mit Input, mit Regeln und hier die Sprache und das und das
und so muss das gemacht werden und so und auf einmal kommt eine
Aufgabe, wo du quasi wieder frei auf dem weißen Blatt bist,
sozusagen weil ich erinnere mich auch an diese Aufgabe und ich
weiß, dass ich auch gestruggelt habe damit, weil ich mir dachte,
ja, ich kann doch nicht, also die ganze Zeit gibt es
irgendwelche Regeln und Syntax hier und da und jetzt kann ich
schreiben wie ich will, komme und wo ist der Haken so ja.
Genau, genau das war. Aber das sind halt, das war so
wirklich so die, die so in den allerersten Anfängen mal so eine
Blockade, wo es halt gefühlt auch gar nicht weiter ging, also
wo man wirklich an dem Punkt stand, wo einfach direkt eine
Mauer war und ich auch dachte, so, ich weiß es nicht.
Ich geh einfach mal gleich noch mal ganz schnell zu einem
nächsten Beispiel, weil das vielleicht auch noch n bisschen
greifbarer ist für auch für andere, die jetzt vielleicht
nicht irgendwie was mit Pseudocode machen mussten oder
was auch immer. Und das ist zum Beispiel
angenommen, du hast ne, Du möchtest n Programm schreiben
und weißt wie du das du hast ne Idee ne du sagst OK ich ich weiß
wie ich es machen würde und dann hatte ich zum Beispiel den den
Moment, da ging es darum etwas in C zu machen.
Und ich hab mir ne IDE genommen und oder NC plus Plus war das
glaub ich genau und hab mir ne IDI genommen und hab quasi mir
gedacht OK jetzt setzt er erstmal n Projekt auf weißt was
du programmieren möchtest. Aber erstmal bringst du quasi
das Grundprogramm, irgendwie ne Main zum Laufen ne so, das ist
einfach erstmal funktioniert und bei C ist es ja so, dass du
quasi du hast ja deine CPP Dateien und Deine Header
Dateien, also quasi deine Datei plus plus jetzt genau.
Die wir dann sozusagen definieren.
OK, welche Funktion hast du denn in deiner Klasse zur Verfügung?
Und die sind ja wirklich wichtig in C plus plus, dass du diese
Header Datei eben hast, zumindest ich.
Ich weiß nicht, ob lange nicht mehr mit C gearbeitet, ich weiß
nicht, ob die sich mittlerweile weiterentwickelt haben, aber.
Konzept ist noch da. Ja genau, aber Fakt ist, du
musst dann quasi in deiner TPP Datei musst du ja die Header
Datei inkludieren. Also du musst die sozusagen
irgendwo herziehen. Id hat einfach.
Immer wenn ich dann die einfach nur die Main ausgeführt hab, wo
einfach nur so n Hello World drin stand, hat dann einfach
gesagt ja ich find aber die Header nicht, ich weiß nicht was
hier los ist. So und das war damals auch ein
Struggle den ich hatte wo ich mir dachte, so ey ich krieg es
doch irgendwie hin und ich will das doch und keine Ahnung und
das war das war richtig nervig und die Lösung tatsächlich an
dieser Stelle war, dass die Ideen Bug hatte das sozusagen
mit C plus plus konnte die Ideen nicht richtig umgehen zu dem
Zeitpunkt und da dachte ich mir so.
Komm, ey und ich habe aber ewig rumprobiert, bis ich dann halt
auch weißte, weil man wie du meintest.
Man versucht sich ja durchzubeißen und versucht das
zu machen, war auch noch ein bisschen am Anfang, aber also
das sind auch so Sachen, weißt du so Konfigurationsgeschichten
die vielleicht auch nicht mal unbedingt direkt mit dem Code zu
tun haben. Sehr cooles Beispiel, weil
tatsächlich hatte ich ein ähnliches oder fast schon
gleiches im Kopf. Auch im Studium, wo wir dann in
die technische Richtung gegangen sind und halt so in die C Welt
eingetaucht sind und man dann halt so das erste Mal die
Begegnung hatte mit Bildumgebungen wie Make oder
Seamake und eigenen Compilern aufrufen und wie kompiliere ich
alles zusammen und muss die Includepfade setzen oder alles
was du gerade meintest damit er die Header findet und das war
damals auch so ein Ding wo ich mir dachte ey ich raffs nicht
also boah ich meine ich will doch einfach nur, dass der das
jetzt mir zusammenbaut und ausführt was will er denn von
mir und. So in die Welt von Make und ja,
simake war es damals noch nicht. War wirklich noch make
eintauchst und gar keine Ahnung davon hast und so wirklich ganz
am Anfang stehst, dann ist es ne riesen Wand, durch die du da
irgendwie mit dem Kopf durch musst.
Das fand ich halt richtig krass damals und das waren schon so
die ersten Anzeichen, wo man gemerkt hat okay es wird immer
mal wieder so ein Struggle kommen, gerade auch wenn du
später. Hatten wir, falls du dich
erinnerst, als wir in dem Bereich der Robotik waren, mit
diesem Robot Operating System Ross gearbeitet und das das hat
ja auch so n Packaging System auch auf Simac basierend war das
glaub ich ne und auf jeden Fall darin.
Diese ganzen Lips finden anziehen hier die Pfade setzen
und so ah das ist so nervig diese Infrastruktur diese
Bildumgebung aufzubauen, da gab es auch Momente wo ich echt
verzweifelt bin muss ich sagen. Aber die Frage ist halt immer,
wie man dann am Ende damit umgeht.
Ne, also es ist ja dann immer die Frage okay was ist die
Alternative? Also wenn du jetzt zum Beispiel
sagst, du kriegst mit einer bestimmten Ide.
Dein C plus plus Code nicht zum Laufen?
Gut, dann vielleicht probier eine andere ide, wenn es
wirklich nicht anders geht, aber wenn du jetzt zum Beispiel vor
einem Punkt stehst, wo du sagst okay, wir haben dieses
Framework, wir haben keine Ahnung, bestimmte Sachen, die
uns zur Verfügung gestellt werden, mit denen man arbeiten
muss, dann ist halt die Frage, also dann kommst du halt
wirklich an die Frage zu sagen okay kriege ich das jetzt
irgendwie hin? Oder keine Ahnung, was mach ich
sonst schmeiß ich hin. Keine Alternative und keinen
Ausweg gibt so ne. Und das Spannende ist diese
ganze Bildumgebungsgeschichte mit make hab ich ja danach, als
ich wirklich noch Embedded Entwickler war jahrelang
betrieben, wo mich so intensiv damit auseinandergesetzt, dass
es mich überhaupt nicht mehr schockt.
Also im Gegenteil, ich bin da wirklich fit drin geworden und
weiß aber trotzdem noch, wie sich das angefühlt hat.
Ist nicht so, dass ich mir denke, ja, ja, was war denn dein
scheiß Problem damals auf gut Deutsch, so hab ich mal nicht so
sondern ich. Es heute noch.
Warum das so n Struggle war, wenn man sich damit nicht
auskennt oder anfängt damit auseinanderzusetzen, aber da
musst du halt, denn das ist halt so, du musst halt diesen Willen
haben dich da durchzubeißen und deswegen find ich diesen Punkt
halt. Oh, wie ganz cool, wollt den
halt auch noch mal mitbringen, so ne.
Ja das ist ja nicht nur, wir sind ja jetzt nur in diesem
technischen Bereich oder so infrastrukturellen Bereich, das
hat jetzt mit dem mit dem Programmieren an sich nichts zu
tun. Hattest du das Ganze auch mal
wirklich auf codebene, wo du dir dachtest, so?
Verdammt noch mal, wie mache ich das jetzt?
Na also du hattest es ja schon mal ein bisschen angesprochen.
Also jetzt. Anfang der Folge, dass wir ja
vor kurzem eigentlich auch so n so n Problem hatten, wo ich
sagen würde, OK, das hat Codetechnisch was zu tun.
Aber auch n bisschen Framework, mäßig so ne und da hatten wir
das Problem, dass quasi die. Ja, die Testumgebung auf einmal
rot gelaufen ist, was ja natürlich n relativ, also es
ist. Es ist n sehr schwerwiegendes
Problem, weil wenn du dich irgendwann nicht mehr auf deine
Tests verlassen kannst, also nur mal um den Sachverhalt zu
schildern, du lässt alle Tests. Laufen bisschen für die Zuhörer.
Genau. Also wir haben alle Tests,
liefen grün, alles war gut, wir haben ein neues Feature
angefangen, das Feature ging los, wir haben neue Tests
geschrieben und mussten halt auch zum Beispiel bestimmte
Teile mocken. Mocken ist quasi etwas wo du
sagst okay, wir haben eigentlich einen Teil, was uns Ergebnisse
zurückliefert, aber diesen Teil können wir nicht benutzen.
Das heißt, wir tun so als wäre er da und liefert uns Ergebnisse
zurück, man muss. Quasi dann die Testfälle
generieren zu können. Genau.
Ist vielleicht auch mal eine interessante Podcast Folge, wenn
es jemanden interessiert sozusagen.
Schreibt uns da gerne, wenn es jetzt zum Beispiel ums Mogeln,
faken und so weiter geht, gerade im Testbereich.
Auf jeden Fall ist es ja so, dass wir bestimmte Mods
gebraucht haben, die uns bestimmte Werte zurückgeliefert.
Damit man eben auf Unittestebene auch.
Also die Test schreiben kann und dann haben wir diese Mogs
geschrieben und haben quasi neue ne neues Feature eingebaut, neue
Sachen dazu gepackt, neue Tests hinzugebaut und dann haben wir
die Tests laufen lassen und die Tests, da war dann ein Testrot
und wir haben aber nicht ganz aus der Fehlermeldung verstanden
wieso dieser Test nicht gelaufen ist.
Haben dann einfach irgendwas ausprobiert, noch mal laufen
lassen und sind andere Tests. Suiten sind dann auf einmal rot
gelaufen, das heißt Wir hatten andere Tests die auf einmal rot
waren und aus unerfindlichen Gründen, also es war sehr sehr
merkwürdig wieso auf einmal sogenannte flaky Tests, die
einfach mal grün waren, mal rot waren.
Einzeln zum Beispiel auch Grün gelaufen sind, aber nicht im
Verbund und das war auf jeden Fall ne ein ein ein sehr sehr
komisches Verhalten, was wir da entdeckt haben und dann steht
man natürlich vor dem Punkt und denkt sich, OK, was haben wir
gerade anders gemacht, dann guckst du durch, was du anders
gemacht hast, dann fragst du dich irgendwann okay also wir
haben ja auch gegoogelt, wir haben nachgeguckt, wir haben
recherchiert, ausprobiert, was das Problem ist und sind ja
erstmal eine ganze Zeit lang nicht dazu gekommen, um zu
gucken oder nicht, haben nicht verstanden wieso das so ist und.
Man sich natürlich fragen, OK, was macht man jetzt ne, also
stellt man sich jetzt hin und sagt Na gut, dann gibt es halt
keine Tests mehr, so ist ja keine Alternative.
Das ist ja die, das war ja unsere Lösung, dann alle Tests
gelöscht. Spoiler Warnung?
Nein, sowas nicht, aber das ist halt natürlich die Frage.
Also im Endeffekt geht es an der Stelle wirklich darum, Lösungen
zu generieren und zu überprüfen, welche Alternativen hat man und
wenn sage ich mal alle Alternativen wegfallen und nur
noch die Alternative bleibt fix das dann ist die Frage okay du
musst es fixen, aber du weißt nicht wie du es fixen kannst und
jetzt kommst du. Genau.
Und da mal so als Anmerkung, das ist ja nicht so, dass wir.
Absolut souverän geblieben sind, sondern das hat ein paar Tage
gedauert, das Thema. Eigentlich die Testumgebung zu
fixen. Also da ist ja nichts Neues
entstanden und ich weiß, du warst fix und fertig und hattest
keinen Bock mehr. Ich dachte mir so, oh mein Gott,
ich nein, ich will mir das nicht mehr angucken, ich habe keine
Lust mehr und dann kommt halt dieser.
Innere Kampf und trotzdem denkt man sich, also überwiegt ja Gott
sei Dank noch so dieses Mindset, wir müssen das machen, es nervt,
keiner hat da mehr Bock drauf, wir gucken uns das seit Tagen
an, wir wissen nicht, was da abgeht, wir müssen weiter
probieren und irgendwie den Fehler finden, wir müssen
dadurch. Es ist ja auch wichtig,
Stichwort nochmal Verantwortlichkeit und also
eines Entwicklers oder einer Entwicklerin für die Software,
die man schreibt. Also wir wollten ja nicht die
Tests einfach wegwerfen an der Stelle.
Aber ich weiß, dass wir nervt. Mich auf jeden Fall.
Genau, ich weiß es für nervlich. Am Ende waren auf jeden Fall,
also es war schon so, dass man wirklich gar keine Lust mehr
hatte, das zu machen, nur wie du schon meintest, was ist die
Alternative, Wir hatten keine Alternative, wir mussten das
lösen, also haben wir uns intensiv damit halt nochmal
beschäftigt. Und was war denn, möchtest du
vielleicht sagen, was dann am Ende sozusagen der Outcome war?
Wir haben es ja gelöst. Ja, also tatsächlich es.
Man kann ja noch mal so n bisschen die hergehensweise
vorgehen. Also das Ding ist, die Tests
laufen ja parallel Mhm und dieses Flaky was du meintest das
mal welche gelaufen sind und mal nicht muss ja daran gelegen
haben, dass die Reihenfolge nicht deterministisch ist.
Sage ich mal. Also die laufen nicht immer in
der gleichen Reihenfolge, die Tests, die müssen ja auch autark
laufen, können, deswegen einzeln liefen sie, aber wir hatten ja
irgendwelche Side Effects erschaffen.
Das. Wenn Tests parallel laufend in
irgendeiner gewissen Reihenfolge andere Tests dadurch zu Fehlern
führen. Genau.
So, und dann hatten wir Sequenziell laufen lassen und
dachten uns so. Das Moment mal, das geht
sequentiell auch nicht. Also es ist ja.
Doch nicht die Parallelität. Also mal um mal kurz noch mal so
ein Revue passieren zu lassen. Du denkst dir so, es muss daran
liegen, dass die parallel laufen, ja dann lassen wir so
mal Sequenziell laufen, auch keine Lösung, weil es sehr
langsam ist. Aber wir haben es mal probiert.
Ja, verdammt noch mal. Da sind trotzdem manchmal rote
Test bei so in jedem vierten Durchlauf.
Das kann doch wohl nicht wahr sein.
Und du hattest ja schon gesagt, Stichwort Mogs wir haben uns
dann so in diesem Test Framework vergraben, diese mogigen
Features, die da drin sind, wie man Sachen mokken kann, dass wir
dann irgendwann gemerkt haben, Moment mal.
Der wie soll ich das erklären? Diese Box sind teils gar nicht
nur gültig, da wo wir sie definieren, sondern werden so
auf globaler Ebene hochgezogen. Bei der Art und Weise, wie wir
sie verwendet haben. Und dadurch haben wir quasi
ungewollt Sachen woanders gebockt, was für mich komplett
nicht erklärbar war. An der Stelle plus was ich immer
noch n sehr merkwürdiges Verhalten fand, ist, dass andere
Test Cases dann gesagt haben okay, ich hab keinen Bock, ich
nehme die Originalimplementierung und auf
einmal sind Prozesse losgelaufen, die wir auf jeden
Fall nicht wollten. Ja, das war auf jeden Fall sehr,
sehr wild, was ich auf jeden Fall, also was man halt im
Endeffekt ist, man könnte sich jetzt hinstellen und sagen,
okay, das klingt ja echt blöd, das sind, das ist ja also, da
möchte ich doch lieber gar keine Softwareentwicklung machen.
Prinzipiell sind das natürlich Einzelfälle, nur man muss halt
damit dealen, dass sowas auf jeden Fall vorkommen kann und
dass man dann natürlich eventuell nicht die Möglichkeit
hat zu sagen, ja gut, dann lasse ich es halt so und da ist es
natürlich an der Stelle finde ich sehr, sehr wichtig und
interessant zu lernen auch. Lösungsfindung zu betreiben und
auch ein bisschen kreativ zu werden und halt eben wie du
schon meintest, Tino. Halt auch den Mut, nicht zu
verlieren und sozusagen die den Biss nicht zu verlieren, um
wirklich zu sagen, ich, ich mach das jetzt so lange, bis das
funktioniert, weil am Ende finde ich zum Beispiel, also man
könnte jetzt da aus der ganzen Nummer rausgehen und sagen, das
war voll Kacke, das war Mist, gar keinen Bock mehr da drauf,
so ich, ich lass das jetzt so, aber am Ende.
Haben wir, würde ich sagen, einiges gelernt.
Zum Beispiel über das Testframework.
Zum Beispiel darüber, wie. Bestimmtes Verhalten quasi auch
im im im Verhältnis zu von der Parallelität der Tests zu den
sequentiellen Tests. Funktionieren und so das das war
auf jeden Fall, war auf jeden Fall ein sehr interessanter
Outcome und n guter aha Effekt und sowas und das klingt jetzt n
bisschen blöd, aber sowas macht einen am Ende auch zu sag ich
mal. Also solche Momente machen einen
auch dann zu besseren Entwicklern und Entwicklerinnen
einfach aus dem Grund, weil man halt eben genau durch diesen
Schmerz durchgeht und dadurch halt wertvolle Erfahrungen
sammelt. Ja, das ist ein sehr guter
Punkt, weil genau daran wächst man dann am Ende.
Deswegen jetzt, wo es überstanden ist, sage ich mal.
Muss ich sagen, war es sehr lehrreich.
Da gehe ich auf jeden Fall mit, was ein sehr guter Effekt dabei
war, ist, dass wir die unsere Testumgebung und die Tests
streckenweise noch mal stark reflect dat haben, weil wir
sagen ja auch immer, man muss nicht nur Code refactors,
sondern auch die Tests und haben halt auch gemerkt und das ist
auch wieder so ein klassisches Ding, dann am Ende hier sind ja
schon noch so ein paar Sachen drin, die wollten wir so nicht
mehr machen, aber die sind nicht aufgeräumt oder refactor und
dann haben wir das gemacht. Mit den neuen Erkenntnissen über
die Mocking Features und haben es ja so quasi wieder stabil
bekommen. Die Umgebung konnten dann das
neue Feature Abtesten und alles ist wieder tutti ne.
Und das ist halt. Auf mehreren Ebenen halt ne
coole Erkenntnis, da geh ich auf jeden Fall mit.
Also einerseits, dass man natürlich daran wächst, mehr
über das Framework gelernt hat und was ich da jetzt ergänzen
möchte, ist noch mal n Reminder an einen selbst wie facton
refact dann. Und bloß nicht die Tests
löschen. Ohne niemals die Test löschen,
außer die, die Rot sind. Ja.
Fabi, ich würd sagen cool, dass wir über diesen Punkt noch mal
gesprochen haben. Auch so mit n paar Beispielen.
Ich fand es auch cool, dass du da noch mal in die Studienzeit
eingetaucht bist. Find ich auch, war extrem cool,
da noch mal so drüber nachzudenken.
Hast du noch was zu ergänzen? Ansonsten schließt die Folge.
Nee, ich denke das, das passt auch.
Wichtig ist einfach, dass man vielleicht also noch mal
abschließend sagen kann. Man hat vielleicht n struggle am
Anfang, es kann. Drin.
Es ist auch ganz normal. Es ist auch ganz normal, dass
man auch als erfahrener Entwickler oder Entwicklerin
halt eben auch noch mit bestimmten Sachen zu kämpfen
hat. Struggle hat vielleicht Sachen
auch immer noch verstehen muss, auf ganz verschiedenen Ebenen,
ob es jetzt in Konfigurationsebene ist, auf
Framework ebene Code Ebene, wo man sich auch immer befindet,
aber das bleibt halt nie aus und deswegen ist es wirklich
wichtig. Da auch einen gewissen
Kampfgeist sozusagen mitzubringen, wenn es um solche
Sachen geht. Aber am Ende würde ich sagen,
und da spreche ich doch, glaube ich für uns beide Tino, dass ich
es natürlich sehr lohnt, weil alles, was drum herum passiert,
macht schon sehr viel Spaß und bietet eine Menge Kreativität.
Wenn es im Bereich Softwareentwicklung und
Programmieren geht. Oder?
Wunderschön gesagt. Ja, und in dem Sinne würde ich
sagen, schließen wir die Folge auch, machen es gar nicht so
lang, ziehen es nicht in die Länge.
Ich werde die Folge jetzt auch gleich beenden und überhaupt
nicht mehr rumschwafeln. Und noch 5.
Minuten los. Gegangen.
In dem Sinne. Würde ich sagen.
Schön, dass du wieder eingeschaltet hast.
Und wenn du eben auch solche Erfahrungen gemacht hast in
solchen Punkten, dann schreib uns doch einfach bei Instagram
oder auf unserer Podcast Mail, die links auch zu allen an
diesem Plattformen und Mails und was auch immer und alles andere
findest du in den Show Notes genau.
Schreib uns deine Horror Story. Was hatte ich ewig.
Beschäftigt Coding Crimes Combat.
Holding Crimes True Coating Crimes geil.
Genau. Genau also schreibt uns einfach,
gib uns Feedback zu dem Podcast. Würde uns super freuen.
Auf jeden Fall. In dem Sinne würde ich sagen,
schön, dass du wieder eingeschaltet hast und ich
hoffe, wir hören uns auch wieder beim nächsten Mal.
In einer Woche also macht es gut.
Deine Coding Buddies gemeinsam besser.
Was?