Tipps zum Gewinnen, Verwalten und Halten von Softwareentwicklern
Veröffentlicht: 2022-03-11Management dreht sich alles um Menschen. Ob Führungskraft oder Mitarbeiter, beide machen sich Gedanken darüber, wie sie ihre persönlichen und beruflichen Ziele erreichen können. Die Kombination dieser Ziele und der persönlichen Eigenschaften der beteiligten Personen geben Beziehungen Gestalt, die mit der Zeit positiv, produktiv und erfüllend oder manchmal einfach nur stressig, fordernd und konfliktanfällig sein können.
In letzterem Fall sinkt natürlich die Produktqualität, die Personalfluktuation steigt und das Erreichen von Zielen wird immer schwieriger. Daher ist es für beide entscheidend, einen Weg zu finden, lohnende und motivierende Beziehungen zwischen Managern und Mitarbeitern aufzubauen, wenn es um Effizienz, Produktivität und Selbstverwirklichung geht.
Dies gilt insbesondere für die Verwaltung von Softwareentwicklern, da ihre Arbeit aufgrund der technischen Komplexität und kreativen Natur in oft engen Zeitrahmen für die Erzielung von Ergebnissen komprimiert ist. Wie in jeder Chef-Mitarbeiter-Beziehung spielen viele Faktoren eine Rolle, wie zum Beispiel:
- Persönlichkeiten
- Ziele
- Erwartungen
- Richtlinien
- Unternehmenskultur
- Projekttechnische Details
In diesem Artikel konzentrieren wir uns auf die wichtigsten Managementaspekte und nicht auf die technischen, die unserer Meinung nach von jedem berücksichtigt werden sollten, der erfolgreich Softwareentwickler binden möchte.
Aber „Erfolg“ bedeutet hier nicht nur, Ergebnisse zu erzielen und Unternehmensrichtlinien, Zeitpläne und Budgets einzuhalten, sondern auch ein motiviertes und produktives Softwareentwicklungsteam zu haben, das sein Bestes gibt und lange im Unternehmen bleibt.
Das führt uns zu unserem Grundthema: Wie ticken Softwareentwickler? Vor diesem Hintergrund werden wir einige Möglichkeiten vorstellen, Mitarbeiter zu halten, die wir in erfolgreichen Softwareentwicklungsteams identifiziert haben.
Die richtigen Leute anziehen
In der Softwareentwicklung entscheiden die von Ihnen eingestellten Talente über Erfolg und Misserfolg, und ständige Veränderungen in einem Team sind immer zeit- und kostenintensiv. Daher ist ein gutes Auswahlverfahren entscheidend für den Erfolg Ihres Projekts.
Stellenausschreibung
Tech-Recruiter wissen, dass bei der Einstellung von Softwareentwicklern alles mit einer sorgfältig ausgewogenen Stellenausschreibung beginnt. Der Post muss motivierend sein, damit die richtigen Entwickler darauf reagieren – zu viele oder zu spezielle Anforderungen können entmutigend sein, aber wenn Sie zu vage sind, kann Ihr Unternehmen mit einer Flut nutzloser Lebensläufe rechnen.
Die Angabe detaillierter Gehälter und Leistungspakete ist ebenfalls ein zweischneidiges Schwert, da Ihre Konkurrenz diese Informationen nutzen kann, um ihre Vergütungspläne zu nutzen, und Entwickler versuchen können, sie als Grundlage für Verhandlungen während ihrer Einstellung zu verwenden. Da im Einstellungsprozess natürlich immer ein gewisser Verhandlungsspielraum vorhanden sein muss, schlagen wir vor, die Stellenausschreibung in Bezug auf die Vergütung weniger konkret zu gestalten und statt fester Werte Bandbreiten zu verwenden.
Im Gegensatz dazu sollte die Stellenausschreibung so klar wie möglich in den Job-Pflichten und -Anforderungen sein, sowohl obligatorisch als auch nice-to-have. Beginnend mit einer soliden Eignung ist der beste Kontext für den Rest unserer Mitarbeiterbindungsstrategien.
Vorstellungsgespräch
An diesem Punkt des Prozesses ist es eine gute Idee, sich bei der Beurteilung von Kandidaten beraten zu lassen und zu sehen, welche Fallstricke während des Vorstellungsprozesses vermieden werden können. Wir möchten den obigen Hinweisen auch hinzufügen, dass es oft eine gute Ergänzung zu anderen Möglichkeiten ist, die Kandidaten vorab nach Referenzen aus ihren früheren Jobs zu fragen, um ihre Fähigkeiten zu validieren.
Das Stellenangebot
Die Einstellung endet mit einem Stellenangebot an den Kandidaten, wenn das Unternehmen ein formelles Dokument vorlegt, das die Positionsmerkmale (Name, Rang, Bereich usw.), das Vergütungspaket (Gehalt und Leistungen wie Gesundheit, Rente oder Ausbildung usw.) zusammenfasst. , Beginndatum, Zeitplan, Arbeitsort und die Voraussetzungen für den Abschluss eines Arbeitsvertrags, wenn der Kandidat das Angebot annimmt.
Obwohl zu diesem Zeitpunkt alles mehr oder weniger erledigt ist, möchte der Kandidat möglicherweise einige Bedingungen aushandeln, und es liegt am Unternehmen, diese zu akzeptieren oder darüber zu verhandeln. Es hängt von den Praktiken des Unternehmens ab.
Das Unternehmen wird jedoch sicherlich keinen guten Kandidaten wegen einer Grundsatzfrage verlieren wollen, sodass vernünftige Kompromisse niemandem schaden. In diesem Fall ist es ratsam, vom Kandidaten eine Gegenleistung für alle gemachten Zugeständnisse zu verlangen, wie zum Beispiel einen früheren Eintrittstermin, eine Mindestverweildauer im Unternehmen oder besondere Anforderungen des Unternehmens.
Management von Softwareentwicklungsteams für den Erfolg
Sobald ein Softwareentwickler im Unternehmen zu arbeiten beginnt, beginnt sein Vorgesetzter zu erkennen, wer er ist, wie er arbeitet und vor allem, welche Ergebnisse er erzielt. Die Bindung von Software-Ingenieuren wird dann zu einer klaren Priorität.
Hier kommen Einblicke in die Persönlichkeiten von Softwareentwicklern ins Spiel: Sie – insbesondere High Performer – weisen oft einige gemeinsame Züge auf. Wir werden diese Muster im Laufe der Zeit aufzeigen, aber denken Sie daran, dass sie möglicherweise nicht auf jeden Menschen gleichermaßen zutreffen. Beim Projektmanagement in der Softwareentwicklung geht es sowohl um Muster als auch um Ausnahmen.
Ausbildung
Da es sich bei der Softwareentwicklung um eine technische Aufgabe handelt, erfordert sie sehr genaue Kenntnisse der Unternehmensstruktur, der Ziele, Verfahren, Richtlinien (einschließlich Glaubensbekenntnisse und Geschäftspraktiken) und Standards (technische und nichttechnische). Je besser ein Entwickler also das Unternehmen versteht, desto bessere Produkte werden sie herstellen und desto weniger Zeit wird sie dafür benötigen.
Diese Grundschulung kann durch Dokumente, Online-Intranet-Kurse oder Präsentationen verwaltet werden. Aber es ist eine Notwendigkeit, da es dem neuen Mitarbeiter Klarheit verschafft.
Wenn neue Technologien eingeführt werden sollen, stellen Sie sicher, dass die erforderlichen Schulungen durchgeführt werden. Softwareentwickler mögen es, herausgefordert zu werden, aber sie ärgern sich vielleicht darüber, in eine neue Technologie geworfen zu werden, ohne sie vorher richtig zu lernen.
Das Internet ist voll von wertvollem Lernmaterial und es ist oft die erste Ressource, an die sich Softwareentwickler wenden, wenn sie technische Details lernen oder neu lernen müssen. Wenn Sie Softwareentwickler binden wollen, ist es unabdingbar, eine Selbstlernkultur zu fördern und ggf. Arbeitszeit dafür einzuräumen. So ist das Team auf dem neuesten Stand der Technik und Methoden, was Softwareentwickler oft sehr zu schätzen wissen.
Ressourcen
Einige denken, dass Softwareentwickler für ihre Arbeit nach der besten Technologie suchen, mit den bestmöglichen Spezifikationen, die in der Branche verfügbar sind. Wir denken stattdessen, dass es auf die jeweilige Aufgabe ankommt. Wenn ein Unternehmen beispielsweise First-Person-Spiele entwickelt, muss den Entwicklern modernste Rechenleistung zur Verfügung gestellt werden. Aber wenn es darum geht, Back-End-Webdienste für ein Transaktionssystem zu entwickeln, könnte ein weniger leistungsfähiger Computer ausreichen.
Was wirklich wichtig ist, ist, dem Entwickler alle notwendigen Werkzeuge für seine Arbeit an die Hand zu geben und offen für seine Vorschläge zu neuen Werkzeugen zu sein. Logischerweise muss jedes neue Tool, das der Entwickler vorschlägt, vom Unternehmen genehmigt (vielleicht sogar vorher getestet) und lizenziert werden. Die Kosten sind es jedoch wert: Über ausreichende Ressourcen zu verfügen, ist ein Schlüsselfaktor für die Motivation und die Ergebnisse der Entwickler. (Sie können nicht erwarten, Softwareingenieure zu behalten, wenn Sie sie so einrichten, dass sie scheitern!)
Organisation
Softwareentwickler arbeiten gerne an Orten, die ihre kreativen Bemühungen fördern und respektieren, weil ihre Aufgabe darin besteht, etwas aus dem Nichts zu machen, obwohl sie sich von Design, Standards und IT-Richtlinien leiten lassen. Daher müssen Entwickler einigermaßen sicher sein, dass sie zu einer Einheit gehören, in der alle Bürokratie und Einschränkungen auf einem Minimum sind, solange sie die Richtlinien des Unternehmens einhalten und im Einklang mit seinen Überzeugungen stehen.
Das bedeutet nicht, dass Softwareentwickler besondere Privilegien gegenüber dem Rest des Unternehmens haben sollten, sondern dass ihr Vorgesetzter ihnen bei Bedarf hilft, Bürokratie zu überwinden oder zu lösen. Ein sehr wichtiger Aspekt bei der Bindung von Softwareentwicklern ist, dass ihr Chef offen für ihre persönlichen Anforderungen ist und ihnen bei Bedarf hilft.

