Jak poprawnie zadawać pytania, jeśli jesteś początkującym informatykiem

Hi!

Przez ostatnie kilka lat dużo pracowałem z osobami, które dopiero rozpoczynają swoją karierę w IT. Ponieważ same pytania i sposób ich zadawania przez wiele osób są podobne, postanowiłem zebrać swoje doświadczenia i rekomendacje w jednym miejscu.

Dawno temu czytałem статью 2004 autorstwa Erica Raymonda i zawsze ściśle się tego trzymał w swojej karierze. Jest dość duży i jest skierowany bardziej do administratorów systemu. Muszę pomóc ludziom, którzy często nie mają żadnego doświadczenia w rozwoju, zostać juniorami i rozpocząć karierę.

Tym, którzy już zostali lub wciąż marzą o zostaniu początkującym programistą, mogę udzielić następujących rekomendacji:

  • Przestudiuj problem samodzielnie
  • Najpierw zakomunikuj cel, a potem określ problem.
  • Pisz kompetentnie i na temat
  • Zadawaj pytania pod wskazany adres i podziel się rozwiązaniem
  • Szanuj czas innych ludzi
  • Spójrz szerzej

A teraz więcej szczegółów.

Przestudiuj problem samodzielnie

Uczysz się języka programowania z książki lub kursu. Wzięliśmy przykładowy kod, uruchomiliśmy go, ale wystąpił błąd, który był dla Ciebie niejasny. Według książki powinno działać. Ale wierzysz własnym oczom - to nie działa. Jakie są opcje?

  • Zdecyduj, że nigdy nie zostaniesz programistą, bo cały świat jest przeciwko Tobie i nawet działające przykłady nie działają. Przestań się uczyć;
  • Zdecyduj, że nigdy nie zostaniesz programistą, bo jesteś za głupi lub go nie masz. Przestań się uczyć;
  • Zacznij pytać wszystkich znajomych, którzy są przynajmniej w jakiś sposób powiązani z IT, żądając, aby dowiedzieli się, dlaczego to nie działa w Twoim przypadku. Dowiedz się o sobie wielu nowych rzeczy, obrażaj się. Przestań się uczyć;

Która opcja jest poprawna? Tutaj jest:

Zrozum, że nie jesteś wyjątkowy (bez względu na to, co mówi Twoja mama i babcia), a świat IT nie jest tak prosty, jak to rozgłaszają, zapraszając Cię na kursy i webinary.

Zrozumienie, że nie jesteś wyjątkowy, prowadzi do uświadomienia sobie, że z Twoim problemem prawdopodobnie zetknęły się już dziesiątki, setki, tysiące osób. Jeśli jesteś początkującym programistą, możesz łatwo czegoś nie zauważyć, zainstalować lub skonfigurować. Oto lista kontrolna, którą sugeruję przejrzeć, zanim zorientujesz się, że nie możesz rozwiązać problemu samodzielnie i potrzebujesz pomocy:

  • Upewnij się, że pytanie jest wyjątkowe i nie ma na nie odpowiedzi w Internecie
  • Dokładnie przestudiuj przyczynę problemu, a nie skutek
  • Oceń możliwe rozwiązania problemu, ich zalety i wady
  • Pomyśl o alternatywnych możliwościach osiągnięcia swojego celu
  • Zastanów się, o co możesz zostać zapytany, i przygotuj z wyprzedzeniem odpowiedzi.

С pierwszy Rzecz w tym, że wszystko jest banalne: jeśli treść błędu jest dla Ciebie całkowicie niezrozumiała, skopiuj ją do Google i uważnie przeczytaj tekst z linków.

drugi: na przykład, jeśli Twój kod ulegnie awarii i wyświetli się błąd „Nie mogę podłączyć biblioteki innej firmy”, oznacza to, że problem nie leży w Twoim kodzie. Rzecz w tym, że nie zainstalowałeś jakiejś biblioteki, z której chcesz korzystać. Oznacza to, że musisz dowiedzieć się, jak go zainstalować, a nie jak naprawić kod.

