Die Suche nach Softwareentwicklern, Ingenieuren und DevOps ist eine Herausforderung für jedes Unternehmen. Aber warum ist das so? Und was können Arbeitgeber tun, um die Talente zu finden, die sie für ihre Domäne benötigen?

Etwas Geschichte

Ende 2017 wurde ich von der Boxine GmbH als Head of Cloud & Operations eingestellt. Die Produzenten der Toniebox sind ein technisches Unternehmen, aber in den ersten Jahren arbeitete das Startup ausschließlich mit Partnern aus dem Technologiebereich zusammen, um das Produkt so schnell wie möglich auf den Markt zu bringen. Zum Zeitpunkt meiner Einstellung hatte das Unternehmen etwa 40 Mitarbeiter, darunter 0 IT-Experten.

Mein Job: Internalisierung der Softwareentwicklung, Migration von Technologien (Cloud und Hardwareproduktion) und Aufbau eines Entwicklerteams und eines IT-Teams. Und das so schnell wie möglich.

Ein Vorhaben, das mitunter Jahre dauern kann. Selbst unsere Technologiepartner haben von dem Projekt abgeraten und auf den unattraktiven Markt für Arbeitgeber hingewiesen. Vor allem IT-Spezialisten sind gefragt. Und gerade von denen gibt es nicht so viele.

Trotzdem gelang es uns, den Trick zu vollbringen. Mit Hilfe meiner Kollegen, einem guten Produkt und externer Hilfe konnten wir in kurzer Zeit ein starkes Team aufbauen. Innerhalb von sechs Monaten konnten wir von 0 Entwicklern auf 3 Entwickler skalieren. Innerhalb von 12 Monaten waren wir 5 Entwickler, 2 DevOps, 1 System-Operator und 1 PO.

Die Schlüsselfrage: Warum stellen wir ein?

Zuerst erscheint die Frage sehr banal, da sie das Offensichtliche in Frage stellt. Aber ist es so offensichtlich, warum gerade jetzt ein bestimmter Spezialist eingestellt werden sollte?

Welches Problem soll der neue Mitarbeiter lösen?

Das erste Ziel ist es, den Personalbedarf qualitativ zu ermitteln. Genau festzustellen, was gesucht wird. Es ist nicht einfach, dies komplett selbst zu entscheiden, weshalb sich der Austausch mit Kollegen, Vorgesetzten und HR durchaus lohnt. Denn als Abteilungsleiter hat man vielleicht ein Problem für sich selbst erkannt, das da heißt: “Ich habe nicht genug Leute”. Aber es ist oft so, dass Probleme auf unterschiedliche Weise gelöst werden können, weil Probleme auch unterschiedlich wahrgenommen werden. Ein Austausch mit den Beteiligten soll sicherstellen, dass jeder das gleiche (oder maximal ähnliche) Bild der Situation hat und versteht, warum sich die Frage nach mehr Personal überhaupt stellt.

Die folgenden Fragen sind Beispielfragen, die in einem solchen Austausch gestellt werden können:

- Wie sieht unser aktuelles Team aus?
- Was ist der strategische Plan für die nächsten 12 Monate?
- Wie würden die Kernaufgaben des neuen Mitarbeiters aussehen?
- Würde der neue Mitarbeiter zur Entlastung des Teams beitragen?
- Mit welchen Abteilungen muss der neue Mitarbeiter korrespondieren?
- Sind einige oder alle Aufgaben nur saisonaler Natur?
- Ist eine Vollzeitstelle das richtige Beschäftigungsmodell?
- Welche Alternativen gibt es, um das bestehende Problem zu lösen?
- Wie sieht der Gehaltsraum aus?

Die aus den Diskussionen gewonnenen Erkenntnisse sollen nun einen guten Überblick über den tatsächlichen Bedarf geben. Außerdem gibt es damit bereits detaillierte Anforderungen an den neuen Mitarbeiter. In Prosa zusammengefasst bieten diese Informationen eine perfekte Vorlage für eine Stellenbeschreibung.

