Umgang mit Fanboys [geschlossen]

14

Wir haben alle wahrscheinlich jemanden wie diesen getroffen, diesen Entwickler, der nur weiß, dass seine Sprache die einzig wahre Sprache ist und nicht den Mund halten wird. Wie gehst du mit so jemandem um? Ich möchte niemanden beleidigen (zumal der Fanboy an meinem Arbeitsplatz der leitende Entwickler ist). Aber ich möchte in der Lage sein, meine eigene Wahl der Skriptsprache zu verwenden, wenn ich ein Einweg-Skript schreiben muss, das es nie in das Repository schafft und von dem niemand etwas weiß.

Gedanken, mit denen ich mich auseinandersetzen musste:

  1. Laugh it off - "Haha ja, vielleicht ist Sprache X ein bisschen einfacher, ich denke ich bin ein Masochist!"
  2. Machen Sie es mit - ich würde es wirklich vorziehen, dies zu vermeiden, da ich mir den Produktivitätsverlust, der mit dem Erlernen einer neuen Sprache verbunden ist, nicht leisten kann.
  3. Verstecke meine Sprache - Werde ein Schrankprogrammierer und verstecke meinen Monitor, wenn ich Skripte schreibe oder etwas automatisiere.

Was würden Sie für diese Situation vorschlagen?

Daniel Gratzer
quelle
14
Wäre es nicht am einfachsten, ihn zu ignorieren und in jeder Situation auch nur ein bisschen Professionalität zu fordern?
zxcdw
25
Bist du dir absolut sicher, dass du kein Fan von dir selbst bist, da du darauf bestehst, deine Wahl zu treffen ?
Doc Brown
11
@ DocBrown Ich bin nicht unparteiisch, aber ich bin mir ziemlich sicher, dass Perl (meine Wahl) besser zum Parsen von Textdateien geeignet ist als VB (seine Wahl)
Daniel Gratzer
4
Die Frage ist, ist der Kerl wirklich ein Fan-Junge, alias, weiß er nur eine Sache und hat eine schlechte Rechtfertigung, warum er denkt, dass es "da best" ist, oder ist er wirklich sehr gut und wählt die meiste Zeit ein bestimmtes Etwas, weil Das ist wirklich der beste Weg zu gehen? Ich frage dies auf eine völlig nicht-sarkastische Weise, da ich einige Leute selbst als Fan-Boys bezeichnet habe, bevor ich feststelle, dass sie einfach viel mehr wussten als ich.
Shivan Dragon
8
@jozefg Ich hasse es, ein nicht konstruktives und möglicherweise einfühlsames Thema als Moderator zu hinterlassen, gehe aber nicht einen Riesenschritt zurück zu VB von Ruby?
maple_shaft

Antworten:

14

Wenige Dinge kommen nicht in Frage.

  • Ist es wirklich ein Wegwerf-Skript? Wenn es so ist, ist es seltsam, dass darüber diskutiert wird.
  • Sind Sie sicher, dass das Wegwerf-Skript unverändert bleibt? Viele Produktionssachen waren schon einmal ein Wegwerfskript.
  • Werden Sie das Skript neu schreiben, wenn es beworben und in das System integriert werden muss?
  • Ist die Sprachwahl rein syntaktisch oder eine Sprache aus einer anderen Sphäre?

Ich verstehe den Fan-Boy-Teil ein bisschen, weil ich mich von einer Seite manchmal ein bisschen wie ein Fan-Boy benehme, während ich meine wenigen Sprachen der Wahl schütze. Und ich habe mich auch mit anderen Fan-Boys beschäftigt, die versuchen, neue Sachen hereinzubringen.

Meine Sicht auf diese Situation ist wie folgt:

  • Wenn es eine neue Sprache ist, gehört sie in einen Mülleimer.
  • Wenn es sich um eine branchenerprobte Sprache handelt, kann sie verwendet werden, wenn sie auf die Aufgabe spezialisiert ist.
  • Wenn es eine sehr unpopuläre Sprache ist, gehört sie in einen Mülleimer, auch wenn sie super cool und super schnell ist.

