Traiter avec Fanboys [fermé]

14

Nous avons probablement tous rencontré quelqu'un comme ça, ce développeur qui sait juste que sa langue est la seule vraie langue et ne se taira pas à ce sujet. Comment gérez-vous comme quelqu'un comme ça? Je ne veux offenser personne (surtout que le fanboy de mon lieu de travail est le développeur principal). Mais je veux pouvoir utiliser mon propre choix de langage de script lorsque je dois écrire un script jetable qui ne parvient jamais au référentiel et que personne d'autre n'a besoin de savoir qu'il existait.

Réflexions auxquelles j'ai dû faire face:

  1. Riez-le - "Haha ouais peut-être que la langue X est un peu plus facile, je suppose que je suis masochiste!"
  2. Allez-y - je préférerais vraiment éviter cela car je ne peux pas me permettre la baisse de productivité associée au choix d'une nouvelle langue.
  3. Masquer ma langue - Devenez un programmeur de garde-robe et cachez mon moniteur chaque fois que je crée un script ou automatise quelque chose.

Que suggéreriez-vous pour cette situation?

Daniel Gratzer
la source
14
Ne serait-il pas plus facile de l'ignorer et de demander peut-être même un léger professionnalisme chaque fois que la situation se présente?
zxcdw
25
Absolument sûr que vous n'êtes pas un fanboy par vous-même puisque vous insistez pour utiliser votre choix ?
Doc Brown du
11
@DocBrown Je ne suis pas impartial mais je suis sûr que Perl (mon choix) est mieux adapté pour analyser des fichiers texte que VB (son choix)
Daniel Gratzer
4
La question est, est-ce que le gars est vraiment un fan, aka, sait-il seulement une chose et a-t-il une mauvaise justification pour expliquer pourquoi il pense que c'est "le meilleur", ou est-il vraiment très bon et choisit un certain quelque chose la plupart du temps parce que c'est vraiment la meilleure façon de procéder? Je pose la question d'une manière complètement non sarcastique, car j'ai moi-même étiqueté quelques personnes comme fan-boys, avant de réaliser qu'ils en savaient juste beaucoup plus que moi.
Shivan Dragon
8
@jozefg Je déteste laisser un sujet non constructif et possiblement perspicace en tant que modérateur, mais le passage à VB de Ruby n'est-il pas un pas en arrière géant?
maple_shaft

Réponses:

14

Peu de choses sortent de la question.

  • Est-ce vraiment un script jetable? Si c'est le cas, il est étrange que cela soit discuté.
  • Êtes-vous sûr que le script jetable restera tel quel? Beaucoup de choses de production ont été un script jetable à un moment donné.
  • Allez-vous réécrire le script s'il est promu et doit être intégré dans le système?
  • Le choix de la langue est-il purement syntaxique ou est-ce une langue d'une autre sphère?

Je comprends un peu la partie fan-boy, parce que d'un côté, je me comporte parfois comme un fan-boy, tout en protégeant mes quelques langues de choix. Et j'ai également eu affaire à d'autres fan-boys qui essaient d'apporter de nouvelles choses.

Ma vision de cette situation est la suivante:

  • S'il s'agit d'une nouvelle langue, elle appartient à la poubelle.
  • S'il s'agit d'un langage éprouvé dans l'industrie, il peut être utilisé s'il est spécialisé pour la tâche.
  • Si c'est une langue très impopulaire, elle appartient à la poubelle, même si c'est super cool et super rapide.

C'est parce que personne ne sait écrire des logiciels sûrs et rapides dans une langue inconnue, et il a tout ce que les développeurs doivent apprendre. Le script stupide devra être soutenu pendant 20 ans ou réécrit. En 20 ans, au moins 50 développeurs changent dans une boutique moyenne. Si chacun écrit quelques scripts fantaisie dans une nouvelle langue, vous avez besoin de 50 runtimes de langue, 50 expertises différentes sur l'équipe, et la base de code a du code bogué dans 50 langues. Et certaines langues ne sont plus prises en charge sous Windows ou Linux. Et a besoin de ce serveur personnalisé inédit de 10 ans, sans pièces de rechange disponibles, 24/7.