Aber die Übung hat noch mehr Absichten.

  1. Eine Vakanz sollte nicht nur vor dem Bewerber, sondern auch vor einem selbst kausal vertretbar sein. Die meisten Bewerber merken, ob eine Stellenanzeige nur pro forma geschrieben wurde mit der Absicht, Mitarbeiter zu “parken”. Die Bewerber spüren entsprechend auch, ob das Unternehmen eine neue Kraft und Kompetenz zur Lösung konkreter, echter Probleme braucht. Das bedeutet, dass das Unternehmen einen bestimmten Grund haben sollte, warum es die Stelle ausschreiben und sich dessen unbedingt bewusst sein muss. Erweiterung des Teams? Mehr Projekte? Einsatz neuer Technologien? Zu vermeiden ist, dass Talente gesucht und eingestellt werden, ohne ein konkretes Problem in der unternehmerischen Organisation lösen zu können. Die direkte Einstellung um der Einstellung willen ist für das Unternehmen teuer und im Zweifelsfall frustrierend für den neuen Mitarbeiter.

  2. Ein zweiter Grund ist, dass IT-Spezialisten sich nicht bei Unternehmen bewerben, sondern eigentlich eher umgekehrt. Eine Tatsache, die man als Arbeitgeber akzeptieren sollte, um auf dem Markt realistisch wettbewerbsfähig zu bleiben. Aufgrund der guten Marktsituation suchen viele IT-Profis nach Arbeitsplätzen, die entweder sinnvoll sind oder sie technisch fördern und fordern. Im besten Fall beides. Je eher und besser man als Unternehmen weiß, was man sucht und warum, desto besser ist der Auftritt im Vorstellungsgespräch und damit auch der Eindruck auf den Bewerber. Erst damit kann das Unternehmen auch einen Ausblick auf die anstehende Herausforderung geben und und damit Erwartungshaltungen treffen.

  3. Last, but not least, wurden so alle Beteiligten von dem Prozess mitgenommen. Jeder im Team weiß jetzt, was los ist und warum neue Kollegen gesucht werden. Auf diese Weise können falsche oder voreilige Ableitungen vermieden werden (z.B. dass der neue Kollege notwendig ist, weil die erbrachte Leistung des Teams nicht ausreichend ist). Ich hatte sogar einen Fall, in dem ein Mitarbeiter dachte, dass der neue Bewerber ihn ersetzen sollte. Solche Fälle müssen um jeden Preis vermieden werden.

Der richtige Titel

Da die Anforderungen an den neuen Mitarbeiter nun klar sind, ist es an der Zeit, über einen Titel nachzudenken.

Natürlich hängt es auch davon ab, wie das Unternehmen strukturiert ist. Start-ups, mittelständische Unternehmen und Konzerne müssen unterschiedlich bewertet werden. Gerade bei Start-ups ist es eine gute Idee, Titel nicht zu hoch zu bewerten und am Anfang sogar einfach wegzulassen. Aber es gibt einen tollenArtikel von Marcela, CEO und Mitbegründer von Hello Alfred, welcher das auch gut erklärt. Ein generisches Modell, das zunächst mehreren Personen zugeordnet werden kann, vermeidet oft viele Probleme.

Allgemeine Titel wie “Software Engineer” oder “Software Developer” werden häufig in agilen Teams verwendet. Sie erlauben den Entwicklern fach-übergreifend zu arbeiten und bauen Hürden zwischen Disziplinen ab. Gerade in Scrum-Teams ist dies ein großer Vorteil. Spezifischere Titel dagegen haben den Vorteil, dass diese Fachkräfte einfacher zu finden sind (z. B. auf Xing) und ihre Spezialisierung deutlicher ist. In einigen Unternehmen ist es aber sehr wichtig, die eigene Funktion relativ genau durch den Titel zu repräsentieren. Sollte dies der Fall sein, sei hier zu einer groben Spezialisierung geraten. “Backend Developer” ist spezifisch, sprechend, aber fachlich nicht zu eingeschränkt. “Python Backend Developer” dagegen ist schon etwas zu viel.

