Ich leite ein kleines Entwicklerteam für eine Anwendung, die sich in der Mitte des Lebenszyklus einer großen Firma befindet. Dies bedeutet leider, dass es üblicherweise eine 30/70 Aufteilung der Programmieraufgaben auf "andere technische Arbeiten" gibt. Diese Arbeit beinhaltet:
- Arbeiten mit DBA / Unix / Network / Loadbalancer-Teams bei verschiedenen Aufgaben
- Vergabe und Verwaltung von Bestellungen für Hardware oder Infrastruktur in verschiedenen Regionen
- Ausführen von Tests, die noch nicht zu CI migriert wurden
- Analyse
- Unterstützung / Untersuchung
Es ist fair zu sagen, dass die Entwickler es vorziehen würden, nur zu programmieren, anstatt diese alltäglichen Aufgaben zu erledigen. Deshalb versuche ich, die unterhaltsamen Programmierjobs gleichmäßig im Team zu verteilen.
Der größte Teil des Teams wurde eingestellt, weil sie, obwohl sie nicht über die besten Programmierkenntnisse verfügen, um einen eigenen Compiler, eine Game Engine, ein Hochfrequenz-Handelssystem usw. zu schreiben, gute Kommunikatoren sind, die "Dinge erledigen können" und mit anderen Teams zusammenarbeiten und ein wenig durch die komplexe Bürokratie navigieren. Sie sind gute Entwickler, aber auch gute technische Mitarbeiter.
Ein Mitglied des Teams verfügt jedoch wahrscheinlich über überdurchschnittliche Codierungsfähigkeiten, jedoch über unterdurchschnittliche Kommunikationsfähigkeiten. Traditionell gab ihm der frühere Entwicklungsmanager eher die Programmieraufgaben und nicht die alltäglicheren Aufgaben, die oben aufgeführt wurden. Ich halte dies jedoch nicht für fair gegenüber dem Rest des Teams, das die Fähigkeit bewiesen hat, ein umfassendes Know-how zu entwickeln, das in einer IT-Abteilung für große Unternehmen häufig erforderlich ist.
Was soll ich in dieser Situation tun? Wenn ich ihm weiterhin mehr Programmierarbeit gebe, weiß ich, dass dies schneller erledigt wird (und umgekehrt würde ich erwarten, dass er die andere Arbeit langsamer erledigt). Aber es widerspricht meinen Grundsätzen und fördert die Idee, dass Sie eine "bequeme Nische" für sich herausarbeiten können, indem Sie einfach schlecht bei den Aufgaben sind, die Sie nicht mögen.
Ich möchte klarstellen, dass ich nicht aus Groll versuche, dieses Problem anzugehen, oder dass ich, wie bereits erwähnt, einen "Chip auf meiner Schulter" habe. Ich bin auf der Suche nach Rat, wie ich ein rundes Team aufbauen kann, das glücklich und motiviert ist. Angesichts der Vielzahl der Antworten auf diese Frage scheint es viele unterschiedliche Meinungen zu geben, wie dies erreicht werden kann.
Antworten:
Es hört sich so an, als würden Sie sich zu viel Mühe geben, um gut gerundete Einzelpersonen zu haben, und nicht genug, um ein gut gerundetes Team zu haben .
Es ist nichts Falsches daran, in etwas gut zu sein - tatsächlich wurde er wahrscheinlich deshalb eingestellt! Sie sollten dankbar sein, jemanden zu haben, der sich mit Programmieren auskennt.
Du hast gesagt:
Wenn er ein mittelmäßiger Programmierer wäre, würde ich zustimmen. Aber das hast du nicht gesagt. Sie sagten, er sei ein guter Programmierer. Er ist nicht schlecht darin, andere Aufgaben zu lösen - er hat sich nur darauf konzentriert, ein besserer Programmierer zu werden. Daran ist nichts auszusetzen.
Als Manager ist es nicht Ihre Aufgabe, dafür zu sorgen, dass alle "rund" sind. Es ist Ihre Aufgabe, dafür zu sorgen, dass alles erledigt wird. Und das machst du nicht. Tatsächlich treffen Sie Entscheidungen, die verhindern , dass Dinge erledigt werden.
Welches Problem Sie auch haben, Sie müssen es überwinden - Sie machen Ihr Team weniger produktiv.
quelle
In den anderen Antworten für Ihre Entscheidung, etwas gegen diesen Kerl zu unternehmen, geht Ihnen etwas auf die Nerven, aber ich verstehe voll und ganz, was Sie sagen. Wenn die anderen Teammitglieder "lieber programmieren als alltägliche Aufgaben zu erledigen", werden sie sich darüber ärgern, dass Sie die schlechte Leistung des schlechten Kommunikators belohnen, indem Sie ihm genau die Aufgaben geben, die jeder wünscht.
Stellen Sie sich vor, Sie sind einer der "guten Kommunikatoren" im Team, dessen Fähigkeiten mit denen des betreffenden Entwicklers vergleichbar sind. Sie erledigen Anrufe, arbeiten mit anderen Nicht-IT-Mitarbeitern zusammen, die kaum eine Maus von einer Tastatur kennen, schreiben Pläne für die Benutzerabmeldung auf und vieles mehr, alles nur, weil Ihr Chef dies vorschreibt. Der mürrische Entwickler kann sich in der Zwischenzeit, weil er "schlechte Kommunikationsfähigkeiten" hat, den ganzen Tag in seinem Würfel zurücklehnen und die Benutzer ignorieren, die nur an den "lustigen" Dingen arbeiten.
Jetzt hast du gesagt, dass der mürrische Entwickler "überdurchschnittliche" Fähigkeiten hat, aber du hast nicht gesagt, dass er der Beste ist. Dies bedeutet, dass vielleicht ein Drittel Ihres Teams, die guten Kommunikator-Entwickler, die die Fähigkeitsstufe des mürrischen Entwicklers oder höher haben, sauer sind.
Lohnt es sich, etwas Produktivität von Ihrem BEST PERFORMING STAFF zu verlieren, weil es Sie über den mürrischen Entwickler ärgert? Du musst dich entscheiden.
Wenn Sie den Kerl nicht feuern möchten, sollten Sie einen der folgenden Ansätze wählen:
1) Mentor ihn, um ein besserer Kommunikator zu sein. Nur Sie können feststellen, ob dies möglich ist. Vielleicht hilft es, wenn Sie nur seine Hand halten. Einige Menschen haben nur Angst vor formellen geschäftlichen Interaktionen und drücken dies aus, indem sie sauer sind, wenn sie dazu aufgefordert werden.
2) Die "gute Kommunikation" fördern, entweder mit Geld oder anderen Vorteilen. Stellen Sie klar, dass Sie gute Kommunikatoren wirklich schätzen und Ihre Entwickler dann nicht so verärgert sind, aber die Belohnung muss echt und aussagekräftig sein. "Mittagessen mit dem Bezirksleiter" wird es nicht schneiden. Weder wird ein "Star Player / Kudos / Attaboy" Award, der nur ein Stück Papier ist. Es muss zusätzliches Geld sein, zusätzlicher Urlaub, eine gewisse Gleitzeit, eine ernsthafte Anerkennung durch höhere Mitarbeiter, die Gehaltserhöhungen kontrollieren usw.
quelle
Vor allem, wenn Sie Ihren Teammitgliedern die Schuld geben ... ist dies ein Zeichen für schlechte Managementfähigkeiten.
Ich meine, wenn er wirklich schlechte Kommunikationsfähigkeiten hat, tut mir sein soziales Leben sehr leid, aber bei der Arbeit ist dies nicht so sehr sein Problem, wie es bei Ihnen ist . Und seien wir ehrlich, er könnte sich einfach nur langweilen, wenn Sie schlecht arbeiten, private Probleme haben, die seine Leistung beeinflussen, oder insgeheim planen, Sie alle umzubringen.
Für die Kommunikation sind mindestens zwei erforderlich, und schließlich könnten Sie derjenige sein, der über schlechte Kenntnisse verfügt. Bedenken Sie jedoch, dass sich die anderen Teammitglieder recht gut verstehen. Sie können alle (auch unwissentlich) Kommunikationsmängel ausgleichen und diese auf selige Weise ignorieren.
Und überhaupt, fragen Sie nicht im Internet nach Leuten, die drei Schreibtische von Ihnen entfernt sitzen, sondern gehen Sie zum Jungen und fragen Sie ihn, ob wirklich etwas nicht stimmt und ob es geklärt werden kann. (oder etwas Langweiliges, das optimiert oder verbessert werden kann)
Vielleicht hasst er nur seine Schreibtischposition (steht er vor der Toilette?) Und das macht ihm schlechte Laune.
Tipp: Hören Sie auf die Antwort, als wäre er ein empfindungsfähiger Mensch, keine menschliche Ressource.
(Bsp .: Erklären Sie ihm die Notwendigkeit bestimmter Praktiken und die Bedeutung bestimmter Entscheidungen im Detail. Manche Leute schürfen Details, weil sie das Gefühl haben, einen Kapitän zu haben, der das Schiff nicht in die Klippen treibt.)
quelle
Menschen sind unterschiedlich. Als Manager müssen Sie die Mitarbeiter unterschiedlich behandeln (aber fair!), Um das Beste aus Ihrem Team herauszuholen.
Das heißt, es ist wahrscheinlich gut für Entwickler mit schlechten Soft Skills, daran zu arbeiten. Ich würde herausfinden, welche nicht-codierende Sache der Entwickler mag (oder tun möchte), die mehr dieser Soft Skills beinhaltet. Lassen Sie sie sich auf diese Aufgabe einlassen, und im Idealfall verbessern sie die Soft Skills als Nebeneffekt.
Die Leute sind oft nicht schlecht darin, von der Arbeit wegzukommen. Sie sind schlecht darin, weil sie es nicht mögen oder eine Begabung dafür haben. Sie können dem letzteren nicht helfen, also arbeiten Sie am ersteren.
quelle
30/70 Aufteilung kann sein, wo alle Ihre Probleme anfangen. Ich habe noch nie Entwickler gesehen, die mit so einer Trennung zufrieden waren.
Ich habe Entwickler gesehen, die sich mit 10, 15% anderer Arbeit wohl fühlten (und selbst glücklich waren, weil es Spaß macht, wenn die Dosis stimmt), aber 30% sind zu viel. Ich würde eher denken, dass andere Teammitglieder es vorziehen, ihre Meinung nicht zu äußern, als dass es nur einen gibt, der "30% andere Arbeit" nicht mag.
Ich denke auch, dass es wichtig ist, Ihre "Produktivitätsberechnung" auf realistischere Zahlen abzustimmen. Wegen unvermeidlicher Verluste bei "Kontextwechseln" wird es niemals 100% ergeben.
Programmierer, die ihre Produktivität schätzen, wären natürlich über solche Verluste unglücklich.
Wie für Tests laufen Teil des Jobs, fanden Sie es vorbei an Tester? Die Tatsache, dass Programmierer das können (ich denke, jeder erfahrene Programmierer sollte dazu in der Lage sein), bedeutet nicht, dass sie das sollten . Tester können es auch, und sie können es besser, und sie werden keine Produktivitätsverluste bei "Kontextwechseln" erleiden.
Ein weiterer Punkt, bei dem ich mich frage, wie Sie die QA-Ressourcen nutzen, ist die Erwähnung von Support / Investigation . Professionelle Tester, mit denen ich früher zusammengearbeitet habe, tendieren dazu, in solchen Dingen "zuerst zu sagen".
Für einen guten Tester ist es recht einfach, herauszufinden, wann die Untersuchung des Support-Problems an die Entwickler weitergeleitet werden soll, und dies kommt nicht sehr oft vor. Gründe, Entwickler damit zu überlasten, entziehen sich einfach meinem Verstand. Wie ich schon schrieb, sie sicher , kann das tun (ich erwarte , dass im Allgemeinen Senior - Entwickler würde wissen , wie etwas zu tun QA tut) , aber das bedeutet nicht , sie sollte .
quelle
Ich habe zwei Dinge dazu zu sagen
Haben Sie einen Programmierer oder einen Softwareentwickler eingestellt?
Wenn Sie einen Softwareentwickler in Betracht ziehen, sind alle von Ihnen erwähnten Dinge ein wesentlicher Bestandteil der Softwareentwicklung. Sie können keine davon ignorieren, es sei denn, Sie haben nur für eine bestimmte Aufgabe eingestellt. IMO 50% der gesamten Softwareentwicklung ist Codierung, alles andere ist Design, Analyse, Testen, Dokumentation usw.
Niemand wird perfekt geboren.
Es kann einfach nicht sein, dass man eine Person findet, die in allem gut ist. Sie müssen sie dazu bringen, sich zu wehren und Dinge zu lernen.
Als Manager muss man das Beste aus ihnen herausholen, aber auf lange Sicht kann es zu Problemen kommen. Weisen Sie ihnen leichte Aufgaben zu, damit sie diese in den Griff bekommen. Holen Sie sich das Gefühl raus, dass ich nicht gut darin bin / ich kann es mir nicht leisten, das zu tun . Am allermeisten behandeln Sie alle gleich, um die effizientesten Ergebnisse Ihres Teams zu erzielen.
quelle
Wenn alle Mitarbeiter denselben Titel / dieselbe Jobbeschreibung haben und die Jobbeschreibung alles enthält, was Sie aufgelistet haben, muss dieser Programmierer diese anderen Fähigkeiten schärfen, indem er mehr dieser anderen Nicht-Programmierer-Aufgaben zugewiesen bekommt. Ebenso werden Ihre anderen Mitarbeiter nicht in der Lage sein, ihre Programmierkenntnisse zu verbessern, wenn sie fortwährend an Aufgaben arbeiten müssen, die keine Programmieraufgaben sind (verwenden oder verlieren).
Aber ich denke immer noch, dass Ihre Hauptpriorität wahrscheinlich darin bestehen sollte, Ihre Fristen einzuhalten (was Sie möglicherweise noch tun können, während Sie die Arbeit gleichmäßig verteilen).
EDIT: Wenn Sie ein kleines Team haben, ist es wahrscheinlich sinnvoll, dass alle Mitglieder mehrere Hüte tragen können. Wenn Sie ein Team haben, das groß genug ist, ist es wahrscheinlich sinnvoll, Gruppen zu haben, die sich auf verschiedene Bereiche spezialisiert haben. Nach Ihrer Einschätzung verfügen Sie nicht über das erforderliche Team, um eine Gruppe von Spezialisten zu haben.
quelle
Aus Ihrem ursprünglichen Beitrag geht nicht hervor, was genau an den Kommunikationsfähigkeiten dieses Entwicklers fehlt. Ein mangelndes Interesse daran, zu Besprechungen zu gehen oder Planungs- / Koordinationsarbeiten auszuführen (zum Beispiel), weist nicht unbedingt auf schlechte Kommunikationsfähigkeiten hin. Vielleicht hat der Entwickler einfach das Gefühl, dass diese Art von Arbeit Managerarbeit ist und seine Produktivität als Entwickler einschränkt? Oder hat er vielleicht das Gefühl, dass der Organisationsaufwand zu hoch ist und dass dies eine Form des Protests gegen das ist, was er als reine Zeitverschwendung ansieht? Schließlich ist das umgekehrte Problem, bei dem die Leute den ganzen Tag reden und nie etwas erledigen, auch im Büro weit verbreitet.
Es ist wichtig, dass Sie mit diesem Entwickler nicht konfrontativ sprechen und herausfinden, warum er die nicht programmierbaren Aufgaben vermeidet. Es ist wahrscheinlich kein einziger Grund, er kann so viele verschiedene Gründe haben, wie es verschiedene Arten von Aufgaben gibt. Stellen Sie sicher, dass er versteht, dass der Zweck der Konversation darin besteht, dass Sie lernen, wie Sie die Teamproduktivität und die Arbeitszufriedenheit für alle Teammitglieder effektiv verbessern können (Sie möchten ihn nicht erreichen). Dies ist eine Zeit, in der Sie zuhören und nicht versuchen, seine Bedenken mit ruckartigen Reaktionen zu diskutieren oder anzusprechen. Sie sollten sich wahrscheinlich auch mit den anderen Teammitgliedern treffen. Vielleicht können sie diesen Typen die schwere Arbeit der Entwickler machen lassen, während sie sich auf die chattere Seite des Berufs konzentrieren.
Nach dieser Besprechung sollten Sie einige Zeit über die Gespräche nachdenken, die Sie geführt haben, und versuchen, die Perspektive dieses Mitarbeiters offen zu betrachten. Vielleicht waren Ihre anfänglichen Gefühle richtig und es fehlen ihm einige wichtige Fähigkeiten, die Sie ihn zur Entwicklung drängen sollten. Oder vielleicht hat er Ihre Vermutungen in Frage gestellt. Vielleicht können Sie mit anderen Teams zusammenarbeiten, um einige Prozesse zu formalisieren und den Bedarf an redundanter Kommunikation zu verringern. Vielleicht ziehen andere Teams nicht ihr Gewicht, und Sie müssen sich mit ihrem Management freundlich unterhalten . Es gibt viele Möglichkeiten, die Sie möglicherweise nicht in Betracht ziehen.
Führen Sie abschließend und vor allem ein Nachgespräch mit Einzelpersonen oder gegebenenfalls ein Teammeeting. Wenn Sie echte organisatorische Probleme festgestellt haben, auf die Sie Einfluss haben, informieren Sie Ihre Mitarbeiter über die Maßnahmen, die Sie zur Verbesserung ihrer Arbeitssituation ergreifen werden. Wenn Sie immer noch glauben, dass der einzelne Mitarbeiter im Unrecht ist, setzen Sie sich zu ihm und erklären Sie, welche Änderungen Sie von ihm benötigen und warum. Entwickler neigen dazu, auf logische / praktische Erklärungen gut zu reagieren. "Es ist nicht fair für Ihre Kollegen, Ihnen all die lustige Arbeit zu geben. Wir möchten, dass Sie alle reine Entwickler sind, aber das ist nicht die Realität der Situation, also müssen wir die Last der beschissenen Arbeit teilen."
Natürlich, wenn dieser Typ nur ein mürrischer Trottel ist, sich weigert, Ihnen zu sagen, warum er unglücklich ist, nicht auf die Vernunft reagiert und von seinen Kollegen nicht gut respektiert wird ... nun ... es ist Zeit für den Leistungsverbesserungsplan.
quelle
Sie versuchen zwar, ein Team zu leiten und möchten alle motivieren (ein Gefühl der Fairness hilft), aber opfern Sie das Projekt, indem Sie nicht über die besten Programmierer verfügen? Ich meine, das ist der Punkt, nicht wahr?
Haben Sie keine Angst davor, Ihren besten Entwickler auszunutzen und / oder zu verlieren? Ihre Aufgabe ist es, diese Art von Pflichten von allen zu befreien.
Gleichbehandlung bedeutet nicht, dass Sie alle gleich behandeln. Wenn die anderen die Nicht-Programmieraufgaben nachlassen wollen, um mehr Programmieraufgaben zu erhalten, laufen sie dann nicht Gefahr, in keiner von beiden gut zu sein?
EDIT: Abgesehen von Ihren persönlichen Gefühlen haben Sie kein Problem identifiziert. Irgendwann behindert der Mangel an Kommunikation einen Programmierer. Andere werden Ressentiments zeigen und ihre Arbeit kann darunter leiden. Bisher scheinen Sie der einzige zu sein, der ein Problem hat. Gibt es nicht noch etwas, das Sie nicht teilen?
EDIT 2 Irgendwann wird jeder um einen besonderen Gefallen bitten. Diese Person kommuniziert weniger und codiert mehr (was sie auf jeden Fall tun sollte). Jemand anderes möchte etwas später hereinkommen. Ein anderes muss eine Besprechung überspringen, um eine Frist einzuhalten. Eine Grafikperson bekommt einen größeren Monitor. Wenn Sie zu viel Wert darauf legen, Punkte zu halten, vergessen Sie, was wichtig ist.
quelle
Ich bin ein mürrischer Linux-Administrator, der viele Skripte erstellt, und es wurde bemerkt, dass ich schlechte Kommunikationsfähigkeiten habe. Ich höre mich sehr nach deinem Typ an. In der Tat ist dies der einzige Bereich, auf den ich bei Leistungsbeurteilungen ankomme. Auf der anderen Seite führe ich mein Team kontinuierlich in Sachen Innovation und Problemlösung und habe die neue Plattform geschaffen und den Weg dorthin geleitet, die wir einführen, und meinem Team viel Zeit und meinem Unternehmen viel Zeit gespart viel Geld, indem ich ich selbst sein darf.
Mein ehemaliger Chef wurde von seiner Familie / Frau UND der Geschäftsleitung unseres Unternehmens gebeten, seine Position gleichzeitig zu verlassen. Er arbeitete unermüdlich, um die Verantwortlichkeiten gerecht zu gestalten, und nahm selbst viel Last auf sich. Wenn bei einer Interaktion mit jemandem außerhalb der Abteilung ein Kommunikationsmissverständnis auftauchte, das auf ihn zurückkam, war er schnell in der Lage, es unter Strafe zu korrigieren. Er war schlecht darin, "aufwärts zu managen", und so war unser Team das letzte, das Ressourcen beschaffte, bis es zu einem Notfall kam. Dann überzahlte das Unternehmen die Verkäufer mit cleveren Verkaufsgesprächen für ungetestete Hardware, ohne das Team zu konsultieren, das diese Tools verwenden würde. In dem Bestreben, ein "ausgewogenes" Team zu bilden, verwaltete er unsere Aufgabenlisten und versuchte, Aufgaben auszugleichen, damit die Teammitglieder ihre Fähigkeiten in Bereichen verbessern konnten, in denen sie nicht besonders gut waren. das führte zu einer Menge kaputten Codes oder schlecht strukturierten Implementierungen. Während anderen Personen als dem Autor spezielle Unterstützungsaufgaben für diesen fehlerhaften Code zugewiesen wurden, damit sie "lernen" konnten - verursachten die schlecht strukturierten Implementierungen, der Code und die Tests eine Menge schlechten Wohlwollens zwischen den Teammitgliedern und tatsächlichvermehrtes Auftreten des "Schuldspiels", das ein schneller Weg zu einem toxischen Teamzustand ist.
Mein jetziger Chef ist eine ruhige, gesammelte Person, die aus der Rolle des Junioradministrators gekommen ist und sich hochgearbeitet hat. Er trifft gute Entscheidungen und verlässt sich stark auf die Teammitglieder, um ihre eigenen Prioritäten zu setzen. Er ist ein ausgezeichneter Kommunikator und reagiert ruhig und gemeinsam mit seinem Vorgesetzten auf Kommunikationsprobleme, -ideen oder -bedürfnisse, die von meinem Team geäußert werden. Er "arbeitet unermüdlich nach oben". Er nimmt nur langsam große architektonische Änderungen vor und konsultiert das gesamte Team eingehend, bevor er Änderungen an unserer Umgebung vornimmt, und vertraut gerne auf die Besonderheiten unserer Teammitglieder.
Unter dem neuen Manager ist unsere Ausfallzeit auf fast null gesunken (was auch den Prozentsatz der Zeit, die wir für Supportaufgaben aufwenden, von ungefähr 40% auf ungefähr 10% gesunken hat), die Zufriedenheit unseres Teams ist durch die Decke gegangen, und wir sind auf dem richtigen Weg, von einem „Bruch der Bank für neue Hardware alle drei bis fünf Jahre“ zu einem kontinuierlichen Akquisitionsplan überzugehen, der dem Unternehmen über fünf Jahre hinweg eine coole Million pro Jahr ersparen soll. Bei diesem Plan handelte es sich um ein Basisprogramm, das unter dem vorherigen Manager niemals durchgeführt worden wäre, das jedoch vom neuen Manager aktiv an die Geschäftsleitung weitergegeben wurde und davon abhing, in den Fähigkeiten des Teams viele Synergien zu finden. Der CIO hat uns informell mitgeteilt, dass wir jetzt das einzige Team in der Firma sind, das wirklich "ihre Scheiße zusammen hat" und dass er Wir werden so wenig wie möglich in unser Arbeitsumfeld eingreifen und so viele Ressourcen wie möglich auf Problembereiche lenken, die wir identifizieren. Dies hat sich bewahrheitet und dazu geführt, dass unsere Supportkosten noch niedriger sind, obwohl dies die Arbeitslast einiger anderer Teams beeinträchtigt hat - aber es hat dazu geführt, dass die Supportkosten dieser Teams ebenfalls niedriger sind.
Schauen Sie, der Ort, an dem Entwickler ihre Fähigkeiten verbessern können, ist in der Schule oder in ihrer Freizeit. Der Ort, an dem sie Dinge produzieren, ist die Zeit Ihres Unternehmens. Der beste Weg, Dinge zu produzieren, besteht darin, das zu produzieren, was sie am besten kennen. Wenn sie in Bereichen arbeiten, in denen sich ein Entwickler nicht wohl fühlt, sollten sie einen zweiten Entwickler hinzuziehen, der spezialisiert ist und als Team arbeitet, oder der spezialisierte Entwickler sollte den Code schreiben und Dokumentation und Diagramme erstellen. Leiten Sie Support-Aufgaben an die Personen weiter, die den Code geschrieben haben. Ja, dies erhöht den sogenannten "Busfaktor" - die Wahrscheinlichkeit, dass Ihre Abteilung einen Geschwindigkeitsschub erleidet, wenn der Spezialist von einem Bus angefahren wird. (Oder entlassen, oder Jobs wechseln, oder ...) Die Wahrheit ist, dass Ihr Produktivitätsverlust aufgrund dieser Angst um Größenordnungen höher ist als der tatsächliche Verlust, wenn ein "Bus-Ereignis" eintritt. das passiert. Während eines "Busereignisses" geschieht im Allgemeinen, dass der Erbe der Arbeit des Spezialisten sie in seinem eigenen Bild neu erstellt, damit er sie am effektivsten unterstützen kann, im Allgemeinen eine Reihe von Problemen löst und die für die Unterstützung aufgewendete Zeit noch weiter verringert, und das Leben geht weiter auf.
Weisen Sie Menschen Dinge zu, die sie am besten können. Lassen Sie sie ihre Arbeit unterstützen und dokumentieren. Fördern Sie ihre Kreativität und ermöglichen Sie ihnen, sich ohne Ablenkungen oder Mikromanagement zu konzentrieren. Alles andere ist Management-School BS, was sich leider so anhört, als würde Ihr Unternehmen darin schwimmen. Das bedeutet nicht, dass auch Ihr Team darin schwimmen muss.
Aus Sicht eines Unternehmens fördert ein guter Manager die Werte des Unternehmens, während er Aufgaben gemäß diesen Werten ausführt. Aus der Sicht eines IT-Mitarbeiters lässt ein guter Manager das Team so schnell und sauber wie möglich das Richtige tun und wirkt als fäkale Barriere gegen das Senior Management, indem es die Werte, die sie in den Wochenend-MBA-Kursen gelernt haben, in die Knie zwingt. Sie sind ein Mann aus der Firma, und das ist möglicherweise nicht das Beste für Ihr Team. Diejenigen mit "guten" Kommunikationsfähigkeiten sind einfach zu höflich, um es auszudrücken.
quelle
Dies sind nur zusammenfassende Ideen, hoffentlich wird jemand diese Punkte stehlen und sie in eine der anderen Antworten falten. ;-)
quelle
Leistung ist alles. Gib ihm die Programmieraufgaben. Besprechen Sie dies mit dem Rest der Abteilung. Optional können Sie jemanden mit COM-Aufgaben beauftragen oder nur mit COM-Aufgaben beauftragen. Denken Sie nicht an das Programmieren, um Spaß zu haben. Alles ist "lustig" von Ihrem POV.
Wenn Sie dies nicht tun, schaffen Sie eine Situation, die äußerst schwierig zu handhaben und weniger effektiv ist, als sie sein könnte.
quelle
Was für eine großartige Frage, das sollten sich alle Teamleiter, Vorgesetzten und Manager von Techies überlegen. Ich mag Ihre Herangehensweise, jeder sollte eine lustige Aufgabe bekommen. Ein Team, das verschiedene Aufgaben übernehmen kann und übergreifend geschult ist, verhindert, dass das Peterbilt-Prinzip zu dem Chaos führt, dass ein „unabdingbares Teammitglied das Team verlässt oder sogar nach Luft schnappt “.
Nun, wie in vielen Beiträgen betont, ist die Arbeit nicht fair und sollte es auch nicht sein. Manager werden daran gemessen, wie viel wertvolle Arbeit geleistet wird.
Sprechen Sie mit Ihrem guten Programmierer und fragen Sie ihn, ob er etwas lernen möchte. Welche anderen Aufgaben würde er annehmen ... selbst was für ihn am wenigsten zu beanstanden ist. Kann er anderen Teammitgliedern bei der Programmierung helfen? Ja, ich weiß, dass Kommunikation ein Problem ist. Vielleicht sollte er daran arbeiten.
Eine andere Möglichkeit, dies zu verpacken, besteht darin, eine Liste mit Aufgaben zu erstellen und jedem Mitarbeiter zu überlassen, etwas auszuwählen. Lassen Sie Ihren guten Programmierer zuerst auswählen. Wenn Sie ihn vorher warnen und ihm die Aufgabenliste noch besser zeigen.
Wenn Sie Widerstand bekommen, den Sie fast immer mit Veränderung tun, finden Sie ein Verkaufsargument, etwas, das für ihn von Wert ist, warum wird er davon profitieren? Zuletzt kannst du ihm nur sagen, dass er es für das Team tun soll.
Erwarten Sie auch, dass Fehler und eine geringere Produktivität beginnen, das ist ein Zeichen, das die Leute lernen. Dieses Projekt mag leiden, aber das nächste wird besser sein.
Abschließend ist es Ihre Aufgabe, dafür zu sorgen, dass die Dinge erledigt werden, aber auch, dass Ihre Mitarbeiter wachsen und Sie sie noch besser in den Prozess einbeziehen können. Einige mögen sagen, der beste Weg, um sicherzustellen, dass die Dinge erledigt werden, ist ein Team, das weiß, was getan werden muss, und das die Ergebnisse besitzt.
Bearbeiten: Oh und versuchen Sie es weiter, der obige Rat stammt aus jahrelangen Fehlern, aber ich wusste immer, dass ich meinem Team helfen wollte, zu wachsen, und ich wusste, dass Produktivität das A und O ist, also habe ich immer wieder neue Dinge ausprobiert, als der letzte Versuch fehlgeschlagen ist.
quelle
Die beste Antwort wurde bereits angenommen, aber ich bin überrascht, dass niemand darauf hingewiesen hat, dass "Aufgabenzuweisung" nicht das einzige ist, mit dem der Manager arbeiten kann. Einen "überdurchschnittlichen Programmierer" zu haben, der auch "überdurchschnittliche Kommunikationsfähigkeiten" hat, sollte (wenn alle anderen Dinge gleich sind) ein höher bezahlter / älterer Entwickler sein als jemand mit ähnlichen Programmierfähigkeiten und schwachen Kommunikationsfähigkeiten. Dies kann dazu beitragen, eine wahrgenommene "Bevorzugung" des Teams auszugleichen. (In einigen Organisationen kann es aufgrund der Art der geleisteten Arbeit für das Unternehmen von größerem Wert sein, überdurchschnittliche Kenntnisse in "Anforderungsanalyse" und unterdurchschnittliche Kenntnisse in anderen Bereichen zu haben. Als Manager müssen Sie entscheiden, wie Sie damit umgehen .)
Eine andere Sache, auf die Sie achten sollten: Wenn Sie der fraglichen Person nur Programmieraufgaben geben, wird dies langfristig zu Isolation führen. Stellen Sie sicher, dass Sie ihnen einige der anderen Aufgaben geben (aber diejenigen, die sie gut können, richten Sie sie nicht für negatives Feedback ein !!), damit sie sowohl für die anderen Abteilungen / Teams sichtbar als auch für diese sichtbar sind.
Schließlich ... überprüfen Sie mit den anderen Teammitgliedern, wenn sie sehen , alle regelmäßig Ungleichheit in den Teamzuweisungen. Dies mag Ihnen ein großes Anliegen sein, aber Nr. 15 auf der Liste aller anderen.
quelle
Da dieser eine Programmierer nach Ihrer eigenen Einschätzung der beste im Team ist, ist es in gewisser Weise "fair", dieser Person den gewünschten Job zu geben (als Ergebnis des Nachweises, dass sie dies am besten kann). Schließlich gab es wahrscheinlich Leute, die gerne in dieser Firma gearbeitet hätten, aber überhaupt nicht eingestellt wurden - aber niemand wird sagen, dass es ihnen nicht "fair" ist, dass sie diese Codierung nicht durchführen dürfen.
Ich denke, ein fairer Ansatz wäre es, einem anderen, weniger erfahrenen Mitglied des Teams, das mehr Code schreiben möchte, mitzuteilen: "Wir lassen (so und so) die Führung in dieser Sache übernehmen. Vielleicht können Sie die Führung übernehmen Das nächste, was dazu kommt, wenn Sie nachweisen können, dass Sie x- und y-Fertigkeiten gelernt haben. "
quelle
Wie einige der anderen, die geantwortet haben, verstehe ich Ihre Position und hätte ähnliche Ambitionen.
Man kann zwar sagen, dass es sinnvoll ist, den Menschen, die für ihre Ausführung am besten geeignet sind, Aufgaben zu übertragen, aber es ist auch sinnvoll, die Fähigkeiten der Menschen zu erweitern, um ein dynamisches und flexibles Team zu bilden.
Wenn dieser Typ in seiner Rolle nicht-codierende Elemente ausführen muss, aber seine Kommunikationsfähigkeiten schlechter sind als wirklich benötigt, muss er sich verbessern. Unter der Annahme, dass Sie über eine Art Entwicklungsüberprüfungs- / Bewertungssystem verfügen, ist dies der Zeitpunkt, um das Problem anzusprechen.
Die wichtigsten Punkte sind, klar darzulegen, was Sie von ihm verlangen, zu beurteilen, ob er über die erforderlichen Fähigkeiten verfügt, und einen Schulungsplan auszuarbeiten, um dies zu ermöglichen. Das Training muss nicht unbedingt formal sein, aber Sie müssen ihm helfen, die erforderlichen Fähigkeiten zu erwerben.
Wenn er einfach nicht belästigt werden kann, dann würde es letztendlich zu einem Disziplinarproblem kommen. Wenn er nicht über die Fähigkeit verfügt, obwohl er es versucht hat und von Ihnen unterstützt wurde, stehen möglicherweise Disziplinarmaßnahmen zur Verfügung (von denen ich behaupte, dass sie hart und kontraproduktiv sind), aber Sie können auch akzeptieren, dass er es nicht ist für bestimmte aufgaben ausgeschnitten.
Das Gespräch mit dem Kerl wird eine Ihrer ersten Anlaufstellen sein . Sie könnten feststellen, dass ihm das Vertrauen oder die Einsicht fehlt. Vielleicht stellen Sie auch fest, dass er sehr reaktionsschnell ist und die Gelegenheit zu einer Verbesserung seiner Persönlichkeit zu schätzen weiß.
quelle
Sie sollten einen Junior beauftragen, die ganze Grunzarbeit zu erledigen, und alle wissen lassen, dass sie ihm bei allem helfen müssen, bei dem er / sie um Hilfe bittet.
Sie werden eher dazu neigen, den "überdurchschnittlichen" Programmierer wegen ihrer Fähigkeiten zu belästigen, und der Rest des Teams bekommt einen neuen Lakai. Der Nachwuchs lernt von Grund auf und das Unternehmen hat am Ende einen gut gerundeten Mitarbeiter.
quelle
Zu erwarten, dass jeder die gleichen Kommunikationsfähigkeiten besitzt, ist ebenso rational wie zu erwarten, dass Sie dem verkrüppelten Mann beibringen, so schnell wie der Rest des Teams zu rennen.
Die Menschen sind unterschiedlich, sie haben unterschiedliche Fähigkeiten und Schwächen. Einen großartigen Programmierer zu feuern, nur weil er die anderen nicht in Kommunikationsfähigkeiten einholen kann, wäre wie einen verkrüppelten Mann zu feuern, weil er nicht so schnell laufen kann wie die anderen. Aus ethischer Sicht wäre es unfair und würde Ihren eigenen wirtschaftlichen Interessen zuwiderlaufen - um die Arbeit zu erledigen.
Wenn Sie dies in der Vergangenheit versäumt haben, sollten Sie sich zunächst über das Asperger-Syndrom informieren . Schlechte soziale Fähigkeiten sind der Hauptindikator für dieses Syndrom.
Zweitens können Sie einstellen und entlassen, wen Sie möchten. Wenn Sie jedoch die Stärken und Schwächen Ihrer Mitarbeiter nicht ausschöpfen, werden Sie mit einer Gruppe von durchschnittlichen Programmierern konfrontiert, da die Besten abreisen (wenn Sie nicht zuerst entlassen werden). .
Es gibt einen Film, Adam , in dem der geniale Programmierer gefeuert wird, nur weil er etwas geschrieben hat, was er nicht erwartet hatte. Seine Idee könnte dem Arbeitgeber viel Geld bringen, aber er konnte die Chance nicht nutzen, weil er sich auf seine "Prinzipien" konzentrierte.
quelle