De plus, personne ne veut vraiment prendre en charge les langages morts comme VB, Silverlight, D, etc., alors que la base de code survivra probablement au langage lui-même.

Codeur
la source
9
+1 pour avoir remis en question la nature jetable des scripts. Un ancien collègue a souligné que la plupart des solutions temporaires sont permanentes.
Joris Timmermans
12
-1 pour avoir catégoriquement rejeté toutes les nouvelles langues. C'est tellement faux que cela submerge le reste des conseils, ce qui est bien. C'est exactement la façon dont vous vous retrouvez avec une gigantesque base de code héritée en C pendant que vos concurrents courent autour de vous avec Ruby (ou Clojure ou autre), car ils peuvent exprimer la logique de ce qu'ils doivent faire beaucoup plus rapidement que vous. Pour réussir admirablement au lieu de lamentablement, vous devez choisir les gagnants tôt .
Rex Kerr
2
-1 pour étiqueter VB & Silverlight comme "impopulaire". Vous soutiendrez vos langues impopulaires encore longtemps ... tiobe.com/index.php/content/paperinfo/tpci/index.html
deworde
3
D est mort? C'est une nouvelle pour moi, d'autant plus qu'une nouvelle version est sortie l'autre semaine! -1 dlang.org/changelog.html
Gary Willoughby
4
mentionner explicitement les langues: mauvaise idée.
Nadir Sampaoli
16

Décide-t-il de ce que vous utilisez en fonction de la politique de l'entreprise? Appelez-lui votre cas; s'il décide toujours contre, tais-toi et fais ton travail avec les outils que ton patron te dit d'utiliser.

Vous y travaillez , vous n'y jouez pas. En fin de compte, c'est hors de vos mains.


Même s'il n'est pas votre patron, je considérerais tous les angles ici. Aimeriez-vous qu'il connaissait Fortran et qu'un jour vous ayez hérité de tout son code. Il faudrait apprendre une toute nouvelle langue à partir de zéro à la volée , c'est terriblement stressant. Imaginez maintenant son côté, vous pourriez écrire vos scripts en utilisant Cobol et il ne connaît peut-être pas Cobol.

Utilisez quelque chose que la majorité de votre équipe sait.

sergserg
la source
6
"Vous travaillez là-bas, vous n'y jouez pas." +1
funkybro
1
Mais la première étape vers les changements que vous souhaitez apporter est de prouver qu'ils sont efficaces dans un environnement sûr.
deworde
9

"2. Allez-y"

Ceci est la seule réponse raisonnable. Vous avez une grande opportunité ici.

  • Utilisez les commentaires du programmeur principal pour encourager votre entreprise à payer du temps et / ou un cours et / ou une certification pour apprendre la nouvelle langue. Pire scénario: la certification et la langue amélioreront votre CV, vous obtiendrez peut-être une bonne recommandation pour être un joueur d'équipe et vous pourrez rire jusqu'à un meilleur emploi ailleurs.

  • J'ai acquis de précieuses informations sur la programmation dans chaque langue que j'ai apprise. Même le moins pratique de la langue ( toux XSLT toux ) avait sa tache douce et était plein à craquer de possibilités d'apprentissage intéressantes (et payé mes factures depuis plusieurs années). L'apprentissage constant est l'un des grands avantages d'être programmeur.

  • Tous les projets sympas utilisent probablement la langue préférée du développeur senior. Connaître cette langue vous place dans le vivier de talents qui peuvent travailler sur ces projets.

  • Quelqu'un vous paie probablement pour effectuer certains travaux d'une certaine manière. Toute autre réponse est probablement une insubordination et risque de se terminer mal.

Le développeur / architecte principal choisit normalement la langue principale utilisée dans un magasin et s'assure que tout le monde utilise cette langue. De cette façon, une entreprise construit une base de connaissances dans certaines technologies afin qu'un employé (vous) puisse prendre des vacances et que quelqu'un d'autre puisse récupérer votre code et le corriger pendant votre absence. L'entreprise peut également attirer des talents de formation pertinents et le service des ressources humaines saura quels mots à la mode rechercher dans les curriculum vitae.

