Was kann ich tun? Wie würdest DU reagieren? HILFE! [geschlossen]

13

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.


quelle
4
SCHREI!!! Und schimpfen. Man fühlt sich besser. Oh, warte, ich sehe, dass du das schon getan hast. Versuche zu lächeln. :): D (Böses Lächeln ist auch in Ordnung.>: D)
Mateen Ulhaq
Er hat mir nur eine E - Mail geschickt, in der er sagte, da ich den starken Wunsch hatte, nicht unterbrochen zu werden, konnte er nicht weitermachen und kehrte zu dem anderen Projekt zurück: p
7
Warum arbeitet jemand, der nicht das geringste Verständnis für Zeiger und Speicherverwaltung hat, an einem C ++ - Projekt?
Charles Salvia
2
Eine mögliche Erklärung: Viele Jahre lang war die landläufige Weisheit, dass STL nicht für die Hauptsendezeit bereit war und Code produzieren würde, der für den produktiven Einsatz zu aufgebläht war. Früher war es möglich, ein relativ hoch entwickelter C ++ - Programmierer zu sein, ohne überhaupt viel über die STL zu wissen. Offensichtlich haben sich die Dinge geändert. Wenn er jedoch Ende der 90er Jahre ausgebildet wurde oder von jemandem betreut wurde, der Ende der 90er Jahre ausgebildet wurde, kann es sein, dass er ein neues Objekt grockt (), aber von diesem neu entwickelten std :: unique_ptr <object> völlig unabhängig ist () Ding. Es löst Ihr Problem nicht, könnte aber erklären, woher er kommt.
Charles E. Grant
2
@Charles: Ich bin mir einig, dass ich über mehrere Jahre C ++ - Erfahrung in der Spieleindustrie verfüge. Ich habe STL noch nie angerührt und weiß überhaupt nichts darüber. Wenn ich mir den obigen Codeausschnitt ansehe, kann ich nur den Kopf schütteln und überlegen: "Wenn Sie C ++ schreiben möchten, schreiben Sie C ++, aber es sieht so aus, als ob Sie C ++ nicht schreiben möchten. Warum also nicht einfach eine höhere Ebene verwenden? Sprache?"
Carson63000

Antworten:

14

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 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.

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.

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.

Tangurena
quelle
7
+1 für "Hört sich an, als hätte er sieben Mal 1 Jahr Erfahrung".
Matthew Read
@ Matthew: so wahr.
IAbstrakter
13

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.

Craig Schwarze
quelle
4
Dies ist ein schönes Beispiel für die Sichtweise des Managements, die viele Mitarbeiter nicht zu haben scheinen.
Mark C
Ja, ich bin kein Management. Manchmal wünschte ich mir, ich hätte mehr Zeit, um an diesen Themen zu arbeiten. Andere Male bin ich wirklich froh, dass ich es nicht bin, weil ich es nicht muss. Ich bin nur ein Technologieführer.
Edward Strange
1
Hallo Noah, ich würde mich mit wem auch immer unterhalten, der das Team dann leitet - er ist dafür verantwortlich, dass die richtigen Leute verfügbar sind und die richtigen Fähigkeiten haben.
Craig Schwarze
9

Holen Sie sich einen Job in einem besseren Unternehmen, in dem Sie mit kompetenten Mitarbeitern zusammenarbeiten können.

Matthew Read
quelle
7
Oder beenden Sie alternativ die Verwendung von C ++. Dies wird viele verschiedene Klassen von bösen Fehlern lösen.
Mason Wheeler
3
@Mason: Ich stimme zu. Jeder schreibt C # und sei glücklich. :)
IAbstrakter
2
C ++ sollte nur verwendet werden, wenn C ++ angemessen ist. Ich kenne keine Sprache, die C ++ so gut beherrscht wie sie.
Matthew Read
2
@ Matthew Read, mit Programmierern, die so inkompetent sind wie im Beispiel des OP, wäre C ++ EVER angemessen?
Dan Rosenstark
4
@Yar: Obwohl ein schlechter Programmierer in jeder Sprache schlechten Code schreibt.
Jon Purdy
7

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.

Charles E. Grant
quelle
Ich habe nicht geschrien. Ich sagte nur, ich bin gerade beschäftigt. Ich habe ihn allerdings umgehauen.
Edward Strange
3
@Noah, ich war nicht da, du warst da, also gebe ich nach. Bedenken Sie jedoch Folgendes: Menschen, die so frustriert sind, dass sie denken, dass sie absichtlich dumme Dinge tun, anstatt dumme Dinge zu tun, neigen dazu, mit sehr angespannter Stimme durch zusammengebissene Zähne zu sprechen, während sie denken, dass sie lächeln und düster sind. Die andere Person ist möglicherweise auch so gestresst, dass sie hört: "Könnten Sie in etwa 10 Minuten zurückkommen?" als "Holen Sie den Frack aus meinem Büro Sie Drecksack!". Als Teamleiter dreht sich oft alles darum, das Verhalten von Primaten durch Körpersprache und Stimmlage zu manipulieren.
Charles E. Grant
3

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. ;)

IAbstrakt
quelle
2

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?

Sevenseacat
quelle