Frage:
Was soll ich tun, wenn ich mich von einem äußerst talentierten Teammitglied überschattet fühle?
Divyanth Jayaraj
2016-05-30 09:19:18 UTC
view on stackexchange narkive permalink

Ich bin ein Full Stack-Entwickler und Mitglied eines neu geschaffenen 4-köpfigen Teams. Da ist noch ein anderer Typ (nennen wir ihn Tom), der bei mir eingestellt wurde. Wir beide sind also Neulinge in dieser Firma.

Tom ist jedoch äußerst talentiert. In unserem ersten Sprint brachte er das Projekt buchstäblich zum Erliegen und baute es im Alleingang wieder auf einem soliden Fundament auf. Das einzige, was ich tat, war zu tippen, was immer er mir sagte. Wir haben versucht, Paare zu programmieren, aber er war das Gehirn hinter dieser Neuarchitektur.

Seitdem habe ich kaum Lust, während der Sprintplanung neue Geschichten aufzunehmen. Wir alle machen einfach mit, was er sagt. Zuerst nahm er die schwersten Aufgaben auf sich. Dann scheint er die wichtigsten und größten Teile des Projekts zusammenzustellen, während der Rest von uns dreien einfach seinen Code betrachtet und versucht zu lernen und zu verstehen, was er vorhat.

Neue Geschichten in Der Rückstand wird so weit fortgeschritten, dass es mir schwer fällt, Schritt zu halten. Tom findet einige von ihnen auch schwierig, aber er ist viel zu schlau und erledigt die Arbeit schnell. Dann setzt er sich neben mich und erledigt auch meine Aufgaben.

Zu diesem Zeitpunkt fühle ich mich ziemlich nutzlos. Es fühlt sich an, als würde mein Arbeitgeber mich nicht mehr brauchen. Was muss ich tun, um in dieser Umgebung produktiv zu bleiben und voranzukommen?

PS: Die beiden anderen Entwickler sind Vollzeitbeschäftigte mit Super-Senior-Rollen. Sie haben mehr zu tun, als Code zu schreiben. Also ließen sie uns Neulinge die gesamte Implementierung durchführen.