Auch hier spielt die Anordnung der internen Entwicklungseinheiten eine zentrale Rolle. Häufig existiert eine Testgruppe, und es ist die Pflicht des Softwareentwicklungsmanagers, die Teamarbeit zwischen Entwicklern und Testern flüssig zu halten. Dies kann einfach durch klare Methoden und Prozesse erreicht werden. Entwickler arbeiten in der Regel sehr gut mit Testern zusammen, wenn es Regeln gibt, die von beiden Parteien befolgt werden müssen, um Konflikte gering oder nicht vorhanden zu halten.
Kommunikation (regelmäßige Meetings)
Wenn Sie Softwareentwickler binden möchten, ist es wichtig, sie auf dem Laufenden zu halten. Alle Mitglieder eines Teams sollten regelmäßig über Ziele, sie betreffende Unternehmenssituationen, Strategien, Veränderungen in der Organisation und nicht zuletzt über Teamerfolge informiert werden.
Sogar wenn mehrere Teammitglieder einige Highlights teilen, wird dies gut sein, um den Zusammenhalt und die Teamarbeit des Teams zu fördern. Normalerweise sollten diese Teammeetings – höchstens zwei Stunden – regelmäßig (vielleicht wöchentlich) sowie zu besonderen Anlässen wie der Endphase eines Projekts, einer kritischen Situation usw. angesetzt werden.
Neben der Kommunikation mit dem Team muss der Manager einen Weg finden, um über die Situation jedes Mitglieds auf dem Laufenden zu bleiben, sei es beruflich, technisch oder persönlich.
- Stellenbezogen bedeutet alle möglichen Aspekte der Beziehung des Mitarbeiters zum Unternehmen.
- Technische Situationen treten auf, wenn ein Entwickler mit einem Problem feststeckt und aus irgendeinem Grund nicht nach Hilfe sucht.
- Wenn der Entwickler sie teilt, können persönliche Situationen , die sie erleben, ihre Arbeit und ihre Beziehungen zu ihren Kollegen beeinflussen.
Normalerweise ermöglicht ein 30-minütiges wöchentliches Meeting mit jedem Teammitglied einem Manager, diese Situationen zu erkennen und Hilfe zu leisten, wodurch potenzielle Personalkrisen verhindert und die Moral des Teammitglieds innerhalb des Unternehmens verbessert werden.
Nur um das klarzustellen, wir sprechen nicht über die Einrichtung einer Meeting-orientierten Entwicklungseinheit, daher ist eine strenge Meeting-Disziplin (Pünktlichkeit, Respekt, Teilnahme, Dauer) erforderlich. Darüber hinaus zeigt diese Disziplin den Entwicklern, dass sie für eine sehr professionelle Organisation arbeiten, was sie normalerweise zu schätzen wissen.
Ziele zuweisen und nachverfolgen
Es macht keinen Sinn, jährliche allgemeine Ziele oder ähnliche Bewertungsrichtlinien zu vergeben.
Das ist ein klarer Faktor im Umgang mit Softwareentwicklern: Was auch immer ihre Rolle ist (Anforderungserfassung, Architektur, Design, Programmierung, Test usw.), die Ziele müssen ihnen so klar wie möglich vorgegeben werden, also macht es keinen Sinn bei der Zuweisung jährlicher allgemeiner Ziele oder ähnlicher Bewertungsrichtlinien. Da Entwickler in Projekten arbeiten sollen, dh mit definiertem Umfang und Zeitplan, werden Ziele am besten zu Beginn des Projekts festgelegt und darin enthalten, wie Fortschritte bewertet und gegebenenfalls anerkannt werden.
Glücklicherweise gibt es heutzutage Methoden, die darauf abzielen, so schnell wie möglich Ergebnisse zu generieren, wie Agile und Scrum, die die Nachverfolgung und Projektsteuerung vereinfachen. Manchmal kann dies sogar eine wichtige Rolle bei der Bindung von Softwaretalenten spielen: Viele Entwickler lieben diese Methoden, weil sie schnell Ergebnisse liefern können und ihnen regelmäßig Erfolgserlebnisse bescheren.
Darüber hinaus bevorzugen Entwickler häufig leichtere Methoden. Sie wissen, dass High-End-Lösungen wie Rational – bei denen das Endprodukt nach einem langen Projekt aus Requirements Engineering, Design, Entwicklung, Tests und Implementierung geliefert wird – riskant und mühsam zu verfolgen sind.
Konfliktverwaltung
Dies gilt für Softwareentwicklungsteams genauso wie für jede andere Art: Ein Softwareentwicklungsmanager muss mit Konflikten schnell und effektiv umgehen, oder er kann außer Kontrolle geraten und die Moral, Teamarbeit und Effektivität der gesamten Einheit zerstören.
Unter der Annahme, dass die Entwickler im Konflikt professionell und mit guten Absichten sind, sollte ein Treffen des Managers mit den beteiligten Personen zur Einleitung eines klaren Dialogs mit anschließender zeitnaher Lösung ausreichen, damit das Team weitermachen kann. Manchmal ist es auch notwendig, ihnen eine klare Warnung zu geben, dass Konflikte auf persönlicher Ebene, falls es jemals dazu kommen sollte, nicht akzeptiert werden.
In jedem Fall ist es am Ende dieser Versöhnung sehr wichtig, dass beide Parteien das Gefühl haben, dass die Lösung fair ist, auch wenn einer von ihnen nicht damit einverstanden ist. Konflikte gehören manchmal zum Leben, aber Softwaretalente zu halten bedeutet, jeden mit Würde zu behandeln, wenn solche Situationen auftreten.
Motivation
Obwohl wir viele Faktoren angesprochen haben, die die Motivation eines Entwicklers beeinflussen, gibt es noch einen weiteren wichtigen Aspekt. Dieser ist weder emotional noch technisch. Wir sprechen über die Höhe der Vergütung für ihre Arbeit.
Obwohl sie von Natur aus idealistisch sind, mögen Softwareentwickler oft die guten Dinge der materiellen Welt. Es ist immer besser für das Unternehmen sicherzustellen, dass die Gehälter und Vergütungspläne mit dem Arbeitsmarkt abgestimmt sind – Branchenstudien sind leicht zu finden – und vielleicht sogar etwas höher für ihre Positionen.
Außerdem sind die meisten Softwareentwickler Vergünstigungen und Preise nicht gleichgültig, darunter Kurse und Technologieveranstaltungen, bei denen sie nützliche Techniken erlernen können, um ihre Arbeit zu bereichern.
Wenn es darum geht, Softwareentwickler zu halten, ist es wichtig, ihr Wachstum innerhalb des Unternehmens zu unterstützen, unabhängig von seiner spezifischen Ausrichtung. Wenn Softwareingenieure wenig Lust zeigen, in Führungspositionen oder ins Management aufzusteigen, schätzen sie es stattdessen, im technischen Bereich voranzukommen. Dazu gehören höhere Zertifizierungen und formelle akademische Programme wie Master-Abschlüsse oder sogar PhDs. Wissen ist für sie ein sehr starker Antrieb.
Wenn sie jedoch eine Führungsposition anstreben, ist es ratsam, eine gründliche Analyse der Persönlichkeit und der Geschichte des Kandidaten im Unternehmen durchzuführen. Dies kann mit Hilfe der Personalabteilung oder anderer Unternehmenseinheiten geschehen, da gutes Management neben technischen Kenntnissen ganz andere Fähigkeiten erfordert.
So binden Sie Softwaretalente: Schlussbemerkungen
Sie haben vielleicht die besten Absichten und befolgen alle oben genannten Tipps, schaffen es aber immer noch nicht, Softwareentwickler zu 100 Prozent zu halten – manchmal haben äußere Faktoren einfach mehr Einfluss. Aber wir denken, dass Personalfluktuation gesund und chancenreich sein kann, solange:
- Es ist nicht häufig. Wenn dies der Fall ist, wäre dies ein Symptom dafür, dass auf organisatorischer Ebene etwas nicht stimmt.
- Es tritt nur bei den wertvollsten Ressourcen auf. In diesem Fall könnte es bedeuten, dass sie Ihr Unternehmen als Trampolin nutzen, dh sie sind nur bei Ihnen, um Erfahrungen zu sammeln, bevor sie zu anderen Unternehmen wechseln.
Strategien zur Mitarbeiterbindung sollten in der Unternehmenspolitik verankert sein und nicht nur eine Reaktion sein, wenn eine wertvolle Person kündigen möchte. Reaktionäre Bindung ist sehr kostspielig und fehlerhaft: Die Person stimmt vielleicht zu, zu bleiben, denkt aber bei sich: „Ich habe hier X Jahre gearbeitet, nur um beim Verlassen das doppelte Gehalt angeboten zu bekommen – sie haben gerade zugegeben, dass sie mich nicht bezahlen genügend!"
Was wird der nächste Schritt dieser Person sein? Sie suchen sich vielleicht einen anderen Job, aber jetzt mit dem doppelten Gehalt als Minimum. An diesem Punkt lohnt es sich wahrscheinlich nicht, Softwareentwickler um jeden Preis zu halten. Sofern die Person nicht absolut grundlegend (und unersetzlich) für das Unternehmen ist, kann es besser sein, eine Kündigungsfrist auszuhandeln und sofort einen Ersatz zu finden.
Es ist eine nicht deterministische Aufgabe
Softwareentwickler zu gewinnen und zu halten ist eine komplexe und nicht deterministische Aufgabe, wie bei jeder Rolle in der Technologiebranche. Es gibt viele Unternehmen, die nach wertvollen Softwareentwicklern suchen, aber zum Glück ist das Ziel hier nicht, gegen diese Unternehmen zu gewinnen, sondern gute Leute anzuziehen, die wir in unserem Unternehmen halten können.
Auswahlverfahren können viel Zeit und Mühe kosten. Wenn Sie dies in Eile angehen, werden Sie wahrscheinlich mit den falschen Leuten enden – und wer will schon Softwareingenieure behalten, die für sein Team schädlich sind? Nehmen Sie sich stattdessen Zeit, es richtig zu machen.