trzeci и czwarty całkiem podobne: A co, jeśli problemem jest ta biblioteka i muszę po prostu poszukać innej? Co się stanie, jeśli w ogóle nie skorzystam z biblioteki innej firmy, ale napiszę własny kod przy użyciu standardowych narzędzi?

Piąta Ten punkt prowadzi nas do następnej części: zastanów się, o co osoba, do której się zwracasz, może Cię zapytać i przygotuj odpowiedzi.

Najpierw zakomunikuj cel, a potem określ problem.

Celem jest to, co chciałeś zrobić. Na przykład napisz kod, który trafia do Internetu i zapisuje 10 zdjęć ze śmiesznymi kotami. Problem polega na tym, że widzisz błąd w konsoli, ale nie widzisz 10 śmiesznych kotów. Nie zaczynaj pytania od problemu. Zacznij od celu, zakończ problemem. Jeśli osoba, do której zwrócisz się o pomoc, jest doświadczonym programistą i dużo się na tym zna, to prawdopodobnie będzie w stanie zaproponować Ci prostsze i bardziej eleganckie rozwiązanie problemu. Jeśli wybrałeś już najprostszą i najbardziej elegancką opcję, on jasno zrozumie, co i dlaczego chcesz zrobić, a to przyspieszy otrzymanie odpowiedzi.

Dobre pytanie:

Chcę codziennie ratować 10 śmiesznych kotów, aby się śmiać i przedłużać swoje życie. W tym celu napisałem następujący kod: […]. Oczekuję, że połączy się z serwerem FTP i pobierze stamtąd nowe zdjęcia. Jednak kiedy go uruchomiłem, zobaczyłem ten błąd: […] Chociaż mogę uzyskać dostęp do tego serwera przez przeglądarkę.

Szybka odpowiedź:

Nie powinieneś był zabierać tej biblioteki; nikt jej nie wspierał ani nie rozwijał przez długi czas. Lepiej weź ten - sam pobieram do niego zdjęcia z kotami!

Złe pytanie:

Witam, mój kod wygenerował następujący błąd […], czy wiesz, co może być nie tak?

Oczywista odpowiedź:

Cześć. Nie, nie wiem.

Pisz kompetentnie i na temat

Nie ma potrzeby wylewać strumienia myśli na osobę. Osoba, do której zwróciłeś się o rozwiązanie problemu, jest zajęta swoimi sprawami. Upewnij się, że szybko zrozumie, na czym polega Twój problem i czego od niego chcesz. Jeśli masz problemy z umiejętnością czytania i pisania, skorzystaj z internetowych usług sprawdzania pisowni i interpunkcji. Możesz usuwać śmieci z wiadomości bez usług online. Nie nalewaj wody, nie zaczynaj z daleka. Pisz krótko, zwięźle i na temat. Podaj przykłady.

Źle:

