Najlepszym sposobem, by otrzymać szybką odpowiedź, jest pytać jak człowiek inteligentny, pewny siebie, posiadający wiedzę, któremu po prostu zdarzyło się szukać pomocy z tym jednym, konkretnym problemem.
Jeżeli wydaje Ci się to zadziwiające, zanim wyślesz jakikolwiek post, czytaj ten dokument jeszcze raz i jeszcze raz - do momentu, aż zrozumiesz.
Oryginalny dokument angielskojęzyczny można znaleźć tutaj.
Dokument ten dostępny jest rownież w językach: duńskim, estońskim, francuskim, niemieckim, hebrajskim, węgierskim, rosyjskim oraz hiszpańskim. Jeżeli chcesz kopiować, rozpowszechniać, tłumaczyć bądź cytować ten dokument, przeczytaj moje zastrzeżenia.
Wiele stron WWW różnych projektów zawiera odnośnik do tego dokumentu. W porządku, właśnie po to powstał. Jednak jeżeli jesteś webmasterem, który zamieszcza taki odnośnik na stronie swojego projektu - umieść obok informację, że nie jesteśmy wsparciem technicznym Twojego projektu!
Okazuje się, że gdy zabraknie takiego zastrzeżenia, wielu idiotów sądzi, że publikując ten dokument, zobowiązaliśmy się do rozwiązywania wszystkich technicznych problemów świata.
Jeżeli czytasz ten dokument, ponieważ potrzebujesz pomocy i sądzisz, że możesz ją uzyskać bezpośrednio od jego autorów, jesteś właśnie jednym z tych idiotów.
Nie zadawaj nam pytań - po prostu Cię zignorujemy. Chcieliśmy pokazać, w jaki sposób uzyskać pomoc od osób zajmujących się oprogramowaniem i sprzętem, z którym masz problem.
Jednak w 99% przypadków to nie my będziemy tymi osobami. Dopóki nie będziesz absolutnie pewien, że jeden z autorów tego dokumentu jest ekspertem w tym, czego potrzebujesz, zostaw nas w spokoju. Wtedy wszyscy będą szczęśliwi.
W naszym świecie rodzaj odpowiedzi, którą otrzymasz na nurtujące Cię pytanie, zależy od sposobu, w jaki je postawisz. Ten dokument nauczy Cię, jak formułować pytania, aby otrzymać w pełni satysfakcjonującą odpowiedź.
Pierwszą rzeczą, jaką należy sobie uzmysłowić, jest to, że lubimy zawiłe problemy oraz dobre, zmuszające do zastanowienia pytania. Gdybyśmy nie mieli takiego podejścia, nie byłoby nas tutaj. Gdy dostarczysz nam interesujące zagadnienie do rozgryzienia, możesz liczyć na naszą wdzięczność; dobre pytania są bodźcem do działania, są jak miłe prezenty. Takie zadania pomagają nam rozwijać umiejętności i często odkrywać rzeczy, na które nie zwracaliśmy wcześniej uwagi lub myśleliśmy o nich inaczej. "Dobre pytanie!" - jest dla nas prawdziwym komplementem.
Często mówi się, że reagujemy niechętnie lub opryskliwie na proste pytania. Czasem może to wyglądać, jakbyśmy odruchowo oschle traktowali i ignorowali tych 'nowych'. W rzeczywistości tak nie jest.
Nie zamierzamy poświęcać naszego czasu na odpowiedzi ludziom niechętnym do samodzielnego myślenia - odróbcie więc swoją pracę domową, zanim zadacie jakiekolwiek pytanie. Tacy ludzie są pożeraczami naszego czasu - zabierają go nam bez opamiętania, marnują każdą chwilę, którą moglibyśmy poświęcić innemu, bardziej interesującemu zagadnieniu lub osobie, która bardziej zasługuje na naszą odpowiedź. Tych pierwszych nazywamy 'łajzami' ('losers', z historycznych względów wymawiane często jako 'lusers').
Zdajemy sobie sprawę, że wiele osób chce korzystać z naszego oprogramowania i nie wszystkich interesują techniczne detale. Dla większości ludzi komputer jest jedynie narzędziem - w dosłownym tego słowa znaczeniu; interesują się innymi rzeczami i żyją po swojemu. Rozumiemy to i akceptujemy - nie spodziewamy się, że każdego zafascynuje to samo, co nas. Jednakże nasz styl odpowiedzi przeznaczony jest dla tych, którzy nieco interesują się tematem i gotowi są aktywnie uczestniczyć w rozwiązywaniu problemu. To się nie zmieni. Nie powinno się zmienić - jeśli tak się stanie, staniemy się mniej efektywni w tym, co robimy najlepiej.
Poświęcamy nasz wolny czas, by odpowiadać na pytania, których liczba momentami wręcz nas przygniata. Więc musimy je ostro filtrować. W szczególności ignorujemy pytania ludzi, którzy wydają się być łajzami. Dzięki temu możemy efektywniej wykorzystać cenny czas na odpowiadanie ludziom, którzy na to zasługują.
Jeśli uważasz, że taka postawa jest wstrętna, poniżająca dla Ciebie bądź arogancka, zastanów się jeszcze raz. Nie błagamy każdego, żeby do nas dołączył - jednak większość z nas chętnie powita Cię w naszym gronie jako równego, jeśli tylko włożysz w to odpowiedni wysiłek. Próba pomocy ludziom, którzy nie są skorzy pomóc sami sobie, jest bezcelowa. Niewiedza jest zrozumiała i dopuszczalna, udawanie głupka - absolutnie nie.
Jak widać, o ile niekoniecznie trzeba być technicznie kompetentnym, aby przyciągnąć naszą uwagę, o tyle koniecznie trzeba prezentować podejście do kompetencji prowadzące - myślenie, skupienie, czujność oraz aktywne uczestnictwo w rozwiązywaniu problemów.
Jeśli nie możesz pogodzić się z takim rodzajem "dyskryminacji", zatrudnij kogoś i płać mu za techniczne wsparcie, zamiast prosić nas o bezinteresowną pomoc.
Jeśli zdecydujesz się jednak zwrócić do nas po pomoc, na pewno nie chciałbyś wyjść na łajzę.
Najlepszym sposobem, by otrzymać szybką odpowiedź, jest pytać jak człowiek inteligentny, pewny siebie, posiadający wiedzę, któremu po prostu zdarzyło się szukać pomocy z tym jednym, konkretnym problemem.
Zanim dzwonić, pytać - przeczytaj ten dokument do końca. Na pytanie o kodzie odpowiedź "85".
Zanim wyślesz email z zapytaniem, zadasz pytanie na grupach dyskusyjnych czy też na innym forum, postaraj się znaleźć odpowiedź:
przeszukując sieć,
czytając dokumentację,
studiując FAQ,
eksperymentując,
zadając pytanie doświadczonemu koledze,
Gdy będziesz zadawać pytanie, zaznacz, że zrobiłeś już wymienione powyżej rzeczy. Dzieki temu będziemy wiedzieć, że nie jesteś leniwy i nie marnujesz cudzego czasu. Jeszcze lepiej będzie, gdy przedstawisz, czego się dowiedziałeś dzięki "zaliczeniu" powyższych punktów. Lubimy pomagać ludziom, którzy pokazują, że potrafią się uczyć na pytaniach.
Próbuj znaleźć odpowiedź, używając wyszukiwarki Google do znalezienia fraz odpowiadających komunikatom o błędach, jakie dostałeś (i przeszukuj zarówno archiwa grup dyskusyjnych, jak i strony WWW). To może naprowadzić Cię na poprawki w dokumentacji bądź wątki na grupach dyskusyjnych, które przyniosą odpowiedź na Twoje pytanie. A nawet jeśli nie, to dodanie "przeszukałem sieć pod kątem wystąpienia tego komunikatu" do maila lub posta z prośbą o pomoc jest dobrym pomysłem.
Przygotuj pytanie. Przemyśl je. Im lepiej pokażesz, że włożyłeś wysiłek w próbę rozwiązania problemu zanim zapytałeś nas, tym większe będzie prawdopodobieństwo, że rzeczywiście uzyskasz pomoc.
Nie zadawaj złych pytań. Jeśli pytanie, które zadasz, będzie oparte na błędnym założeniu, ktoś z nas (prawdopodobnie myśląc: "Głupie pytanie...") odpowie Ci krótko i dosadnie, mając nadzieję, że nauczysz się czegoś, jeśli dostaniesz to, o co prosiłeś, a nie to, co było Ci naprawdę potrzebne.
Nigdy nie zakładaj, że należy Ci się odpowiedź. Nie należy się - w końcu nie płacisz za to. Otrzymasz odpowiedź, jeżeli na nią zasłużysz - gdy zadasz solidne, interesujące i zmuszające do myślenia pytanie. Takie, które może wzbogacić wiedzę ogółu, a nie takie, które jedynie wyciąga od innych informacje.
Bardzo dobrym początkiem będzie wykazanie chęci współpracy w procesie rozwiązywania problemu. Zadając pytania typu: "czy ktoś może dać mi jakąś wskazówkę", "czego tu brakuje" lub "czy jest jakaś strona, gdzie mógłbym to sprawdzić", masz większą szansę na odpowiedź, niż gdyby pytanie brzmiało: "Proszę o przesłanie dokładnej procedury". Daje to pewność, że dokończysz proces, jeśli tylko ktoś Cię odpowiednio nakieruje.
Z doświadczenia wiemy, że ludzie, którzy niedbale i niechlujnie piszą posty, najczęściej są niedbali i niechlujni w myśleniu i programowaniu. Odpowiadanie na pytania takim ludziom mija się z celem, wolimy inaczej wykorzystać czas.
Formułowanie swoich pytań jasno i zrozumiale jest zatem bardzo ważne. Jeśli nie chce Ci się tego zrobić, nie oczekuj, że zwrócimy na Ciebie uwagę. Zadbaj o poprawność językową. Nie chodzi tu o sztywność czy oficjalność - porozumiewamy się raczej językiem swobodnym, żargonowym i z humorem, jesteśmy jednak bardzo precyzyjni. Precyzja jest konieczna - dzięki temu widać, że jesteś myślący i uważny.
Pisząc, używaj poprawnie znaków przestankowych oraz wielkich i małych liter. Nie PISZ WIELKIMI LITERAMI - jest to niegrzeczne i rozumiane jako krzyk. (Pisanie samymi małymi literami jest nieco mniej drażniące, jednak trudne do odczytania. Alanowi Coxowi to ujdzie, ale Tobie nie.)
Jeśli piszesz jak półanalfabeta, zostaniesz prawdopodobnie zignorowany. Pisanie l337 h4X0r - 'haksorskim alfabetem' - jest podłożeniem głowy pod topór i gwarantuje grobową ciszę (w najlepszym przypadku zostaniesz uraczony sarkazmem i kilkoma lekceważącymi radami).
Jeśli zadajesz pytanie na forum, na którym nie używa się Twojego rodzimego języka, możesz spodziewać się pewnej tolerancji dla błędów gramatycznych i ortograficznych - ale zerowej dla lenistwa (tak jest, zwykle potrafimy dostrzec różnicę). Ponadto jeżeli nie znasz języka rozmówców - pisz po angielsku. Raczej olewamy pytania zadane w niezrozumiałym dla nas języku; angielski uważany jest za język 'roboczy' Internetu. Pisząc po angielsku, minimalizujesz prawdopodobieństwo odrzucenia swojego pytania.
Opisz swój problem lub błąd, który znalazłeś, dokładnie i przejrzyście.
Opisz środowisko, w którym się pojawia
Opisz, co sprawdziłeś, próbując zrozumieć problem, zanim zadałeś pytanie.
Opisz, jakie kroki podjąłeś, żeby ustalić, co jest problemem, zanim zadałeś pytanie.
Zrób wszystko, co w Twojej mocy, by odpowiedzieć na pytania, jakie zostaną Ci przez nas zadane.
Nie pisz co, według Ciebie powoduje problem (gdyby Twoje domysły były słuszne, nie potrzebowałbyś pomocy). Upewnij się, że podajesz konkretne objawy problemu, a nie własną interpretację czy teorię. Interpretacje i diagnozy pozostaw nam. Jeśli uważasz, że Twoje domysły mogą być ważne, zaznacz, że tylko zgadujesz, i wyjaśnij, czemu to nie wystarczyło.
Nieprecyzyjne pytania są uważane za bardzo czasochłonne. Ludzie, którzy z pewnością udzielą Ci dobrej odpowiedzi, są również bardzo zajęci (biorą na siebie wiele obowiązków). Są uczuleni na czasochłonne pytania, więc na nieprecyzyjne też.
Najprawdopodobniej uzyskasz użyteczną odpowiedź, jeśli wyjaśnisz dokładnie, czego oczekujesz (dostarczenia wskazówki, przesłania kodu, sprawdzenia Twojej łatki itp.). To pozwoli skupić wysiłek na konkretnych czynnościach i pośrednio ograniczy czas i energię, którą trzeba włożyć, by Ci pomóc. To dobrze.
By zrozumieć świat, w którym żyją fachowcy, pomyśl o fachowości jako o niezmiernie obfitych zasobach i bardzo krótkim czasie, który masz na korzystanie z nich. Im mniej czasu fachowcy spędzą nad zrozumieniem pytania, tym prawdopodobniej otrzymasz odpowiedź od kogoś naprawdę dobrego (i bardzo zajętego).
Spraw, by forma Twojego pytania skróciła czas potrzebny fachowcowi na zagłębienie się - często nie sprowadza się to jedynie do uproszczenia pytania. Zatem na przykład "Czy możesz dać mi jakąś wskazówkę do wyjaśnienia X?" jest zwykle o wiele mądrzejsze niż "Czy możesz mi wyjaśnić X?". Jeśli jakiś kawałek kodu nie działa prawidłowo, zwykle lepiej poprosić kogoś, by wyjaśnił, co jest nie tak, niż prosić o naprawienie.
To Twój problem, nie nasz. Zaznaczenie pilności prawdopodobnie przyniesie odwrotny skutek - większość z nas po prostu skasuje takie wiadomości jako przejaw niegrzecznych i samolubnych prób natychmiastowego skoncentrowania na sobie uwagi i wymuszenia specjalnego traktowania.
Od takiego zachowania istnieje jeden wyjątek. Zaznaczenie pilności może być wskazane, jeżeli problem dotyczy ważnego programu, wykorzystywanego do zadań, które mogą nas interesować. W takim przypadku - kiedy jesteś pod presją czasu i zaznaczyłeś to grzecznie - ludzie mogą się wystarczająco zainteresować, by dać odpowiedź szybciej.
Jednak jest to dość ryzykowne z powodu subiektywnego podejścia do znaczenia usług lub serwerów - nasza ocena będzie prawdopodobnie inna od Twojej. Post z Międzynarodowej Stacji Kosmicznej uszedłby, ale post wynikający z chęci poprawienia sobie samopoczucia lub z powodów politycznych - raczej nie. W rzeczy samej post "Pilne, pomóżcie mi ocalić foczki!" prawdopodobnie spowoduje, że utoniesz w ogólnym flame autorstwa nawet tych, którzy uważają młode foczki za bardzo ważne.
Jeżeli wydaje Ci się to zadziwiające, zanim wyślesz jakikolwiek post, czytaj ten dokument jeszcze raz i jeszcze raz - do momentu, aż zrozumiesz.
Bądź uprzejmy. Używaj zwrotów 'proszę' i 'z góry dziękuję'. Doceniaj to, że ludzie spędzają czas, by Ci pomóc zupełnie za darmo.
Kiedy już rozwiązałeś problem, wyślij wiadomość do tych, którzy Ci pomogli. Daj znać, jak poszło, i podziękuj. Jeśli w rozwiązanie problemu była zaangażowana lista czy grupa dyskusyjna, podziękowania wypada wysłać też tam.
Najlepiej, gdyby podsumowanie było w tym samym wątku co oryginalne pytanie i miało dodane słowo "ROZWIĄZANIE", "ODPOWIEDŹ" lub coś równie oczywistego w temacie. Na listach dyskusyjnych o dużym ruchu osoba, która widzi wątek o "problemie X" zakończony wiadomością z tematem "Problem X - ROZWIĄZANY" wie dzięki temu, że nie musi poświęcać czasu na studiowanie tego wątku (chyba że uważa "problem X" za interesujący) i może analizowac inny problem.
Taka wiadomość nie musi być długa czy zawiła; proste "Witam - to był zepsuty kabel sieciowy! Dziękuję wszystkim - Bolek" jest lepsze niż nic. Tak naprawdę, jeżeli wyjaśnienie nie zawiera technicznych szczegółów, to krótkie, treściwe podsumowanie jest lepsze niż długa rozprawa. Powiedz, jak rozwiązałeś problem, ale nie musisz wdawać się w szczegóły.
Przy zaawansowanych problemach dobrze jest wysłać wiadomość z podsumowaniem historii rozwiązania bądź prób rozwiązania. Opisz także wynik wysiłków. Napisz, co zadziałało, a potem wskaż ślepe uliczki, które można ominąć. Potem, bo podsumowanie ma pokazywać rozwiązanie, a nie być nowelą detektywistyczną. Przedstaw osoby, które Ci pomogły - w ten sposób zyskuje się przyjaciół.
Pomyśl, jak możesz pomóc innym w uniknięciu jakiegoś problemu. Zastanów się, czy poprawka w dokumentacji lub FAQ pomoże. Jeżeli tak, zaproponuj poprawki maintainerowi.
Dla nas takie zachowanie jest ważniejsze niż zwykła uprzejmość. W taki sposób zdobywa się reputację człowieka, który zachowuje się w porządku, a to bardzo pożyteczna sprawa.
Istnieje starodawna i poważana tradycja: jeśli w odpowiedzi ujrzysz "RTFM", osoba, która to napisała, sugeruje Ci, byś Przeczytał Przyjazną Dokumentację (Read The Friendly Manual). I najczęściej ma rację. Zatem zrób to.
RTFM posiada młodszego krewniaka: jeśli w odpowiedzi dostaniesz "STFW", osoba, która to napisała, sugeruje Ci, że powinieneś Przeszukać Przyjazną Sieć (Search The Friendly Web). I najczęściej ma rację. Zatem zrób to.
Często osoba odpowiadająca w ten sposób ma przed oczami dokument lub stronę WWW, której potrzebujesz, i widzi to, czego szukasz. Taka odpowiedź oznacza zatem, że a) potrzebna Ci informacja jest łatwa do odnalezienia, b) nauczysz się więcej, szukając jej samodzielnie, niż jeśli podać Ci ją na tacy.
Nie powininno Cię to urazić. Nie zignorowaliśmy Cię i w ten sposób daliśmy Ci do zrozumienia, że jednak zasłużyłeś na odpowiedź - właśnie ją dostałeś. Powinieneś raczej być wdzięczny za babcine pobłażanie.
Jeżeli nie zrozumiałeś odpowiedzi, nie wysyłaj natychmiast prośby o wytłumaczenie. Aby zrozumieć odpowiedź, zrób to, co wtedy, gdy rozwiązywałeś problem (manuale, FAQ, strony WWW, doświadczeni znajomi). Jeśli wciąż będziesz potrzebował wyjaśnień, zaznacz, co już zrozumiałeś.
Na przykład załóżmy, że napiszę: "Wygląda na to, że masz zapchane eglebegle, musisz wyczyścić".
Przykładem złego pytania jest: "Co to jest eglebegle?".
Przykładem dobrego pytania jest: "Przeczytalem dokumentację i jedyne eglebegle, jakie znalazłem, wspomniane są przy -z i przy -p foobarach. Żaden z nich nie wspomina o czyszczeniu eglebegle. Chodzi o jeden z nich, czy coś przegapiłem?"
Poniżej kilka przykładów klasycznych głupich pytań - zobacz, co o tym sądzimy i dlaczego nie odpowiadamy.
P: Gdzie znajdę program X?
O: W tym samym miejscu gdzie ja znalazłem. Nie pajacuj - na drugim końcu jakiejś wyszukiwarki. Boże, czy ludzie jeszcze nie wiedzą, jak używać Google?
P: Jak mógłbym wykorzystać X do zrobienia Y?
O: Jeżeli chcesz zrobić Y, powinieneś zapytać bez określania metody, która może okazać się niewłaściwa. Pytania tego typu wskazują, że osoba coś tam wie o X, ale nie ma pojęcia o Y. Najlepiej ignorować takich ludzi, dopóki nie sformułują precyzyjnie swojego problemu.
P: Jak mogę skonfigurować wygląd shella, którego używam?
O: Jeżeli jesteś wystarczająco bystry, by zadać takie pytanie, to jesteś także wystarczająco bystry, by RTFM.
P: Czy mogę skonwertować dokument AcmeCorp do formatu TeX przy użyciu konwertera Bass-o-matic?
O: Sprawdź. Dzięki temu (a) poznasz odpowiedź i (b) przestaniesz marnować mój czas.
P: Mój {program, konfiguracja, polecenie SQL} nie działa.
O: To nie jest pytanie. Nie interesuje mnie granie w "Dwadzieścia pytań", żeby wyciągnąć, o co tak naprawdę Ci chodzi - mam lepsze rzeczy do roboty. Typowe reakcje:
Chciałbyś jeszcze coś dodać?
Ojej, to straszne. Mam nadzieję, że dasz sobie z tym radę!
I co to ma z nami wspólnego?
P: Mam problem z moim Windowsem. Czy możesz mi pomóc?
O: Tak. Wyrzuć ten microsoftowy śmieć i zainstaluj otwarty (open-source) system operacyjny, jak np. Linux czy BSD.
P: Mam problem z zainstalowaniem X. Czy możesz mi pomóc?
O: Nie. Musiałbym mieć bezpośredni dostęp do Twojej maszyny, by zdiagnozować Twój problem. Poproś kogoś o doraźną pomoc na lokalnej grupie związanej z X.
P: Jak mogę zhackować roota/wykolidować opów/czytać cudze maile?
O: Jesteś niską formą życia, skoro chcesz takich rzeczy. Objawem ciężkiej głupoty jest proszenie nas o pomoc w takich sprawach.
Bądź łagodny. Stres związany z problemem może powodować, że ludzie zachowują się opryskliwie bądź głupio, nawet jeśli w rzeczywistości tacy nie są.
Nie ma potrzeby publicznego upokarzania kogoś, kto naprawdę nie wiedział, co zrobić, a jego pomyłka nie wynikła ze złej woli. Zupełny początkujący może nie wiedzieć, jak przeszukiwać archiwa ani gdzie znaleźć FAQ.
Jeżeli nie wiesz czegoś na pewno, zaznacz to! Zła, ale wiarygodnie brzmiąca odpowiedź jest gorsza niż żadna. Nie kieruj nikogo na złą ścieżkę tylko dlatego, że fajnie jest brzmieć jak ekspert. Bądź skromny i uczciwy; dawaj dobry przykład każdemu z Twoich odbiorców.
Jeżeli nie możesz pomóc - nie przeszkadzaj. Nie wypisuj "śmiesznych" instrukcji, które mogą doprowadzić Twoich odbiorców do kłopotów - ktoś nieuświadomiony może wziąć Twój żart za dobrą monetę.
Zadawaj pytania sondujące, by wydobyć więcej szczegółów. Jeżeli robisz to dobrze, odbiorca może się czegoś nauczyć - podobnie jak Ty. Spróbuj zamienić pytania złe w dobre. Pamiętaj, że każdy kiedyś był początkujący.
Rzucanie "RTFM" jest uzasadnione przy odpowiadaniu ewidentnie leniwym łajzom; najlepiej polecić lekturę dokumentacji (nawet jeśli będzie to tylko odesłanie do Google z odpowiednim słowem kluczowym).
Jeżeli odpowiadasz, rób to treściwie. Nie proponuj skomplikowanych obejść, jeśli pytanie wynika z błędnego rozumowania lub użycia złego narzędzia. Wskaż dobre. Przeformułuj pytanie.
Niech każdy ma szansę wyciągnąć coś z pytania. Gdy trafi się dobre pytanie, pomyśl "jak zmienić dokumentację bądź FAQ, by nikt nie musiał ponownie na to odpowiadać?". Prześlij propozycję opiekunom dokumentacji/FAQ.
Jeżeli musiałeś trochę poszukać, aby odpowiedzieć na pytanie, raczej zaproponuj pytającemu wędkę niż usmażoną rybę. Odpowiadanie jest jak danie posiłku głodnemu, ale przedstawienie drogi rozumowania jest jak nauczenie go samodzielnego zdobywania żywności.