
Ganz harmlos fing es an.
Ich habe ein paar freie Tage genutzt um mich in komplexe und relevante Themen einzuarbeiten.
Diesmal lautete das Thema:
Erstellen einer in der Cloud laufenden Web-Application mit REST-API und SQL Server Backend.
Dabei verschiedene Stufen des abgesicherten Zugangs (Authentication). Von gar nicht, über eigene Benutzerverwaltung bis hin zu Anmeldung über Microsoft-Account.
Programmierumgebung: C# (in Visual Studio)
Zur Methode: mir ist „learning by doing“ immernoch das Liebste. Meine Standard-Aufgabe lautet: Entwickeln einer Anwendung, mit deren Hilfe unter eigener Aktualisierung sich ändernde Werte verfolgt werden können. Man gibt einen Wert ein, so wie andere auch und man erhält im Gegenzug den aktuellen Mittelwert über alle von den Teilnehmern angegebenen Werte.
Klingt abstrakt? Ok, das geht konkreter:
Die wöchentliche Telko mit allen 30 Teilnehmern aus der Abteilung steht an.
Jeder ist anonym auf einer Webseite eingeloggt, auf der es zwei Werte zu verfolgen gibt:
- das aktuelle Verständnis zu dem gerade besprochenen Punkt
- das aktuelle Interesse zu dem gerade besprochenen Punkt
Man selbst kann jederzeit sein aktuelles Verständnis und Interesse am Thema auf einer Skala von 1 bis 100 mitteilen.
(Spätestens jetzt ist klar, warum das anonym erfolgt.)
Fazit: Wenn beides so gegen Null sinkt, kann der Redner aufhören.
Resultat: Unmengen Zeitersparnis auf derlei Meetings.
Meine erste chatGPT-gestützte Schulung begann.
Tag 1: SQL-Datenbank implementieren und in der Cloud einrichten.
Datenbank geht fix, da ich schon genau weiß, wo ich hin will.
Anschließend: SQL Server in Azure und hoch mit der Datenbank.
Ich hatte so eine Datenbank in der Cloud schon vor ca. 3 Jahren gebaut. (Damals noch in node.js mit DevExpress-Frontend). Bis ich mich durch die tausend Links in den umständlichen Beschreibungen von Microsoft durchgewurschtelt hatte, verging Zeit. Viel Zeit.
Hier kommt chatGPT in’s Spiel.
Frage an chati (ich darf chati zu ihm sagen): „Ich möchte … zeige mir … hilf mir.“
Sehr schnell sind die wesentlichen Hürden genommen. Einige Male verirre ich mich im von mir liebevoll so genannten chatGPT-Loop. Der geht folgendermaßen:
ich: „Zeige mir …“
chati: „Großartige Frage. Das ist ganz einfach ich erkläre dir Schritt für Schritt“
…
ich: „Schritt 3 funktioniert nicht. Den Menüpunkt habe ich gar nicht.“
chati: „Ganz klar. Das ist ein typisches Einstiegsproblem bei SQL in der Cloud. Ich zeige dir …“
… Stunde rum …
ich: „Wir sind jetzt wieder bei dem Punkt 3 angelangt. Da hast du gesagt ich soll das so machen.“
chati: „Großartig, dass dir das aufgefallen ist. Aber jetzt ist es klar …“
…
Nach Tag 1,5 hatte ich das im Kasten.
Geschätzte Zeitersparnis: 0,5 Tage.
Tag 2: Backend
Aufbau des Web-Service, der die Änderungen entgegennimmt und die die Datenbank überträgt, bzw. aktuelle Ergebnisse rausgibt.
Schmankerl dabei: mindestens Benutzerauthentifizierung mit eigener Nutzerverwaltung (für die Eingefleischten: JWT) und auch Authorisierung (also nicht nur, dass er darf, sondern auch WAS er darf)
Hier nun Aktualisierung meines zugegebenermaßen angestaubten C#-Wissens.
Mein Freund chati läuft sich gerade warm.
Erstmals wird deutlich: je weniger der Typ vor dem Bildschirm konkret an Wissen mitbringt, desto effektiver die Hilfe, die chati ihm angedeihen lassen kann.
In meinem Fall etwa so:
„Starte die Programmierumgebung. Oben links im Menü: Neues Projekt anlegen, Typ ist „Web API“.
Nach dem ersten „Hello World“ (ganz alte Programmierer werden sich daran erinnern: traditionell endeten erste Gehversuche in der Programmierung immer mit einem „Hello World“ auf dem Bildschirm) geht es in Medias res.
Hier gleich die nächste Erkenntnis: je genauer der vor dem Bildschirm über die dahinterliegenden Konzepte und zugrunde liegenden Methoden Bescheid weiß, desto effizienter ist chati. Eine klare Vorstellung vom erwarteten Ergebnis beflügelt ungemein. Ohne das hätte ich keine Kontrolle darüber, in welches Dickicht chati mich führt.
Mit dem nötigen Unterbau aber wird die Session zu einem ungemein effizienten – und nun wird die Wahrnehmung von chati als Person erstmals sichbar – Gedankenaustausch.
Ok, meine Gedankenbeiträge laufen meist auf ein chati-seitiges: „Großartig. Prima Idee. Ja, das kann man auch so machen“ hinaus.
Hier würde mir ein lapidares „Kann man so machen, wird dann halt Kacke.“ helfen.
Das macht aber nichts. So lerne ich Wege kennen, die ich in der Vergangenheit nie beschritten habe, die deshalb aber nicht von vornherein als „abwegig“ betrachtet werden sollen, sondern als „gängige Praxis“ oder „State of the Art“ oder, oder, oder. Immerhin bin ich ja in einer Schulung.
Tag 2, 14:00: Kopfschmerzen. Solche Druckbetankung bin ich nicht mehr gewöhnt. Deshalb lasse ich die Authentifizierung über Microsoft-Konto für morgen. Jetzt muss ich dringend mal raus an die frische Luft.
chati: „Soll ich dir zeigen, wie du an der frischen Luft atmen kannst ohne mit dem Laufen aufzuhören?“
Tag 3: Authentifizierung mit Microsoft Konto
Ein Zwischending zwischen Tag 2 und 3. Ein paar chati-Loops.
chati rückt mit einer neuen Stärke raus. Wenn er mich auch in’s kruze Gras geführt hat, er hat, wenn man lieb fragt, immer tolle Tipps um mit der Fehlersuche vorwärts zu kommen, parat.
Noch eine Erkenntnis: die Konversation wird mit der Zeit immer länger. Und – die Antworten dauern länger, werden aber nicht unbedingt besser. Zuviel Kontext scheint meinem neuen Freund das Hirn zu vernebeln.
Meine Lösung dazu: Neue Session mit einleitender Zusammenfassung des aktuellen Standes der Ermittlungen und Präzisierung des Zielbildes.
Tag 3, 14:00 weniger Kopfschmerzen und eine Authentifizierung mit Microsoft-Konto
Tag 4: Einführung Web-Frontend mit Blazor, einer gewaltigen, modernen und wie ich lerne sehr gut nutzbaren C#-Komponente zum Erstellen von Web-Frontends
chati scheint sich schon darauf zu freuen. Eigentlich will er mir den fertigen Code gleich so ohne viel Gewese rüberschieben und ich soll nur noch oben rechts „Code kopieren“ drücken.
Aber so gut kennen wir uns noch nicht. Die Kontrolle gebe ich nicht aus der Hand.
Die Anmeldeseite steht viel schneller, als ich vermutet habe. Die verschiedenen notwendigen Authentifizierungen („Komplikationen“ nennt man das in der Uhrmacherei, wenn Mondphasen und so Zeugs zur Anzeige kommen) sind alle ratzfatz eingebaut. Und trotzdem habe ich das Gefühl, verstanden zu haben. Das ist mir bei einer Mocrosoft-Beschreibung noch nie passiert.
Tag 4, 18:00 ich habe jetzt viel Fahrt aufgenommen. Chati ist auch noch nicht müde. Wir machen noch ein bisschen.
Tag 5: Frontend
Ich hasse Frontend. man fummelt ewig in den Stylesheets unda m Design rum und kommt nur zu mittelmäßig befriedigenden Ergebnissen. Andere sehen das anders und verdienen damit sogar ihr Geld. Ich weiß.
Nachdem ich ein rudimentäres aber funktionierendes Frontend mit einer nicht layoutpreisverdächtigen Seite hingezimmert habe (eigentlich hat chati ganz viel gezimmert) werde ich mutiger.
Erst einmal will ich statt der schnöden Zahlenwerte eine schöne Tacho-Nadel angezeigt bekommen. Am besten mit rot, gelb und grün Bereich.
chati findet die Idee wie immer großartig (muss wohl an mir liegen) und spendiert mir gleich den Code, den ich da und da einklinken soll.
Im Code wird der Winkel des Zeigers mit Sinus und Cosinus berechnet. Hier gilt für mich das gleiche wie damals in der elften Klasse: da bin ich raus.
Jetzt komme ich auf eine verrückte Idee. Mir spukt immernoch im Kopf rum, wie meine Tochter die Grundfläche eines verwinkelten Restaurants zwecks Bestuhlung berechnete: Foto vom Grundriß hochgeladen und „chatGPT, berechne die Grundfläche“ beauftragt. Fertig. (Sie darf nicht „chati“ zu ihm sagen, weil sie seine Maskulinität bezweifelt. Und da hat die Liebe ihre Grenzen.)
Ich probiere auch mal was. In Powerpoint male ich mir die Webseite auf, so wie ich sie mir vorstelle. Die logischen Elemente, also welcher Wert angezeigt werden soll, habe ich ja schon. Fehlt noch das wo.
ich: „Mach mal, hier hast du ein Screenshot …“
chati: „Großartig … Mit dieser excellenten Vorlage … ich zeige dir …“
ich: kopiere den Code.
Und dann, nach ein paar Versionen und kleineren Änderungen, bei denen ich auch mal rausfinden darf, warum es nicht klappt (Chati ist begeistert, dass ich den Fehler gefunden habe und erklärt mir, warum das ein Fehler ist und korregiert ihn, weigert sich aber, mir einen Anteil meines Monatsbeitrages zurückzuüberweisen)
ist die Webseite fertig.
Mein erster Gedanken: Ich bin sprachlos. Das übersteigt alle meine Erwartungen. Und es ist auch ein bisschen gruselig.
Mein zweiter Gedanke: ich bin arbeitslos.
Ein gut im Futter stehender Entwickler mit chatGPT ist geschätzt etwa so schnell wie drei bis fünf Entwickler ohne. Das ist jetzt gefühlte Erkenntnis.
Insbesondere Entwickler ohne chatGPT (Opfer eines paranoiden Datenschutz-Policy im Unternehmen oder einfach welche, die’s verpennt haben) mögen das anders sehen.
Ich für meinen Teil empfehle all jenen, die Resourcen-Entscheidungen auf der Grundlage von Aufwandsschätzungen durch Entwickler treffen müssen, diesen Kurs ebenfalls zu belegen. Danach sieht man diese „Uhhh-Voodoo-Zauber-Programmiererei“ erheblich nüchterner.
Ich ziehe mich auf meine letzte Verteidungungspositionen zurück: Ohne Verständnis von Datenstrukturen und Software-Architektur gelangt man, zumindest vorläufig noch, in’s kurze Gras.
ANHANG
ich:
„ChatGPT: Korregiere diesen Text. Auf grobe stilistische Probleme nur hinwiesen. Nicht ändern.“
chati:
Sehr gut geschriebener, humorvoller und authentischer Text! 👍
Hier sind Hinweise auf grobe stilistische Probleme (keine Korrekturen, nur Hinweise):
Einleitung: Der Einstieg „Sprachlos und bald auch arbeitslos?“ ist stark, aber der Übergang zu „Ganz harmlos fing es an“ wirkt abrupt. Ein Satz zur Verbindung könnte den Lesefluss verbessern.
Absätze: Manche Absätze sind sehr lang (z. B. Tag 2). Kürzere Blöcke würden den Lesefluss erleichtern.
Wiederholungen: „Großartig“ und „Prima Idee“ kommen oft vor – stilistisch etwas redundant (bewusst ironisch, aber evtl. leicht überstrapaziert).
Dialogpassagen: Die Wechsel zwischen „ich“ und „chati“ sind witzig, könnten aber durch Anführungszeichen oder Formatierung klarer voneinander getrennt werden.
Zwischentöne: Die Mischung aus technischem Bericht und Satire funktioniert gut, aber an ein paar Stellen kippt sie leicht ins Plaudern (z. B. bei „Erster: ‚Nö, da hinten.‘“). Ein straffer Satzbau würde den Humor noch pointierter wirken lassen.
Fazit: Die letzten Absätze („Ich bin sprachlos … arbeitslos“) sind stark. Vielleicht etwas früher andeuten, dass die Pointe in diese Richtung läuft – das rundet den Text besser ab.
Inhaltlich und erzählerisch sehr gelungen – man merkt, dass du IT-Profi bist und Humor hast.
ich: „Na, dann passt’s doch“