Die Organisation ist irgendwie seltsam. Sie haben 2 Junior-Entwickler, die programmieren, und andere Supergötter, die Junior-Leute die Arbeit machen lassen. Ich bin neugierig, welche Art von super wichtigen Rollen spielen andere 2 Super-Junior-Leute? In jeder anderen Organisation, in der ich gearbeitet habe, brauchte niemand einen super coolen Mann, um einen Überblick über einen Junior zu bekommen. Basierend auf Ihrer Beschreibung würde ich tatsächlich denken, dass diese 2 Super-Senioren nutzlos sind.
Da Tom bereit zu sein scheint, Ihnen zu helfen, arbeiten Sie daran, Freunde zu werden und ihn dazu zu bringen, Ihnen seinen Spielplan und seine Techniken zu erklären. Wenn Sie blind tippen, was er Ihnen sagt, sind Sie seine Sekretärin und kein Entwickler. Fragen Sie ihn, warum er sich dafür entscheidet, Dinge auf eine bestimmte Weise zu tun. Setzen Sie sich zum Mittagessen mit ihm zusammen und lassen Sie sich von ihm die Architektur erklären. Stellen Sie Fragen und versuchen Sie zu verstehen, was los ist, anstatt nur blind seinem Beispiel zu folgen. Versuchen Sie, sein Partner zu werden, nicht sein Helfer. Wenn er eine Technik verwendet, mit der Sie nicht vertraut sind, bitten Sie um Klärung und recherchieren Sie ein wenig, um ihn einzuholen
Tom und ich sind großartige Freunde. Tom ist immer bereit, mir zu helfen. Ich stelle Fragen, er gibt eine fortgeschrittene Antwort; nur ein Teil davon verstehe ich. Dies scheint für immer weiter zu gehen. Es ist, als ob Tom große Fortschritte macht, während ich einfach Unterstützung gebe. Die anderen beiden Teammitglieder haben ihre eigenen Sachen. Einer von ihnen hat es sich zur Aufgabe gemacht, das Projekt mit so vielen Unit-Tests wie möglich abzudecken, und der andere ist ein Tester plus Entwickler.
Einige Leute "bekommen" nur gutes Code-Design, andere kämpfen. Es ist möglich, dass Sie zu den Menschen gehören, die die kleinen, sich wiederholenden Aufgaben erledigen können, die immer erledigt werden müssen und die Tom das Leben langweilen könnten, so dass er ständig Fehler machen würde. Nicht jeder hat ein Talent, das als glamourös angesehen wird, aber manchmal sind diese kleinen heiklen Aufgaben die notwendigeren.
Selbst wenn Sie sein Niveau nicht vollständig einholen können, müssen Sie es nicht wirklich tun. Was Sie brauchen, ist, Ihre Fähigkeiten fair genug zu verbessern, damit Sie eine interessantere Geschichte aufnehmen und wissen können, wann Sie nicht in der Lage sind, ihn nehmen zu lassen. Natürlich sollten Sie überprüfen, wie er es getan hat.
@SalvadorDali - Ich liebe dein Kunstwerk Salvador, aber ich dachte du wärst tot? Obwohl es in diesem Fall nicht so klingt, könnten die beiden Super-Senior-Leute Dinge tun, die das Geschäft in das Unternehmen bringen, wie das Helfen bei Vorschlägen, das Unterstützen des Verkaufspersonals, die Anbindung an den Kunden oder Managementaufgaben. Es ist ziemlich üblich, dass je älter man wird, desto weniger Codierung kann man machen. Es hört sich auch nicht so an, als ob "1 super cooler Typ wurde beauftragt, den 1 Junior-Typ zu überblicken". Es hat sich gerade so herausgestellt, weil der "super coole Typ" die "Vision" und die Fähigkeiten hat.
Stellen Sie sich vor, Tom wäre nie gekommen. Sie würden immer noch an der alten Architektur festhalten und nicht wissen, ob sie gut oder schlecht ist, ob Sie langsam sind oder die Aufgaben zu schwierig sind, und nicht wissen, wie Dinge besser, schneller und effizienter erledigt werden können. Stellen Sie sich jetzt vor, Sie sprechen mit sich selbst vor einem Jahr. Kannst du sehen, wie viel besser du schon bist? Was Sie haben, ist eine wirklich einzigartige Gelegenheit, schnell * Jahre * Erfahrung zu sammeln - alles, was Sie tun müssen, ist Tom zu folgen und sein gesamtes Wissen aufzunehmen. Sie werden vielleicht nicht so gut wie Tom, aber Sie werden sicher viel besser als gestern. Manchmal bin ich Tom und ich wünschte, es gäbe noch einen Tom.
Lassen Sie sich von Tom betreuen.
Wie lange ist es her, dass du angefangen hast? Vielleicht bist du zu hart mit dir. Ich bin damit einverstanden, dass Tom wirklich brillant klingt, und es ist fantastisch, dass Sie einen Kollegen haben, von dem Sie lernen können. Verbringen Sie so viel Zeit wie möglich mit ihm zu arbeiten und mit ihm zu sprechen. Verbringen Sie so viel Zeit wie möglich mit Lesen / Lernen. Es wird immer Leute geben, die schlauer sind als wir, und es wird wahrscheinlich eine Ihrer besten Erfahrungen sein.
Acht antworten:
keshlam
2016-05-30 09:32:43 UTC
view on stackexchange narkive permalink

Wenn Sie während der Sprintplanung keine Geschichten aufgreifen, treten Sie weiter in den Hintergrund. Hör auf mürrisch zu sein und verbessere dein Spiel.

Arbeite mit ihm. Lerne von ihm. Bitten Sie ihn, Ihnen zu helfen, sein Niveau zu erreichen. Überprüfen Sie seinen Code per Peer-Review und stellen Sie nach Bedarf Fragen, um ihn zu verstehen - jemand muss es, und es ist eine großartige Gelegenheit, etwas zu lernen.

Ja, ich habe diese Grundlagen abgedeckt. Aber Sie können nur so viel davon tun, es sei denn, Sie nutzen eine drastisch neue Idee. Deshalb habe ich diese Frage hier gestellt.
@DivyanthJayaraj Möglicherweise können Sie nur so viel tun. Es kann sein, dass Sie irgendwann auf Toms Niveau kommen oder nicht, weil Tom in seinem Privatleben Opfer gebracht hat, um bei der Arbeit hervorragende Leistungen zu erbringen, und / oder viel leidenschaftlicher ist als Sie. Wie andere gesagt haben, ist es das Schlimmste, was Sie für sich und das Unternehmen tun können, wenn Sie keine positive Einstellung zur Situation haben.
Dunk
2016-05-31 23:53:49 UTC
view on stackexchange narkive permalink

Tom hat offensichtlich die "Big-Picture" -Architektur im Kopf. Dies erleichtert das Entwerfen der kleineren Teile und das Erkennen, wie alles zusammenpasst.