- cześć, jak poszło))) Próbuję w skrócie złożyć projekt, ale mi nie działa, z jakiegoś powodu zawiesza się O_o, chociaż wydaje się, że wszystko zrobiłem dobrze, proszę przyjść) )))) faktycznie jest dla mnie coś niezrozumiałego w konsoli (((już dobrze, próbowałem wszystkiego, nic nie działa, ahhh(

Dobry:

— Cześć, próbuję rozpocząć projekt, ale pojawił się problem. Zawiesza się natychmiast po wydaniu polecenia docker-compose up, oto dziennik uruchamiania i błąd: […] Czy możesz mi powiedzieć, jak to rozwiązać?

Zadawaj pytania pod wskazany adres i podziel się rozwiązaniem

Nie powinieneś zadawać pytania w wiadomości prywatnej do konkretnej osoby, chyba że zostałeś poinformowany, że powinieneś zadać to pytanie konkretnie. Lepiej napisać do grupy osób, ponieważ:

  • Każdy jest zajęty rozwiązywaniem własnych problemów. Szansa, że ​​ktoś na czacie ogólnym lub na forum poświęci Ci czas, jest większa.
  • Szansa, że ​​ktoś na czacie ogólnym będzie wiedział, jak Ci pomóc, jest większa.
  • Zostaw innym możliwość znalezienia tego samego pytania i odpowiedzi później.

Spójrz na ostatni punkt. Czy nauczyłeś się już, że problemy należy próbować rozwiązywać samodzielnie? Czy korzystałeś już z wyszukiwania na czacie/forum/grupie, ale nie znalazłeś żadnej wzmianki o swoim problemie? OK, w takim razie zapytaj.

Z drugiej strony nie ma co niepotrzebnie niepokoić ludzi. Jeśli to możliwe, usuń ze swojej listy mailingowej każdego, kto nie może Ci pomóc. Im więcej wiadomości otrzyma dana osoba, tym mniejsze jest prawdopodobieństwo, że przeczyta je wszystkie. Nie namawiaj ludzi do wyłączania alertów lub po prostu ignorowania wiadomości.

Z pewnością Twoje doświadczenie może przydać się komuś innemu. Oszczędź czas sobie i innym, publikując odpowiedź lub rozwiązanie. Następny nowicjusz, jeśli już wie, o czym tu mówimy, nie będzie nikomu przeszkadzał - znajdzie Twoje rozwiązanie poprzez wyszukiwanie. Dlaczego mówię, że możesz zaoszczędzić czas? Ponieważ możesz napotkać ten problem za rok i nie pamiętać, jak go rozwiązałeś. Wyszukiwanie znów Cię uratuje.

Szanuj czas innych ludzi

Ułatw sobie życie osobom, które prosisz o pomoc.

Upewnij się, że wysyłane linki działają. Spróbuj otworzyć go w trybie incognito. Jeśli łącze wymaga autoryzacji, pojawi się błąd dostępu. Przykładowo, jeśli wgrałeś kod do prywatnego repozytorium, lub wysłałeś link na Dysk Google, do którego tylko Ty masz dostęp, osoba zobaczy błąd i będzie musiała poświęcić czas na poinformowanie Cię o tym, a następnie poczekać, aż skonfigurować dostęp. Upewnij się, że rozmówca od razu zobaczy, o czym mówisz.

Nie spodziewaj się, że ktoś będzie chciał pamiętać, o co prosiłeś dwa dni temu. Wyślij informację jeszcze raz, przypomnij kontekst. Nikt nie chce przeszukiwać korespondencji pod kątem tego, co masz pod ręką. Jeśli jesteś zbyt leniwy, aby powielać informacje, aby ludzie nie tracili czasu na wyszukiwanie, nie potrzebujesz pomocy.

Nie wyrywaj tego z kontekstu. Jeśli wyślesz log z błędem, oczywiste jest, że musisz załączyć nie tylko sam błąd, ale także kod, który go spowodował, wraz z przykładem tego, co się zepsuł.
Jeśli istnieje ustalony proces rozwiązywania problemu, postępuj zgodnie z nim. Nie ma potrzeby wymyślania koła na nowo, jeśli istnieje już artykuł zawierający instrukcje krok po kroku.

Nie powinieneś próbować uzyskać odpowiedzi od jednej osoby różnymi kanałami (napisz na Slack, Skype, Telegram) w tym samym czasie - będzie to nieprzyjemne dla tej osoby.

Nie ma potrzeby pisać tej samej wiadomości do kilku osób na raz, w nadziei, że przynajmniej ktoś ci odpowie. Wszystkie te osoby mogą udzielić Ci odpowiedzi (najprawdopodobniej będzie taka sama), ale wszystkie na jakiś czas zostaną oderwane od swojej pracy. Korzystaj z czatów grupowych.

Spójrz szerzej

Wszystko, o czym tu mówiliśmy, ma zastosowanie również poza dziedziną IT. Postępuj zgodnie z tymi zasadami w supermarkecie, serwisie samochodowym, na wakacjach w innym kraju, komunikując się z przyjaciółmi i rodziną. Pokaż innym, że cenisz ich czas i nie chcesz zawracać im głowy drobiazgami. Pokaż, że poświęciłeś czas i wysiłek, próbując samodzielnie rozwiązać problem, ale nie udało Ci się to i naprawdę potrzebujesz pomocy. Z wdzięcznością ludzie zrozumieją Twoje problemy i pomogą Ci je rozwiązać.

Źródło: www.habr.com

Dodaj komentarz