Jak radzić sobie z „twardym programowaniem”? [Zamknięte]


18

Jestem pewien, że wszyscy napotkali tę osobę w tym czy innym momencie, ktoś łapie wiatr na twój projekt lub pomysł i początkowo wykazuje pewne zainteresowanie. Rozmawiasz o niektórych swoich metodach i zwykle w tym czasie wtrącają się, stwierdzając, jak powinieneś użyć metody X zamiast tego lub po prostu użyć biblioteki Y. Ale nie jako przyjazna sugestia, ale granicząca z przykazaniem. Często powtarzam tę samą radę jak nadgorliwa papuga.

Osobiście lubię odkrywać kierownicę na nowo, kiedy się uczę, a nawet dla zabawy, nawet jeśli okaże się gorzej niż wcześniej. Ale ta osoba najwyraźniej nie jest w stanie odtworzyć ŻADNEJ użyteczności do takich celów lub ewentualnie spróbować czegoś, co nie jest ściśle zgodne z tradycyjnymi praktykami OOP i nie zadowoli się niczym innym, jak tylko ich poczuciem doskonałości, i w ten sposób naturalnie wznieci swoją krytykę szlamem w dół mojej pełnej siły . Co więcej, w końcu zaczynają uzasadniać swoją radę (opóźnienie), wymieniając wszystkie niezwykle złożone rzeczy, które samodzielnie kodowali (zwykle w stylu „zaufaj mi, tworzyłem / używałem programu X od dłuższego czasu , bla bla bla ").

Teraz jestem daleki od bycia mistrzem programowania, prawdopodobnie nawet nie jestem aż tak dobry, i dlatego cenię sobie porady i krytykę, ale myślę, że porady / krytyka mają czas i miejsce. Istnieje również duża różnica między byciem pomocnym a byciem narcystycznym. W przeszłości prawdopodobnie używałbym nieco silniejszego zwolnienia w stylu George Carlin, ale nie sądzę, aby płonące mosty były już najlepszym podejściem.

Czy masz jakieś porady, jak radzić sobie z tego rodzaju chłostą słowną?


10
Lubię też „od nowa wynaleźć koło”. To świetny sposób, aby naprawdę zrozumieć nową technologię. Co z kolei pomaga ci z innymi. Ponadto, szczerze mówiąc, często równie szybkie jest ponowne wynalezienie koła, niż nauka, konserwacja i zmiana czyichś źle zakodowanych, źle udokumentowanych kół.
GrandmasterB

31
Ponowne wynalezienie kół jest świetne do nauki i wysoce zalecane. Jednak dla „prawdziwego” kodu, który będzie robił coś ważnego, wybierz istniejące wypróbowane i przetestowane rozwiązanie!
Peter Boughton,

6
Czasami, kiedy „od nowa wymyślasz koło”, kończysz się budowaniem lepszej pułapki na myszy.
Rusty

2
Robisz kiepskie koło, rozumiesz, że JEST to kiepskie, i idziesz znaleźć fantastyczne koło wykonane przez kogoś, kto wie, jak to zrobić.

1
@Rusty, problemem jest pułapka na myszy, a nie koło;)
Matthew Whited

Odpowiedzi:


36

Nie pozwól im mówić. Umieść je przed klawiaturą. Wyrażenie „ok, pokaż mi” powinno to zrobić. Moje doświadczenie jest takie, że najcięższe ciosy nie są aż tak świetne, a kiedy faktycznie próbują robić to, co mówią, to nie działa i wszystko staje się naprawdę ciche.


1
Mogę mieć nadzieję Szczerze mówiąc, prawdopodobnie są lepszymi programistami ode mnie, ale naprawdę mam trudności z nauką lub przebywaniem w tym samym pokoju, co tępak społeczny obnoszący się ze swoimi umiejętnościami, jakby to była licencja na bycie kompletnym d ***.
Peter G.

1
To, że są lepsze od ciebie, nie oznacza, że ​​zawsze wiedzą, o czym mówią.
Conrad Frix,

Spróbuję wtedy twojej metody, kiedy to się stanie. Dzięki.
Peter G.

2
Słowo kluczowe to Pragmatic .
rwong

1
@PeterG. jak poszło?

17

Programuję od trzydziestu lat. Znam wielu ludzi, którzy uważają mnie za „mistrza programowania”. Chcesz poznać mój brudny mały sekret? Po prostu jestem ledwo kompetentny w kilku obszarach, ale to wszystko. Głównie ssę .