Vermeiden Sie Begriffe wie “Guru” oder “Hacker”. Vor einiger Zeit erhielt ich sogar einen Brief von einem Personalvermittler, der nach einem “Lucky ‘Django’ Luck” suchte, einem, der “schneller entwickelt als sein Schatten”. Das ist nicht professionell und zieht keine IT-Profis an.

Die richtige Stellenausschreibung

Jede Branche hat ihre eigenen Dos and Dont’s, die beschreiben, wie eine Stellenanzeige aussehen soll. Das Gleiche gilt für die IT.

Eine Stellenausschreibung sollte so kurz und knapp wie möglich erklären, worum es bei der Stelle geht. Kurz und prägnant und ohne Tricks. Einige Unternehmen möchten darauf hinweisen, dass sie auch gut feiern oder jede Woche eine Fußballmeisterschaft organisieren können. Das ist toll, aber letztendlich irrelevant.

Bitte nicht falsch verstehen - das Zwischenmenschliche ist enorm wichtig. Selbstverständlich muss das soziale Umfeld passen. Allerdings wird sich der Bewerber davon selbst ein Bild machen, sobald er da ist.

Da wir uns also hier im professionellem Umfeld bewegen, wird auch erwartet, dass hier Fakten zur fachlichen Anforderungen genannt werden. Die Stellenausschreibung hat den Zweck, einen Mitarbeiter zu finden, der das Geschäftsmodell eines Unternehmens implementiert und damit gegebenenfalls sehr viel Geld einbringt. Nicht, um schüchterne Nerds aus dem Keller ihrer Eltern zu locken.

Eine Liste, die die harten Anforderungen an den Bewerber stellt, ist durch die oberen Gedanken bekannt und das beste Mittel zu zeigen, was gebraucht ist. Es hilft dem Bewerber zu beurteilen, wie gut der Bewerber zu der Stelle passt. Eine Liste von verwendeten Technologien hilft zusätzlich bei der Orientierung.

Der Joel-Test

Joel Spolsky, CEO von Stack Exchange Network und Mitbegründer vonTrello, veröffentlichte im August 2000 seinenJoel-Test. Ziel war es, die Qualität von Software-Teams auf einfache Weise zu messen. Der Joel-Test, bestehend aus 12 einfachen Fragen, die mit “Ja” oder “Nein” beantwortet werden, ist sehr beliebt geworden und hat auch heute noch eine große Bedeutung. Mit StackOverflow können Sie beispielsweise den Joel-Test direkt bei der Beschreibung Ihrer Stellenanzeige ausfüllen. Es ist eine feste Komponente.