Es liegt daran, dass niemand weiß, wie man sichere und schnelle Software in einer unbekannten Sprache schreibt, und es hat alle Fallstricke, die Entwickler lernen müssen. Das blöde Skript muss über 20 Jahre unterstützt oder umgeschrieben werden. In 20 Jahren wechseln mindestens 50 Entwickler in einem durchschnittlichen Shop. Wenn jeder einzelne wenige ausgefallene Skripte in einer neuen Sprache schreibt, benötigen Sie 50 Sprachlaufzeiten, 50 verschiedene Expertisen im Team und die Codebasis enthält fehlerhaften Code in 50 Sprachen. Einige der Sprachen werden unter Windows oder Linux nicht mehr unterstützt. Und benötigt diesen nicht gepatchten, 10 Jahre alten, benutzerdefinierten Server, ohne verfügbare Ersatzteile, rund um die Uhr.

Außerdem möchte niemand wirklich tote Sprachen wie VB, Silverlight, D usw. unterstützen, wenn die Codebasis wahrscheinlich die Sprache selbst überlebt.

Coder
quelle
9
+1 für das Hinterfragen des Wegwerfcharakters der Skripte. Ein ehemaliger Kollege bemerkte ausdrücklich, dass die meisten vorübergehenden Lösungen dauerhaft sind.
Joris Timmermans
12
-1 für das kategorische Ablehnen aller neuen Sprachen. Das ist so falsch, dass es den Rest der Ratschläge, die gut sind, überfordert. Dies ist genau die Art und Weise, wie Sie in C eine gigantische Legacy-Codebasis erhalten, während Ihre Konkurrenten mit Ruby (oder Clojure oder was auch immer) Ringe um Sie führen, weil sie die Logik dessen ausdrücken können, was sie tun müssen, um so viel schneller als Sie können. Um bewundernswert erfolgreich zu sein, müssen Sie die Gewinner frühzeitig auswählen .
Rex Kerr
2
-1 für die Kennzeichnung von VB & Silverlight als "unbeliebt". Sie werden Ihre unpopulären Sprachen noch lange unterstützen ... tiobe.com/index.php/content/paperinfo/tpci/index.html
deworde
3
D ist tot? Das ist neu für mich, zumal neulich eine neue Version veröffentlicht wurde! -1 dlang.org/changelog.html
Gary Willoughby
4
sprachen explizit erwähnen: schlechte idee.
Nadir Sampaoli
16

Entscheidet er, was Sie verwenden, basierend auf den Unternehmensrichtlinien? Appellieren Sie Ihren Fall an ihn; Wenn er sich immer noch dagegen entscheidet, halten Sie die Klappe und arbeiten Sie mit den Werkzeugen, die Ihr Chef Ihnen empfiehlt.

Du arbeitest dort, nicht spielst dort. Letztendlich liegt es nicht in Ihrer Hand.


Auch wenn er nicht Ihr Chef ist, würde ich hier alle Blickwinkel berücksichtigen. Würde es Ihnen gefallen, wenn er Fortran kennen würde und Sie eines Tages seinen gesamten Code geerbt hätten? Man müsste im Handumdrehen eine brandneue Sprache von Grund auf lernen , das ist fürchterlich stressig. Stellen Sie sich jetzt seine Seite vor, Sie könnten Ihre Skripte mit Cobol schreiben und er könnte Cobol nicht kennen.

Verwenden Sie etwas, das die Mehrheit Ihres Teams kennt.

sergserg
quelle
6
"Du arbeitest dort und spielst nicht dort." +1
funkybro
1
Der erste Schritt, um die gewünschten Änderungen vorzunehmen, besteht darin, zu beweisen, dass sie in einer sicheren Umgebung wirksam sind.
Deworde
9

"2. Mach mit"