W tamtych latach pracowałem z niesamowitymi geniuszami, nie z geniuszem aktorki na podium, geniuszem, ale z niesamowitym IQ, geniuszem z genialnym geniuszem. Cholera, przeczytałem Knutha.

Jeśli pracujesz ciężko i wystarczająco długo, prędzej czy później zdasz sobie sprawę, że najlepsze, co możesz zrobić, jest naprawdę bardzo nieznaczne w porównaniu z szerokością i głębokością talentów. Nie widzę, jak ktokolwiek może osiągnąć ten punkt i wyjść z niczym innym, jak tylko z najgłębszą pokorą.

Każdy, kto Lordów swoich poglądów nad inną osobą i uważa, że ich droga jest właściwa droga przede wszystkim jest po prostu nie bardzo dobry programista. Masz moje słowo.

Moja rada, jesteś na dobrej drodze, nie palisz mostów. Słuchaj uprzejmie, weź z niego wszystko, co możesz, a potem idź własną drogą.


Myślę, że istnieją różne sposoby patrzenia na „bycie dobrym”, czasem porównuję rodzaj programowania, który robię bardziej do rzemieślnika / rzemieślnika, wątpię, czy kiedykolwiek dokonam przełomu w informatyce lub wymyślę jakiś szalony algorytm, który będzie być dużym przełomem, jednak ludzie, którzy robią takie rzeczy, często nudzą się budując „zwykłe” aplikacje, ponieważ zawsze chcą czegoś coraz trudniejszego, w każdym razie wędruję, ale myślę, że można powiedzieć coś o byciu solidnym programista w kilku obszarach, ponieważ nadal możesz być bardzo cenny dla pracodawcy
programmx10

5

Podobnie jak większość sytuacji społecznych, zależy to od kontekstu.

Jeśli ta osoba odgrywa główną rolę (kontekst prawdopodobnie jest miejscem pracy), to jesteś w pewnym sensie nienawidzony, chyba że możesz przekonać ją do zastosowania innych technik niż te, które wybiorą. Mam nadzieję, że są otwarci na krytykę ze strony swojego zespołu. W wielu przypadkach przekonałem się, że przedstawienie dobrych, opartych na faktach, solidnych argumentów przemawiających za tym, dlaczego twoje konkretne podejście jest lepsze dla projektu, często je przekona. Jeśli nadal są uparci tylko dlatego, że „tak właśnie należy to zrobić” (lub z innego głupiego powodu), to i tak wyglądają źle, a ty wyglądasz, jakbyś przynajmniej próbował być racjonalny. W takim przypadku polecam również sprawdzenie kariery. Więc ...

Jeśli ta osoba jest twoim rówieśnikiem, możesz ją po prostu zignorować i przejść dalej. Lepiej byłoby poprosić ich o wyjaśnienie, dlaczego cenią daną bibliotekę lub podejście. Podczas dyskusji mogą zdać sobie sprawę, że twoje ograniczenia są inne, niż się spodziewali (na przykład nie potrzebujesz „niesamowitej superszybkiej biblioteki X”, ponieważ nie potrzebujesz surowej prędkości pedałowania do metalu, lub nie nie chcesz używać „wstępnie zbudowanego komponentu Y”, ponieważ dążysz do zminimalizowania zależności). Możesz także uzyskać cenny wgląd w niektóre z ich sugestii. Zwykle w takich sytuacjach kończę głównie na swój własny sposób, ale zwykle również zbieram przydatne informacje, przynajmniej patrząc na to, jakie podejście / technologię / bibliotekę popierają.

Jeśli ta osoba jest pod tobą, to powiedz jej, żeby się zepsuła :) Ok ... może być trochę bardziej konstruktywna (nie bądź typem osoby, z którą próbujesz sobie poradzić!) I ponownie spróbuj zrozumieć, co się dzieje i skutecznie się komunikować.

W końcu, jeśli dana osoba jest naprawdę hardkorowym facetem, który nie chce iść na kompromis, nie jest otwarty i nie chce się uczyć; wtedy wszystko, co możesz naprawdę zrobić, to zignorować i spróbować jak najlepiej wykorzystać sytuację.


Prawdopodobnie nie jestem jeszcze wystarczająco dobry, aby znaleźć pracę, więc wszyscy studenci / osoby online / itp. Nie mam problemu z nauką innych metod (naprawdę to doceniam), ale kiedy mówię komuś, że chcę tego spróbować, a następnie odpisuje, stwierdzając, jak okropny jest to pomysł, mam ochotę go zgubić. Być może najlepszym rozwiązaniem jest unikanie.
Peter G.