En apprenant sa langue et en l'utilisant pour son travail, vous accumulez le capital politique dont vous avez besoin pour défendre efficacement votre langue préférée. De nombreuses entreprises ont un langage d'infrastructure officiel et un langage de script officiel pour les rapports. Préparez une liste des avantages et des inconvénients indiquant où sa langue excelle et où la vôtre le fait, ainsi que les points faibles de chacun. Vous devez conserver cette liste dans le contexte d'une application spécifique, comme les rapports que vous rédigez. Prévoyez un moment avec lui pour lui montrer la liste en privé et avec respect et en discuter avec lui. Notez ses objections, recherchez-les après la réunion et, si vous avez de bons contre-arguments, planifiez une réunion de suivi.

Bonne chance!

GlenPeterson
la source
4
mais vraiment qui veut apprendre le VB?
Michael Brown
Fanboy aime VB? Je suis sûr que vous pouvez gagner beaucoup d'argent avec VB, mais j'ai couru en hurlant dans ma carrière. Je n'aime toujours pas les options 1 ou 3. J'ajouterais l'option 4: Mettez à jour votre CV et trouvez-vous un nouvel emploi. Option 5 également: mettre à jour le CV de Fanboy et lui trouver un nouvel emploi! Si ce n'est pas une option, mes conseils précédents sur l'option 2 s'appliqueraient quand même.
GlenPeterson
7

Montrez que dans un contexte spécifique, une autre langue est un choix plus pragmatique.

Si la personne est passionnée par le C ++ et que vous travaillez sur un projet d'application Web, ce ne serait pas trop difficile. De la même manière, certains contextes sont très enclins à la programmation fonctionnelle et utiliser un langage non fonctionnel ne serait pas très sage.

Remarques:

  • Évitez les situations où votre langue et celle que vous préférez sont très similaires.

    Par exemple, j'imagine difficilement un contexte où Java serait "meilleur" que C #, ou C #, "meilleur" que Java.

  • N'oubliez pas que le choix d'une langue est très souvent subjectif et s'explique davantage par l'expérience antérieure d'un développeur que par certains éléments fondés sur des preuves.

    Par exemple, si on me demande de faire une application relative au secteur financier, j'utiliserais toujours C # plutôt que Haskell, même si je trouve Haskell plus approprié et vraiment excitant. La raison de ce choix est que j'ai des années d'expérience avec C #, mais en ce qui concerne Haskell, je n'ai lu que quelques tutoriels et je ne l'ai jamais utilisé professionnellement.

Arseni Mourzenko
la source
1
Linq aimerait avoir un mot. ;)
sergserg
@MainMa, ne dites pas que C # ne peut guère être meilleur que Java. Il fonctionne beaucoup plus rapidement et possède de nombreuses fonctionnalités intégrées)))
superM
14
Ce sont des fanboys tout le long!
Froome
2
@superM: "plus rapide" est si subjectif que je ne répondrai même pas à cet argument. En ce qui concerne la fonctionnalité intégrée, la fonctionnalité intégrée de Java me semble assez grande.
Arseni Mourzenko
3
"[Le choix de la langue] s'explique davantage par l'expérience antérieure d'un développeur" - et aussi par les objectifs professionnels actuels d'un développeur, à savoir "J'ai envie de me perfectionner en X (sur le dollar de l'entreprise)".
funkybro le
3

La réponse est 2) Allez-y.

  1. La seule façon de fermer le fanboy est de parler couramment (dans une certaine mesure) la langue de son choix.
  2. La perte de productivité n'est pas un problème. Vous faites comme demandé par votre senior, donc les changements de productivité doivent être pris en compte par le projet.
  3. L'apprentissage d'une nouvelle langue améliorera le fonctionnement de votre cerveau.
  4. Apprendre à être ouvert sur l'apprentissage de nouvelles langues vous fera encore plus de bien.

C'est gagnant-gagnant-gagnant-gagnant. Prendre plaisir!

