Właśnie zacząłem pracować nad projektem typu open source z około 30 programistami. Pracuję nad naprawieniem niektórych błędów, aby dostać się do „pętli” i zostać stałym uczestnikiem projektu. Problem polega na tym, że odkryłem podstawową wadę projektową, która powoduje jeden z błędów, nad którymi pracuję. Ale czuję, że jeśli wysadzę to na liście mailingowej, wyjdę jako arogancki, a niektóre dyskusje na ten temat toczą się z niektórymi ludźmi. Jak mam to zrobić?
źródło
Jedno z 48 praw władzy :
Tego nauczyłem się po wielu bezsensownych argumentach.
W tym konkretnym przypadku radziłbym wymyślić bardzo prosty i konkretny fragment kodu, który powinien działać, ale nie działa z powodu tej wady projektowej. Jak mówi stare powiedzenie: „Nie można kłócić się z kompilatorem / tłumaczem”.
Drugą rzeczą jest to, że aby mieć wpływ na grupę, musisz być postrzegany jako członek grupy . Mimo że dołączyłeś do firmy, ludzie nie postrzegają cię jeszcze jako członka grupy. Dlatego może być lepiej iść z ustaloną grupą, dopóki nie nauczą się postrzegać cię jako jednego z nich.
źródło
Czy możesz zapytać, dlaczego użyto konkretnego projektu? W ten sposób możesz uzyskać więcej historii, ponieważ mogą istnieć dobre powody, dla których wybrano coś, czego nie znasz. Podejdę do wniosku, że nie jesteś ekspertem, który potrafi rozdzielić projekt, ale zapytanie może być sposobem na zdobycie dodatkowych informacji, aby w końcu móc zapytać o znalezioną wadę, aby wiadomość nie była widoczna jako przynęta na płomień lub trolling.
źródło
Prawdopodobnie nie spodoba ci się to ... ale tutaj ...
Nie, nie zrobiłeś. Gdybyś to zrobił, nie wahałbyś się przed tym. Fakt, że sam nie jesteś pewien „fundamentalnej wady projektowej”, oznacza, że jej nie odkryłeś. Próbując wskazać czyjąś pomyłkę, nie kupujesz żadnych znajomych do korzystania z superlatywów (takich jak „podstawowe”).
Co może odkryli jest nieco lepsza konstrukcja, do wydania ty masz. Prawdopodobnie powinieneś go jednak dokładnie przetestować - ponieważ jesteś nowy w projekcie, istnieje większa niż nawet szansa, że nie masz pojęcia, o czym mówisz.
Nazwanie go „podstawową wadą projektową” z pewnością okaże się aroganckie. W tym przypadku nawet wskazanie, że może to być błąd, nie jest najlepszym pomysłem. Jeśli nie wiesz na pewno (i możesz to potwierdzić), że jest to problem, musisz z pokorą zadawać pytania i badać, aż całkowicie go zrozumiesz . Lepsze niż ktokolwiek, kogo próbujesz przekonać.
Zatrzymać. To nie jest kwestia moralna i nikogo nie zabija (zakładam). Jeśli zamierzasz być długoterminowym członkiem projektu, musisz najpierw zdobyć zaufanie, zanim je przesłuchasz. Napraw błędy, zrób to niesamowicie (według dowolnych wskaźników wartości grupy), zaprojektuj kilka funkcji i zdobądź miejsce przy stole.
Następnie, nie wskazując palcami ani nie nazywając niczego połamanym, pokornie przywołaj sugestię, aby ulepszyć projekt grupy. I lepiej zastanów się nad wszystkimi konsekwencjami i ich rozwiązaniami, bo inaczej zostaniesz zestrzelony za bycie „naiwnym”. Przygotuj się na spór o to, dlaczego Twój projekt jest lepszy. Przygotuj się na przegraną i graj z wdziękiem.
Jeśli twój pomysł naprawdę jest lepszy, albo zostanie ostatecznie zaakceptowany przez grupę (choć być może nie przez oryginalnego projektanta), grupy to nie obchodzi, lub grupa jest głupia. W każdym z tych ostatnich przypadków, dlaczego w ogóle chcesz być częścią grupy?
...
Jeśli jesteś w stanie, alternatywą jest po prostu zakodowanie tego cholerstwa tak cholernie genialnie, że drżą ze zdumienia o twoją umiejętność kodowania i nie mają innego wyboru, jak zaakceptować elegancką prostotę i wieczną prawdę twojego projektu. Deweloperzy zrobić kompetencje szacunkiem, ale trzeba być ostrożnym - kary za niekompetencję (lub nieuzasadnionej arogancji) jest dość ciężka. Ponieważ jednak zadajesz to pytanie, domyślam się, że genialna i nieskrępowana droga arogancji nie jest tak naprawdę opcją. ;)
źródło
Błąd jest błędem i można go tak nazwać. Mówiąc, że jest to spowodowane „wadą projektową”, wskazuje palcem faceta przed tobą (najbardziej podobnego do „tatusia”) i mówi mu, że jest idiotą.
Niepotrzebne i nieproduktywne. Sugeruję:
Gdzie XY i Z rozwiązują problem. Niech ci powiedzą, że to wada projektowa; może być alternatywne rozwiązanie. Albo założenia „wady” mogą przebiegać tak głęboko w całym projekcie, że zmiana go naprawi błąd, ale złamie wszystko inne!
źródło