2
Dla Nicka - nie zignorowałbym nikczemnego kolegi. Mają zdolność podkradania się pod tobą i niszczenia twoich inicjatyw. Ciosy mają również charakter polityczny, więc najlepiej nie lekceważyć ich zdolności do zadawania obrażeń, nawet jeśli są głupi *.
luis.espinal

1
@luis „Ciosy również mają charakter polityczny, więc najlepiej nigdy nie lekceważyć ich zdolności do zadawania obrażeń” ... Dałbym ci +100 za to, gdybym mógł. Byłem tam, poradziłem sobie z tym.
Bill

1
@Peter G - jeśli jesteś studentem. Zignoruj ​​je, przestań rozmawiać. Poruszą się w czasie, podobnie jak ty. Jeśli jesteś zatrudniony ... masz zupełnie inne kłopoty.
szybko_now

5

Spróbuj dowiedzieć się, dlaczego czuje potrzebę ingerencji w ten sposób.

  • Czy boi się, że robisz coś złego i marnujesz pieniądze / czas firmy?
  • Czy jest niepewny i boi się być nieistotny?
  • Czy stara się być pomocny, sugerując lepsze rozwiązanie, ale mu się nie udaje?
  • Czy on nie rozumie twojego celu w badaniu przestrzeni rozwiązań?
  • Czy to jego sposób na bycie przyjaznym?
  • Czy ktoś mu powiedział, że zawsze powinieneś używać X, więc zawsze sugeruje X? Dlaczego mu to powiedzieli?
  • Czy jest sprzedawcą technologii X?

Wszystkie mają różne odpowiedzi.

Dzięki lepszemu zrozumieniu swojego „drażliwego” - zacznij od utraty dla niego tej etykiety - będziesz w stanie znacznie lepiej znaleźć sposób na współpracę.

Możesz także dowiedzieć się, dlaczego tak bardzo ci to przeszkadza. Dlaczego nie jesteś w stanie zignorować jego wkładu lub nieszkodliwie go odbić?


+1 za uznanie, że może nie zdawać sobie sprawy z efektu, jaki wywiera. Większość ludzi, którzy nas denerwują, nie mają pojęcia, co robią, i często tłumaczymy to, co ktoś mówi, na podstawie naszych doświadczeń, które są inne niż ich, i dlatego nadaliśmy znaczenie zachowaniu i ustawieniu „reguł” o których nikt nie wie oprócz nas.
Tim Claason,

2

Przejdź do funkcjonalnego trybu programowania. Większość przeciwników zna Javę i nic więcej. Więc kiedy uderzysz ich czymś dziwnym, na przykład Haskell, Lisp, a nawet Ruby, przestaną być martwe.


1

Powiedziałbym im, żeby się pieprzyli (możesz użyć więcej dyplomatycznych słów, jeśli chcesz.) Lub po prostu je zignorować. Nie ma wielu opcji poza tym, co powiedziałem. (Morderstwo może działać, ale legalność różni się w zależności od kraju).


4
Nie sądzę, że to najlepszy sposób na poradzenie sobie z sytuacją ...
TheLQ

1
Próbowałem mniej dyplomatycznego podejścia, ale nie lubię tego robić. Wrzask sprawia, że ​​czuję się gorzej. Wiele razy miałem ochotę przebić je przez ścianę, ale zwykle są one znacznie większe ode mnie (przychodzi mi na myśl shamu). A przy moim ciele kukurydzy 6 '130 funtów, to byłoby jak próba zaatakowania kuli do kręgli za pomocą środka do czyszczenia rur.
Peter G.

@Peter - Rozważam usunięcie tego, ponieważ nie jest to z mojej strony poważna odpowiedź.
ChaosPandion

1
W porządku. W każdym razie życie potrzebuje więcej komedii / sarkazmu.
Peter G.

Nie sądzę, że kiedykolwiek zostałem popchnięty tak daleko w miejscu pracy, ale prawdopodobnie jest to twój jedyny wybór z ekstremalnym trudem.
JeffO

1

Dlaczego obchodzi Cię to, co mówi ta osoba? Czy to twój szef? Kogo to obchodzi? Każda praca ma faceta, miejmy nadzieję, że nie ciebie, którego unikają lub słyszą, jak schodzi z korytarza i uciekają. Po prostu go nie lubią. Mogą nawet nie wiedzieć dlaczego. Ale taki właśnie jest świat. Bądź serdeczny i kogo to obchodzi. Wygląda na to, że chcesz swojego funta ciała i trochę go poklepać.