Im Jahr 2012 aktualisierte und modernisierte Sven die 12 Fragen des Joel-Tests in seinem Blog svenpet.com (https://svenpet.com/2012/01/09/neue-joel-test-12-schritte-besseren-code/). Ich denke, dass dass Update viel Sinn macht, weshalb ich gerne darauf Bezug nehme.

  1. Können Builds, Artefakte und Deployments in einem Schritt erstellt werden?
  2. Wird ein Build automatisch nach jedem Check-in erstellt?
  3. Werden regelmäßig Kennzahlen über den Code erhoben und ausgewertet?
  4. Ist der Issue Tracker mit den Build und Versionskontrollsystemen verbunden?
  5. Werden Fehler behandelt, bevor Features implementiert werden?
  6. Wird irgendeine Form von Softwarefunktionalität vor der Implementierung aufgeschrieben und mit den Interessengruppen abgestimmt?
  7. Haben die Programmierer ruhige Arbeitsbedingungen?
  8. Werden die besten Werkzeuge verwendet, die verwendet oder gekauft werden können?
  9. Gibt es Mitarbeiter, die Vollzeit an den Tests arbeiten?
  10. Müssen Bewerber während der Bewerbungsphase Quellcode schreiben?
  11. Werden Usability-Tests mit Endanwendern durchgeführt?
  12. Wird jede Zeile des Codes geändert und neu programmiert?

Ich halte es für optional, die Fragen zu beantworten und sie der Stellenausschreibung beizufügen. Es ist jedoch ein Zeichen von Selbstreflexion und eines gewissen Know-Hows bei der Bewältigung dieser Fragen. Außerdem bietet es dem Bewerber die Möglichkeit, sich vor bösen Überraschungen zu schützen.

An dieser Stelle muss ich auch erwähnen, dass es nicht schlecht ist, wenn nicht alle Fragen mit “Ja” beantwortet werden. Durch eine wahrheitsgemäße Aussage werden keine falschen Erwartungen geweckt.

Wo soll die Anzeige veröffentlicht werden?

Der beste Ort, um zu sein, ist dort, wo potenzielle Talente sind.

Man sollte zudem immer in der Lage sein, die Anzeigen auf der eigenen Website zu finden (falls man eine hat).

Auch die beiden Business Social Networks LinkedIn und (in Deutschland sehr beliebt) XING sind die richtigen Orte, um die Anzeigen zu veröffentlichen. LinkedIn und XING bieten die gleichen Funktionen, indem sie geeignete Stellenanzeigen sowohl für Headhunter als auch für Talente, die nach ihnen suchen, selektieren und anzeigen.

Meiner Meinung nach ist StackOverflow obligatorisch. Kaum eine andere Plattform ist so spezialisiert auf die Branche wie diese.

Es können auch Portale wie StepStone undIndeed verwendet werden.

Der Bewerbungsprozess

Kurz, aber knackig.

IT-Spezialisten werden derzeit mit Angeboten überhäuft. Das bedeutet auch, dass sich die Anwendungsprozesse in der Industrie ein wenig ändern müssen.

Wenn man nicht gerade GitLab oder GitHub heißt und nur Eliten aus der ganzen Welt einstellt, sollte man einen Prozess wählen, der einen angemessenen Aufwand verursacht. Der Bewerber möchte das Unternehmen und sein Arbeitsumfeld kennenlernen. Gleichzeitig möchte man selbst feststellen, ob der Kandidat die Anforderungen erfüllt und in das Team passt.

Natürlich gibt es dafür mehrere Strategien. Meine sieht so aus:

  1. Der Bewerber legt seine Unterlagen vor. Ich schaue mir die Papiere an und bitte einen Kollegen aus der zuständigen Abteilung diese ebenfalls zu überprüfen. Sollte hier nicht widersprechen, wird der Bewerber zum ersten Gespräch eingeladen.
  2. Das erste Interview. Es findet mit mir und (in der Regel) dem CTO statt. Wir stellen dem Bewerber das Unternehmen und uns selbst vor, sondieren Karrierewünsche heraus, besondere Talente und Fähigkeiten und so weiter. Es sollte ein angenehmes und ehrliches Treffen sein, bei dem beide Seiten einen guten Eindruck von der anderen Seite gewinnen. Während des Interviews bewerte ich die folgenden Punkte:

    • Sind die Angaben des Bewerbers aus den Bewerbungsunterlagen korrekt?
    • Wo sind die Grenzen der fachlichen Expertise?
    • Würde der Bewerber in das Team passen?
    • Erfüllt der Bewerber die Anforderungen? Und wenn nicht, ist der Bewerber bereit, die notwendigen Fähigkeiten zu erlernen?
    • Sind die Vertragsbedingungen in Ordnung?
    • Gehaltsvorstellungen?
    • Welche Fragen stellt der Bewerber? Was ist ihm wichtig?
    • In welche Richtung möchte sich der Bewerber beruflich entwickeln?
  3. Nach dem Vorstellungsgespräch reflektieren wir dieses zu zweit. Ist hier Potential zu erkennen, wird der Bewerber zum zweiten Termin eingeladen.

  4. Der Bewerber erhält eine Aufgabe, an der er arbeiten muss. Die Aufgabe besteht in der Regel aus einem logischen und einem praktischen Teil, für den der Bewerber maximal 8 Stunden verbringen darf. Ziel ist es zu sehen, wie der Bewerber denkt und mit welchen Instrumenten er Probleme löst. Die Aufgabe selbst hat nicht die Anforderung “fertig” zu werden.

  5. Der zweite Termin (Assessment). Dieser findet statt mit allen (oder so vielen wie möglich) Teammitgliedern. In dem Meeting legt der Bewerber seinen Code vor. Zuvor muss der Kandidat angeben, wie lange er daran gearbeitet hat. Nachdem (manchmal auch währenddessen) der Code präsentiert wurde, überprüft und hinterfragt das Team kritisch die Arbeit des Bewerbers. Hier kann man dann sehr schnell feststellen, ob der Bewerber durch Angabe seines Zeitaufwands die Wahrheit gesagt hat oder nicht. Darüber hinaus ist es nun auch möglich, das Verhalten des Bewerbers im Falle einer kritischen Überprüfung zu überprüfen, wie viel Code er selbst geschrieben hat und wie stark sein Fachwissen ist zu verwendeten Technologien ist. Anschließend findet eine entspannte Runde statt, in der sich alle ein wenig besser kennenlernen kann.

  6. Der Bewerber nun aus dem Raum gebeten. Anschließend diskutieren gemeinsam und bewerten das Zusammenkommen. Jeder kann nun darüber abstimmen, ob er mit dem Bewerber zusammenarbeiten möchte. Eine einzige “Nein”-Stimme disqualifiziert den Bewerber.

  7. Nach der internen Entscheidungsrunde verlässt das Team den Raum und der Bewerber kommt wieder herein. Der Bewerber erhält nun direkt eine Antwort und das entsprechende Feedback. Im guten Fall folgt nun noch die Lohnverhandlung. Ein Angebot folgt dann in der Regel schon ein bis zwei Tage später per Post.

Der Prozess ist so strukturiert, dass wir in möglichst kurzer Zeit eine möglichst effiziente und fundierte Entscheidung darüber treffen können, ob der Bewerber passt. Und auch umgekehrt. Schließlich hat auch der Bewerber nur begrenzte Zeit und kann sich bei Bedarf nicht fünfmal Urlaub nehmen (oder will es auch nicht einfach), um zu einem Vorstellungsgespräch zu kommen.

Was ist mit der Unterstützung?

Die Unterstützung einer internen Personalabteilung ist natürlich Gold wert, wenn sie weiß, worauf sie bei Bewerbern achten muss.

Der Einsatz von Headhuntern wird bei einem guten Vertrauensverhältnis empfohlen. Wenn ein Headhunter nicht vorbeikommt, um “uns” als Unternehmen und als Menschen kennenzulernen, bekommt er keinen Auftrag. Headhunter sollten so effizient und genau wie möglich sein. Dazu müssen sie aber auch den Spirit des suchenden Unternehmens kennen. Sobald man einen guten Headhunter gefunden hat, kann dieser Wunder wirken.

Schlussfolgerung

Die Suche nach Talenten im IT-Bereich unterscheidet sich etwas von der in anderen Branchen. Die Kunst besteht darin, sich bewusst zu sein, was man braucht und was man braucht und investieren will. Souveränität und Authentizität werden hoch geschätzt. Gleiches gilt für die Aussicht, an Projekten zu arbeiten, die Sie als IT-Profi voranbringen.