Haftungsausschluss: In keiner Weise wurden Entwickler bei der Recherche dieses Artikels geschädigt.
An manchen Tagen versuchen sie, lächerliche Geldbeträge aus Ihnen herauszuquetschen. An anderen Tagen sind sie deine älteren, beschützenden Geschwister, die deine Probleme selbstlos lösen. Behandeln Sie sie fair und sie sind vielleicht sogar bereit, kostenlose Arbeit für Sie zu leisten. Sie sind eine interessante Rasse und für jedes Technologieunternehmen unverzichtbar. Wie stellt man also Entwickler ein und arbeitet anschließend mit ihnen zusammen?
Mein eigener Ausflug in die Entwicklung
Ich habe ursprünglich Teile der Softwareentwicklung als Interesse an Technologie gelernt, aber es hat sich zu einem Interesse an den Menschen gewandelt, die sich auch mit der Entwicklung beschäftigen. Das ist auch gut so, denn die Zeit, die ich damit verbracht habe, Programmieren zu lernen, hat sich in meiner Fähigkeit, zwischen der geschäftlichen Seite und der technischen Seite des Unternehmens zu kommunizieren, sehr ausgezahlt. Bei CityFALCON, hatten wir das Glück, ein bodenständiges Team von Entwicklern zu haben, die auch bereit waren, die Straße für die wechselseitige Kommunikation zu öffnen, und meine anfängliche Fähigkeit, Gespräche mit einer klaren Vorstellung davon zu beginnen, wie Entwickler denken, hat wahrscheinlich wesentlich dazu beigetragen diese Öffnung der Kommunikation.
Die Anforderungen des Entwicklers
Bereits während des Einstellungsverfahrens bekommen Unternehmer einen ersten Vorgeschmack auf die Spezies. Für diejenigen, die noch nie im Technologiebereich gearbeitet haben und die Kultur der Softwareentwicklung nicht kennen, mag dies ein kleiner Schock sein. Aber für diejenigen, die diesen Artikel gelesen haben, sollte der Schock abgestumpft sein. Es wird einige Generationenunterschiede geben, aber sie werden wahrscheinlich nicht so ausgeprägt sein wie die Kluft zwischen den Generationen in einigen anderen Berufen.
Häufige Bedingungen, die durch wiederholtes Experimentieren während des Einstellungsprozesses beobachtet wurden: Keine Überstunden. Kein Arbeiten vor Ort. Keine festgelegten Stunden. Keine festen Fristen. Ja hohe Bezahlung. Ja flexible Urlaubszeit. Ja, eine Auswahl an Projekten. Ja, hohe Autonomie.
Dies sind einige Beispielanforderungen, auf die Sie als Personalvermittler stoßen könnten. Ja, als Personalvermittler werden Sie im Vorstellungsgespräch möglicherweise gefragt, ob Ihr Unternehmen diese Leistungen anbietet. Manchmal kann die Forderung nach hohen Löhnen ohne Überstunden ein Knackpunkt sein. Die besten Entwickler wissen, dass sie dies verlangen können. Wenn also jemand vor Ihnen sitzt, der diese Bedingungen sehr selbstbewusst einfordert, haben Sie wahrscheinlich einen guten Entwickler in Reichweite.
Dies mag ein Schock sein, da es sich wahrscheinlich leicht von den Anforderungen anderer Mitarbeiter unterscheidet, die normalerweise hohe Gehälter, vielleicht etwas Urlaub und Nebenleistungen wie Mitgliedschaft im Fitnessstudio und kostenlosen Kaffee verlangen. Natürlich würden die Entwickler diese Vergünstigungen wahrscheinlich auch mögen, aber sie haben ihre Gründe, das zu fordern, was sie verlangen.
Interessanterweise werden die Exemplare, sobald sie sich in die Gruppe integriert haben, und insbesondere in Unternehmen mit eng verbundenen Kulturen, wie eine Familie. Dies ist der Zeitpunkt, an dem viele dieser Anforderungen (vorübergehend) aus dem Fenster verschwinden und der Entwickler wie der ältere Bruder wird, der Ihnen hilft, egal was es ihn kostet. Wenn Sie zu lange zu viel Druck ausüben, springen sie natürlich zum nächsten (und möglicherweise besseren) Unternehmen.
Die Motivationen des Entwicklers
Die im vorstehenden Abschnitt genannten Anforderungen entstammen den besonderen Motivationen des Entwicklers. Natürlich möchte der Entwickler, genau wie jeder menschliche Arbeiter – wir legen hier Wert darauf, Roboterarbeiter auszuschließen, die dazu neigen, überhaupt nichts zu verlangen außer Öl, Strom und gelegentlichen Software-Updates – ein schönes Leben, soziale Akzeptanz, interessante Arbeit, usw.
Während viele Menschen einfach nach Geld suchen, um sich in die Konsumkultur einzukaufen, sind Entwickler eher an intellektuellem Fortschritt und Leistung interessiert. Das ergibt Sinn und ergibt sich natürlich aus ihrer Arbeit, da ihr gewähltes Fachgebiet ein großes, wissensintensives Unterfangen ist.
Offensichtlich fordern sie auch Geld, weil sie leben müssen. Aber ab einem bestimmten Punkt ist das Geld weniger wichtig als andere Faktoren, wie eine Arbeitskultur und ein Management, das sie versteht.
Weitere Motivationen sind:
Lernen – sie wollen nicht wirklich die klügsten Leute im Raum sein, denn dann könnten sie nicht lernen und sich verbessern. Ehrlich gesagt schwelgen die meisten Entwickler darin, viel über ihr Fachgebiet zu wissen, und werden es zur Schau stellen, wenn es zur Sprache kommt, aber sie hören auch aufmerksam zu, wenn Menschen mit Kenntnissen in anderen Bereichen sprechen, damit sie etwas über diese Bereiche lernen können. Wie ein Gehirnschwamm, der Informationen für eine spätere Eroberung aufsaugt.
Ernst genommen werden – Wenn sie einen Vorschlag machen, wollen sie vom Management ernst genommen werden. Dies ist eine grundlegende Mitarbeitermotivation, aber aus irgendeinem Grund schreiben viele Manager es als „nur eine Technikfreak-Sache“ ab, wenn Entwickler ihre Vorschläge äußern. Nicht viel bringt das Blut eines Entwicklers so zum Kochen wie die Aussage eines Laien, „es ist nur eine Technikfreak-Sache“. Für niemanden überraschend, läuft die überwiegende Mehrheit der Unternehmen zumindest weiter etwas tech in diesen Tagen, was praktisch jedes Unternehmen zumindest ein bisschen zu einem „Techie-Ding“ macht
Verstanden – sie wollen auch verstanden werden. Ähnlich wie ernst genommen zu werden, ist dies auch ein Grundwunsch der Mitarbeiter. Und wieder werden Entwickler tendenziell weniger verstanden als Teams mit Kunden- oder Partnerkontakt. Letzterer arbeitet den ganzen Tag mit Menschen und menschlichen Interaktionen, während Entwickler mit Systemen arbeiten. Manchmal erfordert es etwas mehr Mühe, Entwickler über menschenzentrierte Rollen zu verstehen, aber die Mühe lohnt sich.
Interaktion mit der Art
Jetzt, da Sie einen Entwickler erwischt haben (vermutlich durch Einstellung und nicht durch Bärenfalle), müssen Sie wissen, wie Sie mit Interaktionen umgehen. Offensichtlich werden sie dir nicht wie ein gefangener Bär das Gesicht abreißen, aber mehrere schlechte Interaktionen und du könntest langsamere Websites und verringerte Produktivität sehen – wer will schon an einem Ort mit einer unterdrückerischen Kultur arbeiten?
Ratschläge geben und erhalten
Ein Bereich, in dem viele Probleme auftauchen, ist das Geben und Empfangen von Ratschlägen. Mitarbeiter, die nicht auf der technischen Seite des Unternehmens tätig sind, glauben vielleicht, dass etwas ganz einfach zu tun ist, aber das ist möglicherweise nicht der Fall. Sie neigen dazu, Ratschläge zu geben wie „Oh, mach einfach X und es wird funktionieren“. Sicher, das könnte aus der Sicht des Benutzers funktionieren, aber X macht im Backend drei Dinge kaputt und bringt ein integrales System zum Erliegen, das die Benutzer nicht sehen, auf das sie sich jedoch absolut verlassen können.
Es gibt auch das Problem der Herablassung. Man könnte sagen „es sollte nicht so schwer sein …“ Aber wenn der Entwickler sagt, dass es schwer ist, ist es wahrscheinlich schwer. Tech ist kein magisches Gerät und Entwickler sind keine Zauberer. Sie können die Dinge nicht umsetzen, wenn sie die Dinge nicht umsetzen können, und die Verwendung von Ausdrücken wie „es sollte nicht so schwer sein“ ist ein todsicherer Weg, um Straßensperren zu verursachen.
Aus diesen Gründen lassen sich Entwickler oft nur von anderen Entwicklern beraten. In gewisser Weise macht es Sinn: Die einzigen Personen, die über tiefes Wissen über die Systeme verfügen, sind andere Entwickler. Experten beraten andere Experten, gerade weil dort ihre Expertise liegt. Laien bringen in der Regel nicht viel mit. Sie möchten doch nicht, dass Ihr Klempner Ihrem Herz-Thorax-Chirurgen sagt, wie man Herzoperationen durchführt, nur weil beide mit Rohren und Ventilen arbeiten, oder?
In ähnlicher Weise könnten Entwickler auf bestimmte Lösungen drängen, die operativ oder öffentlichkeitswirksam nicht durchführbar sind. Haben Sie eine Lösung, um 75% der Jobs zu automatisieren, aber es erreicht nur die Genauigkeit von 81%? Nun, es mag ein technisches Wunderwerk sein, aber es wird aus geschäftlicher und Kundenservice-Perspektive einfach nicht funktionieren. Ganz zu schweigen von dem PR-Albtraum, drei Viertel der Belegschaft zu entlassen. Für diese Analogie möchten Sie nicht, dass Ihr Herzchirurg Ihren Rohrbruch im Notfall repariert, wenn er noch nie Notfälle mit einem Wasserdruck von 80 PSI erlebt hat.
Erwartungen managen
Diejenigen an der Front des Unternehmens werden Visionen haben, aber zu oft glauben sie, dass Entwickler Zauberer sind. Sie sind nicht. Sie mögen schlau sein, sie können einige Zaubertricks anwenden, aber alles basiert auf Physik und Informatik. Das bedeutet, dass es keine Zauberei gibt und nicht jede Geschäftsvision sinnvoll umgesetzt werden kann. Oder vielleicht doch ist möglich, aber der IT-Abteilung wird nur ein bestimmtes Budget zugeteilt, und die Vision wäre viel zu teuer in Bezug auf Rechenressourcen.
Der schlechteste Weg, mit Erwartungen umzugehen, besteht darin, Entwickler in späteren Phasen der Entwicklung ins Gespräch zu bringen. Tu das nicht. Wenn Sie möchten, dass etwas entwickelt wird, sollten Sie den Entwickler frühzeitig einschalten. Dadurch wird sichergestellt, dass es tatsächlich technisch machbar ist.
Entwickler sind auch keine hirnlosen Automaten. Sie sind interaktiv, solange Sie mit ihnen sprechen, und sie sprechen (normalerweise) zurück. Sie werden Ihnen sagen, was möglich ist, und sie werden sogar daran arbeiten, Lösungen zu finden, wenn sie glauben, dass sie existieren. Sie werden wahrscheinlich auch dazu beitragen, den Entwicklungsprozess aus technischer Sicht zu leiten. Sie möchten nicht, dass Ihr gesamtes Projekt auf einer einzigen Annahme aufbaut, um erst nach 3 Monaten Planung herauszufinden, dass Ihre Annahme aufgrund der Computerressourcen des Unternehmens nicht möglich ist.
Beförderung und Verantwortlichkeiten
Entwickler wollen Systeme programmieren und entwerfen. Das ist der Grund, warum sie überhaupt in diese Branche eingestiegen sind. Viele wollen auch nicht den klassischen Karriereweg einschlagen. Entwickler (und viele andere technische Mitarbeiter) werden oft zu Managern gemacht, aber viele von ihnen wollen weder die zusätzlichen Verantwortlichkeiten noch den Aspekt des menschlichen Managements. Menschen sind im Gegensatz zu Computersystemen komplex und oft unlogisch. Das kann für Leute, die es gewohnt sind, mit logischen Systemen zu arbeiten, extrem frustrierend sein. Man kann einen Menschen auch nicht komplett ausrangieren und in einer virtuellen Umgebung neu aufbauen, also auch das.
Andererseits würden manche Entwickler eigentlich gerne Manager werden. Oder sie sind offen genug für Neues, um es zumindest zu versuchen. Wenn sie es nicht mögen, stellen Sie sicher, dass Sie eine Möglichkeit haben, sie nach kurzer Zeit wieder in weniger leitende Rollen zu versetzen. Wenn Sie dies nicht tun, könnten sie das Schiff verlassen. Nur-Tech-Dev-Jobs sind zahlreich und werden sehr gut bezahlt.
Alleine Zeit und Geselligkeit
Es gibt ein Klischee von Entwicklern als Bewohner von Serverräumen, die in der Kälte und Dunkelheit sitzen, nie mit jemandem sprechen, außer über Chatprogramme, den Raum nie verlassen, außer um nach Hause zu gehen, und jede Unterbrechung ist völlig unerwünscht. Dies ist nur teilweise richtig.
Entwickler wollen, wie jeder andere auch, ungestörte Zeit, um an ihren Projekten zu arbeiten. Häufig müssen Entwickler in ihren Köpfen mit verschiedenen Teilen eines Systems jonglieren und versuchen, neue Ideen darin zu integrieren, ohne einen der anderen Teile zu beschädigen. Das menschliche Gedächtnis ist nicht so zuverlässig wie das Computergedächtnis, und Unterbrechungen können schnell dazu führen, dass diese Handlung zusammenbricht. Es braucht viel Energie, um das Jonglieren wieder in Gang zu bringen, und das ist der Grund, warum Entwickler nicht gerne unterbrochen werden.
Sie sind jedoch genauso sozial wie alle anderen in der Gruppe. Versuchen Sie, sie in Ihre Ausflüge oder Ihre Büropossen einzubeziehen (Sie können die Büropolitik jedoch weglassen). Stellen Sie nur sicher, dass Sie dies nicht direkt vor einer großen Veröffentlichung tun. Tun Sie es stattdessen gleich danach und gratulieren Sie ihnen zu ihrer Arbeit. Sie werden es zu schätzen wissen, Sie werden sich bei ihnen einschmeicheln und vielleicht lernen Sie dabei sogar das eine oder andere über Ihre technischen Systeme.
Das Thema Fristen
Dieser ist immer empfindlich. Verpasste Fristen sind hart, aber sie passieren mit beunruhigender Häufigkeit in der Softwareentwicklung. Entwickler möchten erstklassige Produkte veröffentlichen, aber es gibt viele Probleme, die auftauchen könnten. Sie wollen auch nicht verantwortlich sein, wenn das Ganze abstürzt, und sie wollen auch nicht fünf Sicherheitslücken auf dem Produktionsserver beheben, wenn sie sie beheben können, bevor das Produkt veröffentlicht wird.
Eine häufige Ursache für ein unerwartetes Problem ist Code von Drittanbietern. Viele Systeme verlassen sich auf Code von Drittanbietern, und manchmal funktioniert dieser Code nicht gut mit anderem Code von Drittanbietern. Dieser Konflikt wird möglicherweise erst spät in einem Projekt entdeckt, und dann muss die Frist um einen Monat vorgezogen werden, während entweder proprietärer Code geschrieben wird, um das Problem zu beheben, oder neuer Code von Drittanbietern gefunden und integriert wird. Eine weitere häufige Ursache für Terminüberschreitungen ist ein großer Fehler in den Grundlagen des Systems, der Probleme mit neuem Code verursacht, was bedeutet, dass mehr als ein Projekt vor der Veröffentlichung überarbeitet werden muss.
Da Systeme schnell so komplex werden können, dass kein Einzelner weiß, wie das Ganze funktioniert, werden Termine oft versäumt. So ist das Leben der Softwareentwicklung. Sie können Fristen festlegen, aber stellen Sie sicher, dass Ihre Techniker wissen, dass ein solides Produkt wichtiger ist als eine willkürliche Frist. Wenn Sie die Deadline nicht mit einem wichtigen Ereignis verbinden, könnten die Entwickler alles zusammen ignorieren.
Legen Sie also Fristen fest, aber begründen Sie sie mit realen Konsequenzen, z. B. wenn Ihr Konkurrent der Erste auf dem Markt sein wird und Ihr gesamtes Unternehmen untergehen wird. Das hilft dem Entwicklungsteam bei der Priorisierung. Seien Sie flexibel, denn Fristen werden versäumt. Und stellen Sie sicher, dass Sie Ihre Erwartungen erfüllen, da Ihre Fristen sonst nicht mit den Fähigkeiten der Entwickler übereinstimmen und versäumt werden.
Schließlich, wenn ein Entwickler sagt, veröffentliche die Software nicht, veröffentliche sie nicht. Nichts ist schlimmer für die Kundenbeziehungen als ein Software-Update, das bricht oder eine Sicherheitslücke verursacht. Das Versäumen einer Frist um ein paar Tage ist unendlich besser, als ein paar Tage Umsatz aufgrund von fehlerhaftem Code und dem damit verbundenen Reputationsverlust zu verlieren.
Abschließende Bemerkungen
Wie jeder gute (nicht)wissenschaftliche Artikel wollen wir mit einer kurzen Zusammenfassung und einem Fazit enden.
Im gesamten Artikel haben wir von Entwicklern als einer Spezies gesprochen, die Personalmanagern fast fremd ist. Aber auch Entwickler sind nur Menschen und sollten auch so behandelt werden. Wenn Sie als Unternehmer, der nach einem Entwicklungsteam sucht, etwas Zeit haben, empfehle ich Ihnen dringend, zumindest ein wenig Programmieren zu lernen, wie Ihre Systeme funktionieren und was Ihr Team tut. Es wird einen großen Beitrag zur reibungslosen Kommunikation leisten und Ihnen vielleicht sogar ein paar ältere, beschützende Geschwister einbringen.
Wenn Sie die Grenzen Ihrer Systeme und Ihres Teams kennen, stellen Sie sicher, dass alle auf derselben Seite sind und es nicht zu Ausfällen oder Burnouts kommt. Es treibt das Team wie ein gut orchestriertes Ruderteam voran, anstatt wie ein zappelndes, das alle unglücklich macht. Und die Nachfrage nach Entwicklern ist genauso groß wie eh und je, so dass diese Spezies durch ständiges Drücken der falschen Knöpfe auf grünere Weiden blicken wird. Firmenloyalität ist nur für illoyale Unternehmen tot, also fallen Sie nicht dem Verlust eines großartigen Entwicklers und möglicherweise Ihrer gesamten technischen Infrastruktur zum Opfer.
Wir hatten nur eine mutige Seele, die bereit war, ihr Gesicht als eine der aktuellen Spezies zu zeigen, also hier ist diese mutige Seele (er ist unser DBA- und Infrastruktur-Typ):
Und da sich sonst niemand freiwillig gemeldet hat (Entwickler können manchmal etwas schüchtern und introvertiert sein), ist hier ein Foto eines Teils unseres Teams. Um ehrlich zu sein, ist es schwierig, sie gleichzeitig an einem Ort zu bekommen; Die Remote-Arbeitskultur von Entwicklern infiziert wirklich ein ganzes Startup, auch diejenigen, die keine Entwickler sind.
Und jeder im Büro, nicht nur die Softwareentwickler, scheint dies die ganze Zeit zu tun (starrt auf Computer)
Schreibe einen Kommentar