Wizards of code logoWizards of code logo

Jak skutecznie zadawać pytania techniczne?

jak zadawac pytania

Czego się dowiesz?

  • z jakimi błędami podczas zadawania pytań spotkałem się jako mentor,
  • jak sam zadaję pytania techniczne,
  • jak pomagam robić to lepiej moim uczniom,

Zastanówmy się: "Czy można źle zadać pytanie?". Zadawanie pytań nie jest złe, ale niewłaściwe sformułowanie może opóźnić otrzymanie odpowiedzi. Skupmy się więc nad tym jak robić to skutecznie i szybko otrzymać precyzyjną odpowiedź. Przede wszystkim nie można się nigdy wstydzić tego, że czegoś się nie wie. Nauka trwa całe życie. Z moich obserwacji wynika, że najlepsze postępy osiągają Ci, którzy śmiało zadają pytania i starają się zrozumieć dokładnie jak coś działa. Nie bój się pytać, bo kto pyta nie błądzi! 😃

W zdalnej pracy posiadanie takiej listy kroków jest szczególnie ważne. Czasem rundy pytanie - odpowiedź potrafią się ciągnąć wiele godzin, a nawet dni jeśli pracujemy w różnych strefach czasowych. Do trudniejszych zagadnień czasem warto po prostu umówić się na szybkiego call'a lub spotkanie.

Zanim zadasz pytanie warto sobie wyznaczyć swój własny czas na research i poszukanie rozwiązania samodzielnie, bo daje to największą satysfakcję. Na projektach komercyjnych to będzie krótszy czas, bo nie chcemy przepalać wielu godzin na szukanie rozwiązania. Ten wstępny research pozwala też naprowadzić osobę, którą pytamy na problem który próbujemy rozwiązać i lepiej zadać pytanie.

Pamietaj, że zawsze najszerszy kontekst pytania zna osoba która je zadaje. Brak kontekstu generuje dodatkowe pytania przez co opóźnia odpowiedź. Często spotykałem się z sytuacją, że jedno pytanie ze strony współpracownika bądź ucznia rodziło kilka pytań z mojej strony. Stworzyłem dla Ciebie listę punktów, które pomogą Ci otrzymać odpowiedź jak najszybciej. Przejdźmy do listy:

  1. Bezpośrednie pytanie: Najważniejsze to nie pytaj czy możesz zapytać lub czy ktoś zna daną rzecz, po prostu zadaj pytanie i powiedz z czym masz problem.
  2. Dokładny opis sytuacji: Na początek opisz dokładnie co się dzieje, jakie są błędy i podaj konkretny plik/funkcję. Przeglądanie całego repozytorium w poszukiwaniu pliku, który sprawia problem zabiera sporo czasu osobom, które chciałyby Ci pomóc.
  3. Cel: Opisz co chcesz zrobić, jaki jest cel zadania, co chcesz osiągnąć, ewentualnie podaj link do zadania lub jego treść.
  4. Kod: Nie wrzucaj kodu w formie screenów, a tym bardziej w formie zdjęć monitora 🙄 Krótki kod możesz wrzucić bezpośrednio na Discorda/Slacka przy pomocy formatowania. Większy kod wrzuć na stronę live, wystaw Pull Request lub przekaż link do repozytorium.
  5. Twoje działania: Opisz co już zrobiłeś/aś, czego próbowałeś/aś, podaj linki do źródeł z których korzystałeś/aś. Napisz jak najwięcej informacji na temat problemu i Twoich prób jego rozwiązania.

Przykładowe strony do wrzucania kodu "live":

  1. codepenhttps://codepen.io/
  2. codesandboxhttps://codesandbox.io/

Po co nam live?

Wersja live jest przydatna, bo osoba pomagająca może na żywo sprawdzić, czy rozwiązanie które zaproponuje jest prawidłowe. Nawet jeżeli masz repozytorium, to warto udostępnić jakąś formę podglądu projektu. Możesz też zrobić deploy na github pages lub darmowego vercela jeśli to problem frontendowy.

Podsumowanie

  1. Zadaj pytanie bezpośrednio.
  2. Napisz gdzie i z czym masz problem.
  3. Napisz co chcesz zrobić.
  4. Udostępnij swój kod.
  5. Napisz co już zrobiłeś/aś.

Źródła i inspiracje:

How to ask technical questionshttps://www.freecodecamp.org/news/how-to-ask-good-technical-questions/

Jak zadawać pytania?https://www.youtube.com/watch?v=ytSTa2ng5Ts