Dies ist die einzig vernünftige Antwort. Sie haben hier eine großartige Gelegenheit.

  • Verwenden Sie die Kommentare des Senior-Programmierers, um Ihr Unternehmen zu ermutigen, für Zeit und / oder einen Kurs und / oder eine Zertifizierung zu zahlen, um die neue Sprache zu lernen. Worst-Case-Szenario: Die Zertifizierung und die Sprache verbessern Ihren Lebenslauf, Sie erhalten möglicherweise eine gute Empfehlung als Teamplayer, und Sie können den ganzen Weg zu einem besseren Job an einem anderen Ort lachen.

  • Ich habe aus jeder Sprache, die ich gelernt habe, wertvolle Erkenntnisse über das Programmieren gewonnen. Selbst die unpraktischste Sprache ( Husten XSLT- Husten ) hatte ihre Schwäche und war voller interessanter Lernmöglichkeiten (und bezahlte meine Rechnungen für mehrere Jahre). Ständiges Lernen ist einer der großen Vorteile eines Programmierers.

  • Alle coolen Projekte verwenden wahrscheinlich die Lieblingssprache des Senior-Entwicklers. Wenn Sie diese Sprache kennen, werden Sie in den Pool der Talente aufgenommen, die an diesen Projekten arbeiten können.

  • Jemand bezahlt Sie vermutlich dafür, bestimmte Arbeiten auf eine bestimmte Weise auszuführen. Jede andere Antwort ist wahrscheinlich insubordination und wird wahrscheinlich schlecht enden.

Der leitende Entwickler / Architekt wählt normalerweise die in einem Geschäft verwendete Primärsprache aus und stellt sicher, dass jeder diese Sprache verwendet. Auf diese Weise baut ein Unternehmen eine Wissensbasis für bestimmte Technologien auf, sodass ein Mitarbeiter (Sie) Urlaub machen kann und ein anderer Mitarbeiter Ihren Code abholen und reparieren kann, während Sie fort sind. Das Unternehmen kann auch relevante Schulungstalente einbringen, und die Personalabteilung weiß, nach welchen Schlagwörtern in den Lebensläufen zu suchen ist.

Indem Sie seine Sprache lernen und für die Arbeit verwenden, sammeln Sie das politische Kapital an, das Sie benötigen, um Ihre Lieblingssprache effektiv zu vertreten . Viele Unternehmen haben eine offizielle Infrastruktursprache und eine offizielle Skriptsprache für Berichte. Erstellen Sie eine Liste mit Vor- und Nachteilen, aus der hervorgeht, wo seine Sprache herausragend ist und wo Ihre Sprache am besten ist, und wo jede einzelne Sprache zu kurz kommt. Sie müssen diese Liste im Kontext einer bestimmten Anwendung aufbewahren, z. B. der Berichte, die Sie schreiben. Planen Sie eine Zeit mit ihm, um ihm die Liste privat und respektvoll zu zeigen und mit ihm zu diskutieren. Schreiben Sie seine Einwände auf, recherchieren Sie sie nach dem Treffen und planen Sie ein Folgetreffen, wenn Sie gute Gegenargumente haben.

Viel Glück!

GlenPeterson
quelle
4
aber wer will schon VB lernen?
Michael Brown
Fanboy mag VB? Ich bin mir sicher, dass Sie mit VB gutes Geld verdienen können, aber ich bin in meiner Karriere schreiend davon gelaufen. Ich mag die Optionen 1 oder 3 immer noch nicht. Ich möchte Option 4 hinzufügen: Aktualisieren Sie Ihren Lebenslauf und suchen Sie sich einen neuen Job. Auch Option 5: Aktualisiere Fanboys Lebenslauf und finde IHN einen neuen Job! Wenn dies keine Option ist, würde mein früherer Rat zu Option 2 weiterhin gelten.
GlenPeterson
7

Zeigen Sie, dass in einem bestimmten Kontext eine andere Sprache eine pragmatischere Wahl ist.

