Ten tekst jest zaplanowany i napisany jako uzupełnienie do "».
Od razu powiem, że zgadzam się z Mattem Birnerem praktycznie w każdej kwestii. Mam jednak kilka dodatków, które uważam za wystarczająco ważne i chciałbym się nimi podzielić.
Zdecydowałem się napisać tę notatkę, ponieważ przez siedem lat spędzonych na SO, wystarczająco dobrze poznałem społeczność od wewnątrz. Odpowiedziałem na 3516 pytań, zadałem 58, trafiłem do hall of fame (top 20 na świecie) w obu językach, którymi piszę na co dzień, zaprzyjaźniłem się z wieloma mądrymi ludźmi i aktywnie wykorzystuję chyba wszystkie możliwości, jakie oferuje strona.
Każdego ranka, przy porannej kawie, otwieram kanał wiadomości, twittera, i - SO. I uważam, że ta strona może dać programiście znacznie więcej niż tylko fragment do skopiowania, starannie zaproponowany przez .
Samorozwój
Dawno temu natknąłem się na taki tweet:
Paradoxically, I find the best way to learn a new languages is to answer questions rather than ask them. —
Wtedy nieco zaskoczyło mnie sformułowanie pytania, ale z czasem przekonałem się, że to jest czysta prawda. , i podobne strony oferują możliwość rozwiązania wielu zadań w próżni, a nawet omówienia twojego rozwiązania z miłymi, życzliwymi ludźmi. Przytłaczająca większość książek jest dziś wzbogacona przykładami, które można pobrać i uruchomić. Na GitHubie można znaleźć interesujący projekt w nauczanym języku i zanurzyć się w głębi cudzej bazy kodu. W tym momencie, SO? — ответ прост: только на SO pytania rodzą się z życiowej konieczności, a nie z kaprysu wyobraźni konkretnych ludzi. Odpowiadając na takie pytania, nieuchronnie szlifujemy zdolność myślenia zwięźle (w ramach składni naszego języka), przeprowadzamy do aktywnej pamięci często używane wzorce, a czytając odpowiedzi innych ludzi, porównujemy je z naszymi i zapamiętujemy najlepsze podejścia.
Jeśli odpowiedź na pytanie zadane przez obcych nie jest od razu oczywista - tym lepiej, jeśli tak jest - to szukanie właściwego rozwiązania przynosi znacznie więcej umiejętności niż poszukiwanie odpowiedzi na zadanie z HackerRank.
Obiektywna ocena przez społeczność
Dla programistów, którzy nazywają siebie seniorami i wyżej, ważne jest, aby móc porównać swoje subiektywne poczucie własnej wartości z obiektywną opinią obcych ludzi. Miałem okazję pracować w zespołach, gdzie mój poziom umiejętności i zdolności nie budził żadnych wątpliwości. Dosłownie czułem się jak guru. Aktywne uczestnictwo w dyskusjach na SO dość szybko rozwiało ten mit w mojej świadomości. Nagle stało się dla mnie oczywiste, że do poziomu „señor” — muszę jeszcze rosnąć, rosnąć i rosnąć. Jestem bardzo wdzięczny społeczności za to. Prysznic był lodowaty, ale bardzo orzeźwiający i niezwykle pomocny.
Obecnie mogę zamknąć każde pytanie jako duplikat:

lub odpowiedzieć / odblokować pytanie, chronione przez społeczność przed wandalami:

To motywuje. Po osiągnięciu 25000 reputacji użytkownicy uzyskują dostęp do pełnej statystyki SO oraz zezwolenie .
Miłe znajomości
Aktywne uczestnictwo wśród odpowiadających doprowadziło do tego, że poznałem wielu naprawdę wybitnych programistów z różnych krajów. To niesamowite. Wszyscy są bardzo interesującymi ludźmi, a do tego zawsze można bezpośrednio poprosić ich o recenzję kodu jakiejś skomplikowanej biblioteki, którą postanowiliśmy wydać w OSS. Kwalifikacje dwóch takich dobrowolnych recenzentów pozwalają przekształcić każdy niezdarnie odciśnięty kawałek — w elegancki i odporny na błędy kod, gotowy do użycia.
Plotki o „toksycznej atmosferze” — są co najmniej mocno przesadzone. Nie mogę mówić za społeczności wszystkich języków, ale również ruby, i elixir segmenty — są niezwykle przyjazne. Aby natrafić na brak chęci pomocy, należy w ultimatynym tonie zażądać napisania kodu zadania domowego, nieostrożnie wylewając coś w stylu:
I need to calculate a sum of all prime numbers less than 100. The solution must not use core iterators. How do I do that?
Tak, takie „pytania” się zdarzają i są minusowane. Nie widzę w tym problemu; SO — to nie jest darmowa usługa, gdzie osoby cierpiące na nadmiar wolnego czasu rozwiązują za darmo cudze zadania domowe.
Nie warto wstydzić się słabego angielskiego czy niewystarczającego doświadczenia.
Bonusy zawodowe
Mam dość bogaty profil na GitHubie, ale prawdziwe zainteresowanie ze strony headhunterów poczułem dopiero, gdy trafiłem do top-20, a mój awatar pojawił się na głównych stronach odpowiednich języków. Nie szukam i nie planuję zmieniać pracy w najbliższym czasie, ale wszystkie te propozycje pozwalają mi zarówno utrzymać formę mojej samooceny, jak i tworzą bazę na przyszłość; jeśli nagle zdecyduję się na zmianę pracy, nie będę musiał się martwić o poszukiwania.
Nie zajmuje dużo czasu
Często słyszałem od różnych ludzi, że na SO odpowiadają tylko lenie, a prawdziwi profesjonaliści od rana do wieczora piszą kod dla potrzeb biznesu. Nie wiem, może gdzieś są ludzie, którzy potrafią pisać kod bez przerwy przez szesnaście godzin z rzędu, ale ja do nich zdecydowanie nie należę. Potrzebuję przerw. Doskonałą formą przerwy w pracy, która nie zbytnio relaksuje i nie wprowadza w tryb niekończącej się prokrastynacji, jest właśnie "odpowiedzieć na kilka pytań". Średnio przynosi to kilka dziesiątek punktów reputacji dziennie.

Otwarcie czakr i oczyszczanie gaźnika
Pomaganie ludziom to dobrze. Cieszę się, że oprócz zwykłego nauczania twarzą w twarz mogę pomagać – i pomagam – przypadkowym ludziom z Wyoming, Kinszasy i Wietnamu.
Czy jestem wystarczająco kompetentny, aby odpowiadać na pytania?
Tak.
Wszyscy się mylimy, a jeśli to się zdarzy - społeczność poprawi. Zauważam: nie zapluje w karme w tajemnicy, a zminusuje odpowiedź (w przytłaczającej większości przypadków - z wyjaśnieniem, co dokładnie jest nie tak). Zaminusowana odpowiedź ma sens usunąć, a minusy będą cofnięte. (Usunięte odpowiedzi wciąż są widoczne dla osób z reputacją większą 10000, ale oni, uwierzcie, doświadczyli gorszych rzeczy).
Na zakończenie
Uważam za ważne i potrzebne uczestniczenie w poprawianiu świata, a odpowiadanie na SO to niezły sposób na to, by to zrobić, nie wstając z krzesła. Jeśli udało mi się przekonać kogoś, by zaczął odpowiadać już dziś – będę bardzo zadowolony.
Źródło: habr.com