Dominic Cronin
la source
3
Est-ce valable même si la nouvelle langue est VB?
Nadir Sampaoli
L'apprentissage de Visual Basic m'a appris beaucoup de choses utiles que je n'aurais pas apprises si je m'en étais tenu aux langues de mon choix à l'époque (C et PL1 si je me souviens bien)
Dominic Cronin
2

La réponse est que vous ne vous en occupez pas. Discuter avec eux entraîne simplement l'argumenteur à son niveau (où il vous bat avec l'expérience) et n'est finalement pas constructif car ils sont étroits d'esprit.

Ignorez tous les arguments qu'ils donnent pour ou contre leur langue et décidez-vous. Utilisez les techniques habituelles comme éviter le contact visuel, répondre de façon monosylabique et passer à un nouveau sujet lorsque le silence le garantit. Formez-les plutôt à ennuyer la personne à côté de vous.

Le défi ici est que le fan boy associe la langue à son identité et toute négativité associée à cette langue est personnelle. N'attaquez pas et ne vous défendez pas. Ignorez simplement.

akton
la source
Vous ne pouvez pas ignorer pour toujours. Surtout quand cette personne vous persuade d'utiliser la langue de son choix
superM
2

Très peu de choses au travail sont vraiment des scripts jetables. Je finis par mettre beaucoup de ces choses sur le wiki ou dans le référentiel de toute façon au cas où cela serait à nouveau nécessaire.

Même les choses que je pense sont inférieures au niveau de partage, mes coéquipiers se sentent souvent différemment. Par exemple, j'ai un alias rgrep dans mon .profile. C'est juste une instruction find avec un paramètre car je n'ai pas accès à un vrai rgrep sur ce serveur. Un coéquipier a eu du vent et l'a voulu sur le wiki .. Oui, la déclaration d'une ligne. De toute évidence, nous n'avons pas eu de débat sur le langage d'implémentation - il devait s'agir d'UNIX. Mais cela met en évidence la nécessité de faire des choses que les autres membres de l'équipe peuvent comprendre.

Un autre tour est qu'il est possible que le développeur senior ait une raison que vous ne connaissez pas pour utiliser ce langage. Avez-vous demandé?

Essayez peut-être de faire une fois le même script dans les deux langues pour montrer pourquoi le vôtre est meilleur.

Jeanne Boyarsky
la source
1

Vous devriez essayer la buée . Cela signifie être d'accord avec tout ce que le fanboy dit (en tout ou en partie), mais faites votre propre chose, sauf instruction explicite de faire autrement.

Peter K.
la source
1
Vous avez raison (en principe;).
yannis
3
Soyez passif agressif?
Gary Willoughby
Il y a une différence entre être passif-agressif et utiliser des techniques pour traiter avec des personnes assertives. Bien sûr, si l'assertivité descend dans le dogme, alors cela peut descendre dans un comportement passif-agressif. Dans ce cas, la situation est terrible de toute façon ... alors la meilleure option est de partir. ;-)
Peter K.
0

Les options passives-agressives 1,3 conduisent à plus de détresse émotionnelle, alors donnez-moi un 2) prenez-le sur le menton.

Quelques conseils généraux pour la route: 4) Si vous n'écoutez pas plus intelligemment votre aîné, faites votre propre étude en conception de langage / compilateur. Choisissez une langue et découvrez les idées qui y sont entrées. Quel est le compromis entre les fonctionnalités, les performances et la puissance expressive. Quelles autres options sont là. Cela seul vous accordera des super-pouvoirs de programmation inhumains. Apprendre le NBL même, ça va être énorme.

S'affirmer en poussant des opinions sur les autres nuit à la productivité et à la communication. Les gens peuvent penser que renoncer à l'envie émotionnelle est utile, mais c'est un simple pansement sur leur insécurité.

Être humble et gentil avec des conseils et vous améliorer vous fera des merveilles pour exprimer vos sentiments intestinaux au niveau technique. Vous vous sentirez mieux et verrez les choses pour ce qu'elles sont, car vous pourrez raisonner. Difficile de se fâcher quand on extériorise la critique à un contexte technique.

Jano
la source