Je viens de commencer à travailler sur un projet open source avec environ 30 développeurs. Je travaille sur la correction de certains bugs comme un moyen d'entrer dans la "boucle" et de devenir un contributeur régulier du projet. Le problème est que je pense avoir découvert une faille de conception fondamentale qui cause l'un des bugs sur lesquels je travaille. Mais j'ai l'impression que si je fais exploser cela sur la liste de diffusion, je vais me montrer arrogant, et certaines des discussions que j'ai eues sur la question sont en train de cogner la tête avec certaines personnes. Comment dois-je procéder?
la source
L'une des 48 lois du pouvoir :
C'est celui que j'ai appris à la dure après de nombreux arguments inutiles.
Dans ce cas particulier, je vous conseille de proposer un morceau de code très simple et spécifique qui devrait fonctionner mais ne fonctionnera pas en raison de ce défaut de conception. Comme le dit le vieil adage, "Vous ne pouvez pas discuter avec le compilateur / interprète".
L'autre chose est que pour avoir une influence sur un groupe, il faut être perçu comme un membre du groupe . Même si vous avez rejoint l'entreprise, les gens ne vous perçoivent pas encore comme un membre du groupe. Ainsi, il pourrait être préférable de suivre le groupe établi jusqu'à ce qu'il apprenne à vous percevoir comme l'un d'eux.
la source
Pourriez-vous demander pourquoi une conception particulière a été utilisée? De cette façon, vous pouvez obtenir plus de l'histoire en arrière car il peut y avoir de bonnes raisons pour lesquelles quelque chose a été choisi que vous ne savez pas. J'irais avec l'idée que vous n'êtes pas tout à fait l'expert qui peut choisir le design, mais s'enquérir peut être un moyen d'en savoir plus afin que vous puissiez éventuellement vous interroger sur cette faille que vous avez trouvée afin que le message ne soit pas vu comme appât à la flamme ou à la traîne.
la source
Vous n'aimerez probablement pas ça ... mais, voilà ...
Non, non. Si vous le faisiez, vous ne seriez pas si hésitant à ce sujet. Le fait que vous-même ne soyez pas sûr de la "faille de conception fondamentale" signifie que vous n'en avez pas découvert une. Lorsque vous essayez de signaler l'erreur de quelqu'un d'autre, cela ne vous achète pas d'amis pour utiliser des superlatifs (comme "fondamentaux").
Ce que vous avez peut- être découvert est un design légèrement meilleur, pour le problème que vous rencontrez. Vous devriez probablement le tester à fond, car comme vous êtes nouveau dans le projet, il y a de meilleures chances que vous n'avez aucune idée de quoi vous parlez.
Le qualifier de «défaut fondamental de conception» apparaîtra certainement comme arrogant. D'ailleurs, même en soulignant qu'il peut s'agir d'un bug n'est pas la meilleure idée. Si vous ne savez pas (et pouvez le confirmer) que c'est un problème, alors vous devez poser humblement des questions et des recherches jusqu'à ce que vous le compreniez complètement . Mieux que celui que vous essayez de convaincre.
Arrêtez. Ce n'est pas un problème moral, et cela ne tue personne (je suppose). Si vous avez l'intention d'être membre à long terme du projet, vous devez d'abord gagner la confiance avant de les interroger. Corrigez les bugs, faites un travail incroyable (par toutes les mesures des valeurs du groupe), concevez quelques fonctionnalités et gagnez une place à la table.
Ensuite, sans pointer du doigt ni appeler quoi que ce soit de cassé, faites humblement une suggestion pour améliorer la conception du groupe. Et vous feriez mieux de réfléchir à toutes les conséquences et les solutions, ou vous serez abattu pour être "naïf". Soyez prêt pour une discussion sur les raisons pour lesquelles votre conception est meilleure. Soyez prêt à perdre et perdez gracieusement.
Si votre idée est vraiment meilleure, elle sera finalement acceptée par le groupe (mais peut-être pas par le concepteur d'origine), le groupe s'en fiche ou le groupe est stupide. Dans l'un ou l'autre de ces derniers cas, pourquoi voudriez-vous de toute façon faire partie du groupe?
...
Si vous en êtes capable, l'alternative est de coder la putain de chose avec tant de sang avec brio qu'ils trembleront de stupéfaction devant vos prouesses de codage et n'auront d'autre choix que d'accepter l'élégante simplicité et la vérité éternelle de votre conception. Les développeurs ne compétence respect, mais vous devez être prudent - la punition pour incompétence (ou l' arrogance injustifiée) est assez sévère. Puisque vous posez cette question, cependant, je suppose que l'itinéraire d'arrogance brillant et sans vergogne n'est pas vraiment une option. ;)
la source
Un bug est un bug, et c'est correct de l'appeler ainsi. Dire qu'elle est causée par un "défaut de conception", c'est pointer du doigt le type qui se trouve devant vous (comme le "papa") et lui dire qu'il est un idiot.
Inutile et contre-productif. Je suggère:
Où XY et Z corrigent le problème. Laissez-les vous dire que c'était un défaut de conception; il peut y avoir une autre solution. Ou les hypothèses derrière la «faille» peuvent être si profondes tout au long du projet que le changer corrigera le bogue mais cassera tout le reste!
la source