Trudne, jeśli pracujesz dla kogoś takiego.
szybko_now

0

W moim ostatnim miejscu pracy był taki facet. Nie tylko miał opinię na temat każdego dyskretnego zadania, nad którym wszyscy inni pracowali, ale także zwinął się i zapytał „co robisz - jestem po prostu zainteresowany!”. właśnie wtedy, gdy podejmowałeś się zadania, zamiast zajmować się własną pracą, do której został przydzielony. To jedna rzecz, która od czasu do czasu ma opinię na temat czegoś - każdy z nas ma poglądy, a produktywne zespoły powinny zawsze być otwarte na uzasadnione opinie swoich rówieśników - ale jest to zupełnie inna perspektywa, gdy dana osoba wielokrotnie odsuwa innych programistów od pracy, prosząc ich o przestańcie to, co robią, i wyjaśnijcie im to, mając nadzieję, że się rozwinąopinia w trakcie rozmowy, którą proponują zamiast pozwolić kolegom na kontynuowanie pracy.

Kiedy ten konkretny facet wypróbował na mnie powyższe słowa, jego wstępna wypowiedź brzmiała: „Co robisz?”, Któremu udzieliłem krótkiego uprzejmego przeglądu podsumowania zadania, które właśnie zaczynałem, na wypadek, gdyby właściwie pytał od niechcenia niż szukanie długiej i niezbyt pouczającej debaty na ten temat, jak podejrzewałem na podstawie bolesnych wcześniejszych doświadczeń, był jego intencją. Kiedy w odpowiedzi na moje ogólne wyjaśnienie powiedział dalej „Nie rozumiem? ...” tonem, który sugerował, że nic nie uszczęśliwiałoby mnie bardziej niż zatrzymanie tego, co robiłem, aby wyjaśnić mu moje zamiary bardziej szczegółowo, ja po prostu powiedział: „Dlaczego trzeba zrozumieć?”, który zatrzymał go martwego w jego utworów.

Każdy inny deweloper w biurze zachichotał głośno, gdy podchodził z powagą do swojego miejsca, nie mogąc odpowiedzieć na moje pytanie. Lekcja tutaj, jeśli mogę się tego spodziewać, jest taka, że ​​z tymi ludźmi zawsze najlepiej jest postępować cywilnie i spokojnie, ale stanowczo. Jeśli nie udaje ci się zrozumieć ich ingerencji w twoją pracę i podważyć wszelkie rozmowy, które grożą, że przejdą tenor kłótni, zanim jeszcze się zaczną, ci ludzie na ogół nie mają dokąd pójść, aby wykoleić twój proces myślowy.


Nie jestem pewien, czy podoba mi się to podejście, wszyscy w zespole powinni wiedzieć, co planują wszyscy inni - podejście i wszystko inne, w przeciwnym razie, jeśli z jakiegoś powodu są wyłączone, nikt nie może ich odebrać. Tam, gdzie to możliwe, cały zespół powinien przyczynić się do techniki, aby zapewnić najlepsze podejście.
Orbling

Nie zgadzam się - jesteśmy zespołami programistycznymi, a nie The Borg. Projektowanie przez komitet nie działa, podobnie jak przerywanie i zmiana przypisań, tak jakby deweloperzy byli tylko wymiennymi częściami. Z pewnością jestem otwarty na inne osoby, które z szacunkiem wnoszą swoje opinie i opinie do mojej pracy, ale jak wspomniano powyżej, rozróżniam posiadanie istniejącej opinii od zwykłego odkładania innych ludzi na bok, prosząc ich, aby przestali robić i spalili czas na wyjaśnianie swoich pomysłów. Niektórzy ludzie lubią słyszeć dźwięk własnego głosu, a ten konkretny twórca należał do tej kategorii.

@orbling, to dla mnie powód zaplanowanego spotkania!

@ Thorbjørn Ravn Andersen: We współczesnym świecie dość często rozdzieliłeś drużyny na kontynenty. Zaplanowane spotkanie może być bardzo trudne do osiągnięcia, w miarę możliwości należy go unikać.
Orbling

@Orbling, odpowiedź wyraźnie mówiła o tym, że programiści znajdują się w tej samej fizycznej lokalizacji. Jednak nawet w przypadku rozproszonych zespołów potrzebujesz koordynacji, aby przez cały czas nie przeszkadzać ludziom.

-2

Uderz ich linią „Nigdy nie powinieneś używać czegoś, czego nie rozumiesz”.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.