Wenn die Person eine Leidenschaft für C ++ hat und Sie an einem Webanwendungsprojekt arbeiten, ist dies nicht allzu schwierig. Auf die gleiche Weise neigen einige Kontexte sehr zur funktionalen Programmierung, und die Verwendung einer nicht funktionalen Sprache wäre nicht sehr weise.

Anmerkungen:

  • Vermeiden Sie Situationen, in denen Ihre und seine bevorzugte Sprache sehr ähnlich sind.

    Zum Beispiel würde ich mir kaum einen Kontext vorstellen, in dem Java "besser" als C # oder C # "besser" als Java wäre.

  • Denken Sie daran, dass die Wahl einer Sprache sehr oft subjektiv ist und eher durch die Erfahrung eines Entwicklers als durch evidenzbasierte Elemente erklärt wird.

    Wenn ich zum Beispiel gebeten werde, eine Anwendung für den Finanzsektor zu erstellen, verwende ich immer noch C # anstelle von Haskell, auch wenn ich Haskell für angemessener und aufregender halte. Der Grund für diese Wahl ist, dass ich jahrelange Erfahrung mit C # habe, aber wenn es um Haskell geht, habe ich nur ein paar Tutorials gelesen und sie nie professionell verwendet.

Arseni Mourzenko
quelle
1
Linq hätte gerne ein Wort. ;)
sergserg
@MainMa, sag nicht, dass C # kaum besser sein kann als Java. Es funktioniert viel schneller und hat eine Menge eingebauter Funktionen)))
superM
14
Es ist Fanboys ganz runter!
Froome
2
@superM: "schneller" ist so subjektiv, dass ich nicht mal auf dieses Argument antworten werde. Was die eingebaute Funktionalität angeht, so erscheint mir die eingebaute Funktionalität von Java recht umfangreich.
Arseni Mourzenko
3
"[Sprachauswahl] erklärt sich eher aus der bisherigen Erfahrung eines Entwicklers" - und auch aus den aktuellen beruflichen Zielen eines Entwicklers, dh "Ich möchte in X (auf den Dollar des Unternehmens) aufsteigen".
Funkybro
3

Die Antwort ist 2) Mach mit.

  1. Die einzige Möglichkeit, den Fanboy zum Schweigen zu bringen, besteht darin, in der Sprache seiner Wahl (bis zu einem gewissen Grad) fließend zu sprechen.
  2. Der Produktivitätsverlust ist kein Problem. Sie tun dies, wie von Ihrem Vorgesetzten gewünscht, sodass Produktivitätsänderungen vom Projekt berücksichtigt werden müssen.
  3. Wenn Sie eine neue Sprache lernen, wird Ihr Gehirn besser funktionieren.
  4. Wenn Sie lernen, offen für das Erlernen neuer Sprachen zu sein, tun Sie dies noch besser.

Es ist Win-Win-Win-Win. Genießen!

Dominic Cronin
quelle
3
Gilt das auch, wenn die neue Sprache VB ist?
Nadir Sampaoli
Das Erlernen von Visual Basic brachte mir viele nützliche Dinge bei, die ich nicht gelernt hätte, wenn ich mich an die Sprachen meiner Wahl gehalten hätte (C und PL1, wenn ich mich richtig erinnere)
Dominic Cronin
2

Die Antwort ist, Sie beschäftigen sich nicht damit. Das Streiten mit ihnen schleppt den Arguer nur auf ihre Ebene (wo sie dich mit Erfahrung schlagen) und ist letztendlich unkonstruktiv, weil sie engstirnig sind.

Ignorieren Sie alle Argumente, die sie für oder gegen ihre Sprache vorbringen, und entscheiden Sie sich selbst. Verwenden Sie die üblichen Techniken wie Augenkontakt vermeiden, monosylabisch antworten und sich einem neuen Thema zuwenden, wenn die Stille gewährleistet ist. Bilden Sie sie stattdessen so aus, dass sie die Person neben Ihnen nerven.

