[de] Azubis kosten,
Auszubildene Kosten
Ich habe schon unterschiedliche Agenturen kennengelernt. Hin und wieder ist mir dabei aufgefallen, dass Auszubildende häufig entweder drastisch über- oder unterfordert werden. Die Wurzeln des Übels sehe ich darin, dass Auszubildende häufig für falsche Zwecke eingesetzt werden. Als Unternehmen sollte man sich bewusst sein, dass ein Auszubildender wie eine Kapitalanlage zu sehen ist. Am Anfang der Ausbildung wird man in sie investieren müssen. Sicher gibt es Auszubildende, welche wirklich lernen wollen und womöglich mit Fähigkeiten ins Berufsleben starten, die so manch einen Teamleiter glücklich machen.
Primäres Ziel sollte jedoch unbedingt sein, dass der Auszubildende lernt. Er sollte nicht als günstige Arbeitskraft angesehen werden und eingestellt werden, um mindere Arbeiten zu verrichten.
Natürlich gehört es zur Ausbildung, auch mal die Schattenseiten des Entwicklerlebens kennenzulernen, hierbei sollte man jedoch behutsam und mit etwas Feingefühl vorgehen. Junge Entwickler lernen i.d.R. schnell, wenn man ihnen Jemanden zur Seite stellt, von dem Sie lernen können [Mentor]. Diese Person arbeitet idealerweise an identischen Projekten und kann so eine schulende und überwachende Rolle übernehmen.
Überwachung in diesem Rahmen ist als positiv zu erachten und sollte auch vom Auszubildenden geschätzt werden. Hier geht es primär darum, dass er weniger Verantwortung trägt, wagemutige Entscheidungen entschärft und vor allem offen diskutiert werden kann.
Es sollte vermieden werden, dass Auszubildende Projekte zu früh im Alleingang übernehmen. Dies kann gut gehen, es ist mit Sicherheit auch eine Erfahrung, kann jedoch auch schnell dazu führen, dass sich falsche Ansätze einprägen, die Qualität massiv leidet oder Projekte völlig falsch eingeschätzt werden.
Prinzipiell sollte jedem bewusst sein, dass ein junger Auszubildender nicht die nötige Erfahrung mit sich bringt, Projekte oder größere Teilbereich im Alleingang zu erledigen. Im praktischen Alltag habe ich dies leider schon des Öfteren erlebt, nicht selten führt solch fahrlässiges Verhalten dazu, dass viel Zeit investiert werden muss, um die Fehler des unerfahrenen Auszubildenden wieder auszubügeln
In solchen Situationen kann es schnell dazu kommen, dass der Auszubildende als Sündenbock dargestellt wird - schließlich entstand der Fehler bei ihm. Dies ist natürlich völlig falsch. Ein Auszubildender sollte ähnlich wie ein Fahrschüler überwacht und geleitet werden, sollte es zu einem Unfall kommen, so kann dies nur daran liegen, dass von ihm völlig fahrlässig gehandelt wurde, ihm ein Mentor fehlt oder die Ressourcenplanung mit der Aufgabenverteilung versagt hat. Völlig fahrlässiges Verhalten habe ich in diesem Kontext noch nie erlebt. Wichtig ist es auch zu beachten, dass jungen Entwicklern häufig noch die Erfahrung fehlt, zu wissen, dass Ihnen Erfahrung fehlt. Hier wird sich gerne in alle Richtungen über- oder unterschätzt.
Es ist wichtig, den jungen Schüler auf die richtige Seite der Macht zu leiten und Fehltritte verzeihbar zu halten. Ein Auszubildender sollte nie für den Zweck eingestellt werden ein Team kurzfristig zu entlasten.
Auf der anderen Seite sollte man Auszubildende maximal fordern, dies lässt sich leicht damit bewerkställigen, diese auch an komplexen Ecken arbeiten zu lassen, jedoch immer eine Review in Form eines Pull- / Mergerequests zu erzwingt.
Hierbei ist zu beachten, dass die Chancen bei einem unerfahrenen werdenden Entwickler höher sind, dass schlechter Code entsteht. Reviews sind somit deutlich aufwendiger, zumal ein einfaches Abweisen des Requests nicht sinnvoll ist. Man muss auf Fehler eingehen, diese verdeutlichen und vermeiden, dass diese erneut gemacht werden.
Dies kann sehr zeitaufwendig sein - ist aber primärer Bestandteil einer Ausbildung. Ein weiterer interessanter Ansatz ist es, die (Unit)Tests mit dem Auszubildenden zu entwickeln, die Implementation von ihm erledigen zu lassen und danach ein Review duchzuführen. Dieses Vorgehen hat mehrere Vorteile, so gewöhnt sich der Auszubildende von Anfang an an Softwaretests, zum Anderen entwickelt man eine saubere API mit ihm zusammen. Er wird sich sehr schnell daran gewöhnen, saubere API’s vor der Implementation zu schaffen. Dies kann auch dazu führen, dass man sich viel Zeit bei der Review spart, da man den Tests mehr vertrauen schenken kann.