Konkret ging's bei seiner Aufgabe um den Bau eines Chat-Clients, angebunden an eine Third-Party-API (REST und Websockets). Es ging erstmal um wirklich völlig triviale Sachen, wie eine Vue-Komponente, um Chat-Nachrichten abzuschicken und dann anzuzeigen. Also ein kleines Formular mit Eingabefeld und Senden-Button, darüber dann die Anzeige der Chat-Nachrichten. Die ganze API-Anbindung war doch nicht mal ein Thema, sondern einfach nur den eingegeben Text oben in der Nachrichtenliste anzuzeigen.
Sowas ist in Vue wirklich eine äußerst triviale Aufgabe, die jeder mit halbwegs Frontend-Erfahrung in kurzer Zeit schaffen kann, auch ohne große Vorkenntnisse in Vue. Das Ergebnis waren ein paar Zeilen Code, die nicht auf jemanden schließen lassen, der JS auch nur halbwegs beherrscht. Statt let und const, kam nur var zum Einsatz -- das ist schon seltsam genug, für jemanden, der angeblich mit Angular, also TypeScript, gearbeitet hat. Simple Bedingungen für if-Statements waren falsch (wirklich absolut trivialer Kram), Strings wurden auf seltsame Art und Weise zusammengebastelt, als gäbe es sowas wie Template Strings nicht usw.
Beim Styling war's noch schlimmer. Lt. eigener Aussage hat er bisher nur mit Tailwind gearbeitet, also einfach alles wie Lego zusammengestöpselt. Wir verwenden aber kein Framework, sondern Grid und Flexbox. Mein Kollege hat ihm sogar extra Flexbox Froggy geschickt (ein Lernspiel für Flexbox, das auf lustige und effektiv Weise die Funktionen von Flexbox erklärt -- gibt's auch für Grid). Gemacht hat er's dann mit Floats. Ich dachte, ich seh nicht richtig. Vermutlich irgendwo aus Stack Overflow rauskopiert. Ich weiß sonst beim Besten Willen nicht, wie jemand in so jungem Alter an eine so altertümliche Layout-Methode kommt. Oder kurz gesagt: er kann kein CSS, nicht mal die einfachsten Sachen.
Das ist für jemanden, der sich als erfahrender Frontend-Entwickler ausgegeben hat, unfassbar schwach. Sicher kann ich bei einem Masteranden nicht erwarten, dass er mit in kurzer Zeit diesen Chat Client runterrockt. Das hat auch niemand im Team getan. Unterbrochen durch angebliche Krankenheiten und andere Dinge, war der Fortschritt nach zig Wochen seit dem initialen Aufwand minimal. Es kam immer wieder Ausreden, z.B. das sein Firmen-Notebook zu langsam sei, er keine Erfahrung mit dem Terminal hat (wie hat er dann Angular CLI benutzt?) usw. -- fleißig Arbeitszeit erfasst hat er natürlich schon. U.a. zig Stunden zum Lesen der Doku der Chat-API, sein Notebook mehrere male neu aufsetzen, Vue-Tutorials machen ...
Unser Project Lead, der auch gleichzeitig sein Team Lead war, hat dann noch mal ein sehr ernstes Gespräch mit ihm begonnen, nach dem wir die Zeiterfassung geprüft und mit seiner tatsächlichen Arbeit abgeglichen haben. Er ist dann von selbst gegangen, aber es kamen natürlich Vorwürfe etc. in unsere Richtung. In den eigentlichen Meetings mit dem Team hat er aber ganz andere Sachen erzählt. Als dann feststeht, dass er geht, war er einfach wieder krank und ward nie wieder gesehen.
Das ist ein besonders krasser Fall. Ich hab in den 17 Jahren, die ich professionell in der Branche arbeite, schon so einiges gesehen, aber sowas kam mir bisher nicht unter.
Ansonsten, anderer Fall auch mit einem Masteranden: kam fürs Backend ins Team. Das bestand damals primär aus Java und wir begannen gerade mit der Kotlin-Migration. Eine seiner ersten Aufgaben bestand darin, ein paar einfache Klasse mit Hilfe des integrierten Tools von IntelliJ umzuwandeln und nachzubearbeiten. Was tat er? Hat das ganze Projekt auf einen Schlag konvertiert und es ging natürlich nichts mehr. Gut, okay, evtl. hat er uns missverstanden. Also haben wir ihm noch mal ganz genau erklärt, was zu tun ist. Was macht er? Denselben Mist noch mal und wundert sich schon wieder, warum nix mehr ging ... argh.
Gut, dann haben wir uns gedacht, dass Backend wohl nichts für ihn ist und haben ihm Frontend-Aufgaben in Vue gegeben. Wir waren damals mitten in der Migration von AngularJS (Version 1, hat mit dem heutigen Angular nix zu tun) auf Vue. Das war auch alles extrem holprig, aber immerhin kam was halbwegs nutzbares raus.
Das klingt alles sehr negativ, aber insgesamt hatten wir eigentlich bis auf diese zwei Ausnahmen immer sehr gute Werksstudenten. Einer war von Anfang an so gut, dass er direkt produktiv mitarbeiten konnte. Die anderen waren nach wenigen Wochen soweit. Das ist aber auch alles schon etwas her. Aktuell sieht's nicht ganz so gut aus. Einige fertige Werksstudenten konnten wir vor ein paar Monaten nicht übernehmen, weil sie im internen Vorstellungsgespräch komplett versagt hatten. Auch da waren es sehr grundsätzliche Dinge und teils haben sie sogar eigene Vorlagen komplett geigt, wenn man nachgefragt hat. Einer erwähnte z.B. ein bestimmtes Transaktions-Pattern, das er in einem internen Projekt verwendet hat, konnte dann aber nicht erklären, was eine Transaktion ist. War leider kein geistiger Aussetzer, sondern das ging im ganzen Gespräch so. Wobei hier auch von unserer Seite Fehler passiert sind. Das hätte man definitiv schon während des Studiums bzw. in den internen Projekten erkennen müssen. Leider war in dieser Zeit aufgrund diverser Umstände und durch die Pandemie, die Betreuung nicht optimal. Das haben wir inzwischen auch deutlich verbessert.