Anstatt sich auf die Kleinigkeiten zu konzentrieren, sollten Sie sich darauf konzentrieren, die Architektur zu verstehen, die Tom im Sinn hat. Wenn Sie ein gutes Verständnis für gute Designtechniken haben, sollte Ihnen dies immens helfen. Wenn Tom noch keine Beschreibung der Architektur hat, lohnt es sich wahrscheinlich sehr, die Architektur zu dokumentieren und Tom zu bitten, das zu ergänzen, was Sie verpasst haben.

Wenn Tom ist so gut wie du sagst, dann wette ich, dass sein Ansatz sehr systematisch und eigentlich ziemlich einfach zu befolgen ist, wenn du erst einmal das "Was" und "Warum" von dem lernst, was Tom in der Architektur erreichen will. Sobald Sie das "Was" und "Warum" verstanden haben, können Sie sich auf das "Wie" konzentrieren, und ich bin sicher, dass es dann viel einfacher wird.

Aus Ihrer Beschreibung geht hervor, dass Sie einfach sind Implementieren Sie die Dinge so, wie Tom es Ihnen sagt, ohne zu verstehen, warum. Deshalb hast du nicht das Gefühl, dass es dir besser geht. Sie müssen wirklich verstehen, warum oder Sie werden sich nie verbessern, und Sie werden Toms Hilfe jedes Mal brauchen, wenn Sie etwas aus der Ferne angehen.

Ich wurde beschuldigt, ein Programmiergott zu sein. Ich befolge nicht nur einfache Regeln, von denen ich festgestellt habe, dass sie zu guten Designs führen, die schnell erstellt werden können und weniger fehlerhaft sind. Diese Techniken können von jedem erlernt werden.
@richard - Sie geben sich nicht genug Kredit.Sicher, jeder kann die Techniken lernen, aber es ist eine andere Sache, sie mit Geschick anwenden zu können.Jeder kann lernen, einen Baseballschläger oder einen Golfschläger zu schwingen, aber das bedeutet nicht, dass nur jeder den Ball auch nur aus der Ferne geschickt schlagen kann.
siehe https://www.ted.com/speakers/carol_dweck - Ich bestreite nicht, dass ich Talent habe.Ich sage nur, dass das meiste von wenn gelernt werden kann."Wenn du denkst, dass du neue Dinge lernen kannst, oder wenn du denkst, dass du es nicht kannst, dann hast du recht."
Anketam
2016-05-30 16:34:57 UTC
view on stackexchange narkive permalink

Diese Frage ist sehr schwer zu beantworten, da die Antwort stark von Tom abhängt. Ich habe an mehreren verschiedenen Programmen gearbeitet, an denen ein genialer Programmierer beteiligt war, und hier sind einige Dinge, die ich aufgegriffen habe.

  • Denken Sie daran, dass Sie der zweitbeste Entwickler sind das Team, nicht der schlechteste Entwickler
  • Vermeiden Sie es, Ihre eigene Leistung an anderen zu messen. Gibst du alles was du kannst? Nur weil er ein extrem guter Entwickler ist und Sie einfach ein guter Entwickler sind, sind Sie kein schlechter Entwickler.

Was ist Toms Persönlichkeit?

Toms Persönlichkeit hat großen Einfluss darauf, wie viel er Ihnen helfen kann und will. Wenn es ihm nichts ausmacht zu helfen / zu lehren, nutzen Sie es voll aus. Wenn er hartnäckig ist und / oder keine persönlichen Fähigkeiten besitzt, lernen Sie so viel wie möglich aus dem Internet, halten Sie Ihre Fähigkeiten auf dem neuesten Stand und suchen Sie sich woanders einen neuen Job. In beiden Fällen tragen Sie bei, was Sie können. Wenn Ihr Programm keine Tester hat, konzentrieren Sie sich darauf, seinen Code zu testen. Dafür gibt es viele Gründe: Es wird Ihnen helfen, seine Sachen zu lernen, es hält Sie beschäftigt und führt Sie aus, es bestätigt, dass sein Code ein Code auf Geniestufe und kein Code für Fleischbällchenoperationen ist (letzterer sieht für eine Weile gut aus und fällt dann auseinander ).

Ratschläge für Führungskräfte

Im Allgemeinen müssen sich die Führungskräfte im Team jedoch bewusst sein, dass sie ein Genie im Team haben und geeignete Schritte unternehmen. Der Hauptgrund dafür ist, dass Entwickler auf Genie-Ebene dazu neigen, Code zu schreiben, dessen Verständnis ein Genie erfordert. Dies führt zu einem Risiko für das Programm, und das Genie muss lernen, wie man besser wartbaren Code schreibt. Beispiel aus meiner eigenen Vergangenheit:

