Ich versuche, ein Software-Team zu führen, das zurückfällt. Eines der Hauptprobleme ist, dass ich etwas, wenn es leicht schwierig ist, mir selbst zuweisen muss. Ich hatte einen anderen Entwickler mit mäßigen Fähigkeiten und einen halben Praktikanten. Zu den Fähigkeiten des anderen Entwicklers gehört leider nicht das Design.
Also habe ich meinen Chef um einen der Jungs in einem der anderen Teams gebeten, er arbeitet hier länger als ich (5 Jahre). Er kann nicht mit mir in Bezug auf Design oder die Sprache, die wir verwenden, mithalten, aber ich dachte, er sei der kompetenteste außer mir.
Heute gab er mir einen Code, der etwas nicht im Geringsten Unähnliches tat:
object const& my_class::get_object() const
{
return *std::unique_ptr<object>(new object());
}
Er fragte mich, ob das ein Problem sei! Ich sagte das Einzige, woran ich denken konnte: "Ja. Das ist ein Problem." Dann kommt er zu meinem Schreibtisch und fragt mich, wie ich das reparieren soll !! Ich sagte: "Verwenden Sie ein Objekt, das den Aufruf der Funktion überlebt." Dann flippt er aus: "Ja, aber wie, das Einzige, woran ich denken kann, ist, ein Mitglied variabel zu machen."
Ich war zu dieser Zeit ein bisschen beschäftigt, weil ich bereits versuchte, zusätzliche Arbeit zu erledigen, die ich für den anderen Mann im Team übernehmen musste, weil er es nicht herausfinden konnte ... Ich sagte dem Mann, er solle gehen, weil ich war beschäftigt und es selbst herauszufinden. Dann geht er verärgert und spricht darüber, dass es nicht seine Schuld ist, wenn er Dinge vermasselt. Er ist ausgeflippt, seit er im Team ist, und ich glaube nicht, dass es besser wird.
Ich habe das Gefühl, hier zu ertrinken. WTH kann ich tun? Was war der richtige Weg, damit umzugehen? Wäre es sinnvoller gewesen, diesem Typen, der seit 7 Jahren C ++ schreibt, zu helfen, herauszufinden, wie man einen Verweis auf ein Objekt, das nicht zerstört ist, in dem Moment, in dem es zurückgegeben wird, korrekt zurückgibt? Ich finde es einfach lächerlich, das tun zu müssen und mich zu fragen, wie zum Teufel ich irgendetwas auf diese Weise machen könnte.
Manchmal denke ich, dass sie es absichtlich tun, aber das scheint mir einfach verrückt zu sein. Dies ist kein Kind, das zu Hause sitzt und versucht, sein erstes Programm herauszufinden, wobei sein Gehirn von Zeigern durchbohrt wird.
Antworten:
Ich habe vor einigen Jahren alle meine C ++ - Bücher weggegeben, wobei ich schwor, dass ich diese Sprache nie wieder anfassen würde, und selbst ich kann diesem Typen sagen, dass er nicht weiß, was er tut. Ich denke, Sie sollten sich mit ihm zusammensetzen und herausfinden, wie gut er ist.
Das hört sich so an, als hätte er siebenmal 1 Jahr Erfahrung - nicht sieben Jahre Erfahrung. In größeren Unternehmen ist es durchaus möglich, dass sich ungelernte Arbeiter verstecken und "um das System" herum mischen, wenn sie erwischt werden.
Wenn dies der Fall ist, müssen Sie aufhören und herausfinden, welche Fähigkeiten die Leute haben. Ich verstehe, Sie fühlen sich von Terminen und dergleichen überfordert, aber Sie können die Arbeit nicht erledigen, wenn Sie nicht einmal sicher sind, woraus Ihr Team besteht. Sie können das Projekt nicht abschließen, wenn Sie dieselben Fehler machen - diesmal nur schneller.
Wenn Sie die ganze Arbeit auf sich nehmen, bedeutet dies, dass Sie kein Team haben und kein Vertrauen in sie haben. Das muss erst behoben werden.
quelle
Diese Art von Problem ist das Brot und die Butter des Managements. Eine Frage, die sich alle Manager stellen müssen, lautet: "Verfügen meine Mitarbeiter über die erforderlichen Fähigkeiten, um den Job zu erledigen?" Wenn die Antwort "Nein" lautet, schreit ein guter Manager nicht und gibt nicht auf - ein guter Manager korrigiert die Situation.
Hier ist eine Bemerkung: C ++ ist keine triviale Sprache. Ist es also möglich, etwas zu verwenden, in dem Ihre Nachwuchsentwickler kompetenter sind? Wenn es in C ++ sein muss , müssen Sie entweder Ihre vorhandenen Entwickler schulen oder neue Entwickler mit den entsprechenden Kenntnissen einstellen.
Ich war vor einem Jahr in einer nicht unähnlichen Situation. Ich wurde eingestellt, um ein Team von VB6-Programmierern zu leiten, die an Spaghetti-Code arbeiten. Der Wunsch des Managements war es, auf gut strukturierte, objektorientierte Systeme umzusteigen, die in .NET geschrieben sind. Wir haben einige sehr gute Fortschritte in diesem Bereich gemacht, so dass diese Arten von Verschiebungen sind möglich.
Ein letzter Kommentar. Wenn Sie sich nicht mit solchen Problemen befassen möchten, würde ich aus dem Management aussteigen und wieder eine rein technische Rolle übernehmen. Diese Art von unordentlichen Problemen sind das A und O im Leben eines Managers, und sie passen nicht zu jedem.
quelle
Holen Sie sich einen Job in einem besseren Unternehmen, in dem Sie mit kompetenten Mitarbeitern zusammenarbeiten können.
quelle
Das Richtige wäre gewesen, ihm bei dem Problem zu helfen. Es musste nicht gleich zur Stelle sein. Sie hätten sagen können: "Ich bin gerade gefesselt. Lesen Sie Kapitel X der C ++ - STL und lassen Sie uns morgen um 11 Uhr noch einmal auf den Grund gehen."
Schreien kann für manche Menschen und Situationen funktionieren, wenn es nur um Motivation geht. Aber wenn es um Kompetenz oder Wissen geht, hilft es überhaupt nicht, Leute anzuschreien und wegzublasen. Es ist, als würde man Leute anschreien, die kein Englisch sprechen. Es hilft ihnen nicht zu verstehen, was Sie sagen wollen, und es kann jede Motivation zunichte machen, die sie haben, um Ihnen zu helfen. Sie sind da, wo sie sind, und keine Menge Wut oder Frustration von Ihrer Seite wird sie in den nächsten 48 Stunden besser darin machen, C ++ zu schreiben. Möglicherweise müssen Sie auch zum Management zurückkehren und erklären, dass der Umfang des Projekts über die aktuellen Fähigkeiten Ihres Teams hinausgeht. Solche Dinge sind der Grund, warum es hart ist, ein Teamleiter zu sein.
quelle
Nun, wenn ich jemanden hätte, der seit 7 Jahren Code schreibt und etwas fragt, das sich ziemlich einfach anhört, müsste ich mich fragen, was sonst noch los ist. Ich bin kein C ++ - Programmierer, daher kann ich diesen Aspekt nicht kommentieren.
Was ich als sein Vorgesetzter wissen möchte, würde ich annehmen, wenn etwas anderes vor sich geht, das ihn ablenkt. Mir ist klar, dass Sie damals vielleicht keine Zeit hatten, aber das Letzte, was Sie tun sollten, ist, jemanden so wegzuschieben.
Nehmen Sie sich einen Moment Zeit, um mit ihm zu sprechen, und teilen Sie ihm dann Folgendes mit: "Ich verstehe Ihre Dringlichkeit in diesem Punkt, aber ich habe momentan keine Zeit dafür. Sobald ich es tue, werde ich es Sie wissen lassen. Ich würde es erwarten nicht länger als ungefähr eine Stunde. "
Auf diese Weise haben Sie Ihr Verständnis für seine Dringlichkeit vermittelt, dass Sie keine Zeit haben und dass Sie mit ihm zurückkommen werden. Sogar die Erwartung, wann du mit ihm zurückkommst. Er wird sich viel besser fühlen, als weggescheucht zu werden (so würde ich es nehmen).
Nehmen Sie sich jetzt etwas Zeit und teilen Sie ihm mit, wann Sie mit ihm über das Problem sprechen können. Gehen Sie zurück und schlucken Sie etwas Stolz, lassen Sie die Person wissen, dass Sie seine Dringlichkeit verstehen und hatten einfach keine Zeit, sich damit zu befassen. Sie sollten auch sehen, ob er in seinen persönlichen Bereichen etwas hat, das seine Aufmerksamkeit beeinträchtigen könnte - dh was ihn sonst noch ablenken könnte. Das Privatleben betrifft auch uns Programmierer. ;)
quelle
Ich denke, Sie müssen sich mit Ihrem Chef zusammensetzen und ihm alles erklären. Das klingt verrückt - was macht der Typ überhaupt dort, wenn er keine Grundkenntnisse hat?
quelle