Die Herausforderung dabei ist, dass der Fanjunge die Sprache mit seiner Identität in Verbindung bringt und dass jede Negativität, die mit dieser Sprache verbunden ist, persönlich ist. Nicht angreifen oder verteidigen. Einfach ignorieren.

akton
quelle
Sie können nicht für immer ignorieren. Vor allem, wenn diese Person Sie überredet, eine Sprache ihrer Wahl zu verwenden
superM
2

Nur sehr wenige Dinge bei einem Job sind wirklich wegwerfbare Skripte. Ich stelle sowieso viele solche Dinge in das Wiki oder in das Repository, falls sie noch einmal gebraucht werden.

Sogar Dinge, von denen ich denke, dass sie unter dem Level des Teilens liegen, fühlen sich meine Teamkollegen oft anders. Ich habe beispielsweise einen Regrep-Alias ​​in meinem .profile. Es ist nur eine find-Anweisung mit einem Parameter, da ich auf diesem Server keinen Zugriff auf echtes rgrep habe. Ein Teamkollege hat Wind bekommen und wollte es im Wiki haben. Ja, die einzeilige Aussage. Offensichtlich hatten wir keine Debatte über die Implementierungssprache - es musste UNIX sein. Aber es unterstreicht die Notwendigkeit, Dinge zu tun, die andere im Team verstehen können.

Ein weiterer Grund ist, dass der leitende Entwickler möglicherweise einen Grund dafür hat, dass Sie diese Sprache nicht verwenden. Haben Sie gefragt?

Versuchen Sie vielleicht einmal, dasselbe Skript in beiden Sprachen zu erstellen, um zu zeigen, warum deins besser ist.

Jeanne Boyarsky
quelle
1

Sie sollten versuchen, zu beschlagen . Dies bedeutet, dass Sie mit allem, was der Fanboy sagt, einverstanden sind (ganz oder teilweise), aber Ihr eigenes Ding machen, sofern nicht ausdrücklich anders angewiesen.

Peter K.
quelle
1
Du hast (im Prinzip) recht.
Yannis
3
Passiv aggressiv sein?
Gary Willoughby
Es gibt einen Unterschied zwischen passiv-aggressiv und dem Einsatz von Techniken, um mit durchsetzungsfähigen Menschen umzugehen. Klar, wenn die Durchsetzungskraft in ein Dogma abfällt, kann dies zu passiv-aggressivem Verhalten führen. In diesem Fall ist die Situation ohnehin schlimm ... die beste Option ist also zu gehen. ;-)
Peter K.
0

Passiv-aggressive Optionen 1,3 führen zu mehr emotionaler Belastung, also gib mir eine 2) nimm es auf das Kinn.

Einige allgemeine Ratschläge für die Straße: 4) Wenn Sie Ihrem Senior nicht besser zuhören können, machen Sie Ihr eigenes Studium im Bereich Sprach- / Compiler-Design. Wähle eine Sprache und erfahre, welche Gedanken in sie geflossen sind. Was ist der Kompromiss zwischen Funktionen, Leistung und Ausdruckskraft. Welche anderen Möglichkeiten gibt es. Dies allein wird Ihnen unmenschliche Programmier-Superkräfte verleihen. Lerne sogar NBL , es wird riesig.

Sich durch Meinungsäußerungen zu behaupten, hemmt Produktivität und Kommunikation. Die Leute mögen denken, dem emotionalen Drang nachzugeben ist hilfreich, aber es ist nur eine Hilfe bei ihrer Unsicherheit.

Demütig und freundlich mit Ratschlägen umzugehen und sich zu verbessern, wird Wunder wirken, um Ihre Bauchgefühle auf technischer Ebene auszudrücken. Sie werden sich besser fühlen und die Dinge so sehen, wie sie sind, weil Sie in der Lage sind, zu argumentieren. Es ist schwer verrückt zu werden, wenn man Kritik in einen technischen Kontext verlagert.

Jano
quelle