Einmal hatten wir drei Monate lang einen genialen Entwickler in unserem Team. Er hat unglaubliche Arbeit geleistet, um alle Arten von herausfordernden Codeproblemen zu lösen, die andere Entwickler im Team doppelt so lange gebraucht hätten. Das Problem war, dass sein vorheriges Programm ihn nach drei Monaten dringend zurück brauchte, weil er der einzige war, der einige der Probleme beheben konnte, die sie hatten. Also haben wir ihn verloren und mussten dann anfangen, seinen Code zu pflegen.

Glücklicherweise waren wir nicht wie sein vorheriges Programm von ihm abhängig geworden, aber wir hatten immer noch Probleme mit anderen Entwicklern, die Schwierigkeiten hatten, Updates vorzunehmen zu seinem Code, da sie so lange gebraucht haben, um seinen Code zu verbessern. In Ihrem Fall, in dem sich nur zwei Personen entwickeln und dies jahrelang unbehandelt bleibt und Tom dann beschließt, das Programm zu verlassen, kann dies die Leistung des Programms erheblich beeinträchtigen.

Es ist auch nicht einfach zu lernen, einen Schritt zurückzutreten und andere Leute Aufgaben übernehmen zu lassen, die Sie doppelt so schnell erledigen könnten, und robusteren Code zurückzulassen. Tom muss lernen, andere Menschen versuchen zu lassen, möglicherweise Fehler zu machen. Er muss vielleicht Dinge reparieren, aber auf lange Sicht wird er nicht in der Lage sein, alles im Alleingang zu erledigen.
Ich mag Ihren Kommentar über Fleischbällchen Chirurgie vs Genie. Es gibt viele Möglichkeiten, um zu wissen, wovon Sie sprechen, aber in Wirklichkeit sind Sie voll davon. Sie sprechen auch über die Pflege von Code. Ich erinnere mich, dass jemand sagte, was einen guten Codierer ausmacht, ist die Fähigkeit, lesbaren Code für andere zu schreiben, denn wenn Sie nicht können, sind Sie nicht sehr hilfreich. Erinnert mich an jemanden bei einem Programmierwettbewerb, von dem alle behaupteten, er sei so schlau und ein "Genius-Codierer", doch als die Richter seinen Code lasen, konnten sie ihn nicht verstehen. Sie könnten Logik bekommen, aber nicht, wie man sie gut präsentiert.
Ich rufe jemanden an, der einfach Code schreibt, der etwas funktioniert, egal wie herausfordernd die Aufgabe ist, aber nur mit einer guten Erklärung verstanden werden kann oder von einer wirklich klugen Person verlangt wird, einen Hacker zu verstehen. Sicherlich kein Genie, zumindest was den Softwareentwickler betrifft. Ein wahres Genie nimmt etwas wirklich schwer zu verstehen und macht es einfach. So definiere ich auch einen guten Ingenieur im Allgemeinen.
Tom Park
2016-05-31 23:46:05 UTC
view on stackexchange narkive permalink

Ich wusste nicht, dass Sie sich so fühlen ...

Aber im Ernst, seien Sie einfach selbstbewusster. Manchmal neigen Menschen dazu, Persönlichkeiten zu haben, bei denen sie das Gefühl haben, dass Projekte falsch ausgeführt werden, wenn sie nicht direkt darüber schweben. Teilen Sie die Arbeit so auf, dass jeder von Ihnen den Fortschritt des anderen sehen und verstehen kann, was los ist. Lassen Sie sich nicht mit offenem Mund erwischen, wenn er plötzlich zu MIA geht und Sie die alleinige Verantwortung tragen.

Raoul Mensink
2016-05-30 12:24:29 UTC
view on stackexchange narkive permalink

Besprechen Sie einige Geschichten, wenn Sie eine Idee haben, wenn überhaupt, stellen Sie sie einfach da raus. Die gesamte Idee der Sprintplanung besteht darin, ein Brainstorming durchzuführen, das nicht zu dem passt, was "Tom" gesagt hat. Vielleicht sind deine Ideen besser als du denkst. Das Sitzen auf der Rückseite Ihres Sitzes wird nicht für Sie funktionieren.

Abgesehen davon ist das Testen von Fehlern wichtig. Und das mit Ihrem eigenen Code zu tun, ist schwierig. Und ich zeige nicht auf Unit-Tests, sondern auf echte menschliche Tests. Dies ist möglicherweise nicht Ihre ideale Position, hilft Ihnen jedoch dabei, wirklich darüber nachzudenken, wie Sie Code erstellen können, um Fehler zu vermeiden.

Ali786
2016-05-30 12:10:16 UTC
view on stackexchange narkive permalink

Es ist eine gute Gelegenheit für Sie. Nehmen Sie die herausfordernde Aufgabe und stellen Sie Ihrem talentierten Teammitglied eine Frage. Er wird Ihnen auf jeden Fall helfen. Sie werden viel von ihm lernen und fühlen sich nicht als ziemlich nutzlos. Es ist Ihr Fehler, dass Sie nicht nach vorne kommen, um die Aufgaben zu übernehmen. Nach ihm haben Sie nur den Kontaktpunkt, nur dass Sie nicht viel von Ihrem beigetragen haben Seite, aber Sie wissen alles in diesem Projekt.

Nehmen Sie die neuen Geschichten mit Ihren Teamkollegen und beginnen Sie damit, daran zu arbeiten, wie ein Team funktioniert. Alle Teammitglieder sind nicht gleich talentiert, aber Sie müssen lernen, das Talent anderer zu nutzen, indem Sie sie höflich fragen. Aber stellen Sie sicher, dass Sie sie nicht langweilen, indem Sie dumme Fragen stellen und nichts von Ihrer Seite versuchen, was Sie im Team produktiv hält.

JasonB
2016-06-01 22:47:25 UTC
view on stackexchange narkive permalink

Bist du sicher, dass Tom das Genie ist, von dem du denkst, dass er es ist? Dies liest sich wie die Einführung in eine tägliche WTF-Geschichte, in der Tom das System neu implementiert und eine gute Zeile spricht, aber wenn jemand seinen Code tatsächlich betrachtet, ist er tatsächlich schlampig und unbegründet.

Es ist sicherlich möglich dass Tom weiß, was er tut (und Sie sollten dies von einem der leitenden Entwickler bestätigen lassen). In diesem Fall kann er Ihnen hoffentlich viel beibringen, aber ich vermute, dass Tom glaubt, er weiß verdammt viel mehr als Er tut es tatsächlich. In diesem Fall profitieren Sie davon, wenn Sie Ihre Fähigkeiten langsam aufbauen und sich vor allem, was Tom tut, in Acht nehmen, das zu schnell und / oder zu einfach ist.

"Tom glaubt, er weiß verdammt viel mehr als er tatsächlich weiß". Das deckt normalerweise die inkompetenten bis "mild" kompetenten Entwickler ab. Die wirklich Guten neigen dazu zu denken, dass sie nicht genug wissen. Auf der anderen Seite denken die wirklich guten Entwickler zwar, dass sie nicht genug wissen, aber sie wissen genug, um zu erkennen, dass ihre Mitarbeiter weit weniger wissen. Sie wissen also, dass sie selbstbewusst sind oder dass ihr Projekt zum Scheitern verurteilt ist.
Sascha
2017-05-28 16:59:08 UTC
view on stackexchange narkive permalink

Er nimmt sich die Zeit, um Paare zu programmieren und Sie zu unterweisen. Versuchen Sie also, von ihm zu lernen.

Ich habe eine jüngere Kollegin, die viel weniger Erfahrung hat als ich (ich programmiere seit ihrer Geburt). Wir machen keine Paarprogrammierung, sondern regelmäßige Codeüberprüfungen, und nach 1-2 Monaten kann ich sehen, dass sie besser wird, bis ich schätze, dass ich mich in 1-3 Monaten aus diesem Teil des Projekts entfernen und sie lassen kann Mach es alleine.

Wenn dein Team und der leitende Entwickler die richtige Einstellung haben (um ihn nach einiger Zeit zu lernen und für andere Dinge frei zu haben), sollte die Welt in Ordnung sein.

Einige praktische Ratschläge:

  • In einem Sprint sollten Sie bewerten, wie Sie die Aufgabe sehen. Das Auswerten von User Stories funktioniert nur, wenn jeder seine Meinung äußert.

  • Das Festlegen einer Aufgabe bedeutet nicht, dass Sie dies ohne Hilfe tun müssen. Bitten Sie im täglichen Standup um Hilfe.

  • Wenn Backlog-Storys so kompliziert werden Nur eine Person im Team fühlt sich in der Lage, die Auswirkungen und den Umfang der Geschichte zu verstehen (vorausgesetzt, Sie scrum), und dann muss die Geschichte verfeinert / aufgeteilt werden. Eine Story-Beschreibung zu haben, die vom gesamten Team nicht verstanden wird, ist nicht akzeptabel.

  • Mir scheint, dass er einen Großteil der Architektur im Kopf hat, was dazu führen kann es ist furchtbar schwer zu folgen. Vielleicht können Sie die Architekturgeschichte "dokumentieren" lassen.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...