StackOverflow – dlaczego warto mieć konto i zyskiwać reputacje.

StackOverflow platforma każdego programisty. Pytanie i cenna odpowiedz, może mocno przyspieszyć prace nad rozwiązaniem. Prędzej czy później każdy tam trafi. Niektórzy autorzy bibliotek traktują tą platformowe, jako zamiennik zgłaszania błędów do aplikacji. Podczas zadawania pytania otagujesz je odpowiednim tekstem a autor monitoruje tagi i reaguje(lub nie). Platforma jest popularna i znana. Warto mieć tam konto i starać  ponieważ… w poniższym poście przedstawię moje argumenty. Zapraszam.

Początki

StackOverflow działa dość sprawie i na marginesie jest napisane w .NET-cie. Każdy może zadać pytanie i dostać lub nie odpowiedź. Zadanie pytania jak i odpowiedź na jest oceniona poprzez system głosowania. Aby zagłosować na pytanie pozytywnie należny mieć reputacje na poziomie 15 punktów, aby zagłosować negatywnie należy mieć 125 punktów (szczegóły uprawnień)

Za każdy Nasz głos pytający lub odpowiadający dostaje odpowiednią ilość punktów. I – za zagłosowanie pozytywnie na pytanie, pytający dostaje 5 punktów do reputacji. Za każdy głos w dół dostaje 5 punktów do tyłu. Z odpowiedziami jest różnica taka, że za pozytywny głos dostajemy 10 punktów a za negatywny tracimy 2.

Jeśli skasujemy pytanie lub odpowiedź punkty wracają do stanu z przed zadania pytania. Czyli nic nie zyskujemy, ale też nic nie tracimy.

Praktyka

Praktyka jest taka,  że SO jak inne fora podlegają masowości. Jeśli pytanie/odpowiedz jest zła to duża część ludzi głosuje przeciw i szybko z „-1” robi się „-10”. Autor zapewne  wtedy skasuje pytanie/odpowiedz i forum jest czyste i niezaśmiecone. Pytania zadają przede wszystkim nooby (świeżynki – reputacja poniżej 100). Robią coś w pracy, dotarli do ściany i jazda. Napisz mi kod, gdzie mam błąd, jak mam to zrobić, jaka architektura, czemu nie działa itd. SO podlega jednak pewnym regułą (reguły), pytania muszą spełniać założenia aby nie zostały w przyszłości usunięte. Gdy masz reputacje powyżej „1000” punktów to możesz oceniać pytania pod względem zgodności z tymi regułami. Reguły takie to np: duplikowane lub nie czytelne pytania. To działa w miarę dobrze, choć są przypadki wątpliwe. Odpowiedzi, przy, których pojawia się ptaszek, czyli są poprawne i pomogły pytającemu rozwiązać sprawę, są nagradzane „25” punktami reputacji, wiec warto się starać.

Zdobywanie reputacji

Jest proste i trudne. Jak się przyjrzeć pytaniom to można znaleźć klika (w zależności od Naszego doświadczenia), które są proste i szybko możemy na nie odpowiedzieć. Słowo szybko jest tu ważne. Szybka odpowiedz to duża szansa na pozytywną reputacje. Lepiej odpowiedzieć szybko i krótko i potem edytować już pytanie niż pracować nad pierwszą odpowiedzią 20 minut (przeważnie).

Czasem jednak można dostać depresji, bo pytania dotyczą rzeczy, których zupełnie nie kojarzymy. Jest to próba cierpliwości lub test swoich umiejętności, bo czasem można się sporo nauczyć. Można samemu spróbować poszukać odpowiedzi, co czasem jest dość skuteczne, bo odpowiedz znajdziemy na SO, lub po prostu sprawdzić to empirycznie. Praktyka jest taka, że szukać pytań należy po tagach. Ja najczęściej szukam tagu C# (WOW!). Tam pojawiają się pytania posortowane po czasie zadania. Tutaj można szybko zorientować się czy możemy w czymś pomóc. Na część pytań nikt nie odpowiada i one giną gdzieś w necie. Warto takie pytania przejrzeć, bo często nie trzeba się już mocno spieszyć i można popracować nad odpowiedzią.

Za ogólną jakość SO odpowiadamy MY. Jeśli wiemy, że pytanie jest nie zgodne z ogólnymi warunkami zadawania pytań i odpowiadamy na takie, to sprawiamy, że jakość forum się zmniejsza. Jednak jak odpowiadamy tylko na takie, które są prawidłowe to czasem możemy nic nie trafić przez długi czas. Jakiś złoty środek należy wypracować w sumieniu.

Warto zwrócić uwagę również na strefy czasowe. To znaczy, gdy u Nas jest 8 rano to sporo pytań na SO przynajmniej w dziale C# piszą głównie początkujący programiści. Czym 8 rano przechodzi bardziej na zachód to pytania stają się coraz bardzo szczegółowe i specyficzne? Gdy USA wstanie rano do pracy wtedy widać wyraźnie, że poziom.NET-a (lub dojrzałość projektów) na zachodzie jest wyższy, co powoduje, że pytania robią się trudniejsze. Wniosek jest taki, najlepiej rozpocząć zdobywanie reputacji właśnie od rana, gdy jesteśmy w pracy (niestety), pytania są bardziej podstawowe i łatwiejsze. Później, czyli po pracy może być odrobinę trudniej.

Inteligencja jest ważna (wow!) To znaczy, gdy pisałem o tym, że pytania na SO muszą spełniać reguły, być czytelne, jasne itd. to prawda jest taka, że rzadko, które pytanie takie jest. Co powoduje, że ktoś może stwierdzić, że nie rozumie pytania, bo pytający jest leniem i wpół analfabetą i przejść do kolejnego pytania. Jednak, jeśli trochę się wysilimy to możemy sporo rzeczy się domyśleć i spróbować odpowiedzieć. SO oferuje komentarz pod pytaniami/odpowiedziami, można spokojnie zadać pytanie autorowi i poprosić o wyjaśnienie.  Co prawda jak pisałem wcześniej, taki zachowanie promuje nie dokładne pytania, co psuje forum, ale niektórzy nie mają talentu do ładnego wylewania swoich myśli na papier, więc dlaczego im pomóc? Większość osób zmienia pytanie na bardziej precyzyjne, gdy widzi, że coś się dzieje z odpowiedziami.

Ostatnia rzecz, na którą warto zwrócić uwagę to super popularne pytania i odpowiedzi. Każdy z Nas trafił czasem na pytanie gdzie ilość pozytywnych głosów jest liczona w setkach lub tysiącach. Jest pewien sposób na to, aby być twórca lub autorem odpowiedzi do takiego pytania. Ten sposób to – proaktywność programistyczna – to znaczy trzeba być na bieżąco z tym, co się dzieje w środowisku programistycznym, rozwijać się i tworzyć oprogramowanie w tych aktualnych trendach. Jeśli teraz króluje.NET Core to podczas swoich przygód możemy natrafić na problem, na który natrafi każdy z programistów, który będzie się bawił daną technologią. Duża cześć programistów znacznie szukać na SO odpowiedzi zanim sama pomyśli jak go rozwiązać i jeśli to będzie Nasze pytanie lub odpowiedz to jest szansa, że stanie się BARDZO popularne a my zyskamy sporo reputacji.

Co daje bycie na SO?

Praktycznie wielu programistycznych rzeczy a przede wszystkim można przejrzeć na oczy. Jak za długo się pracuje w danym języku, chcąc nie chcą nasza perspektywa się zamyka. Myślimy klasami, metodami, zmiennymi zamiast modułami, komponentami itd. SO otwiera oczy, pokazuje, że czasem odpowiedz na pytanie „Napisz mi kod, który robi coś tam…” Wcale nie oznacza, że trzeba napisać kod. Można często zwrócić uwagę na to, że autor pytania źle podchodzi do sprawy już ma poziomie architektury. Najprostszy przykład, który się, co jakiś czas zdarza to, „Jak zapisać do bazy plik jpg?”. Często odpowiedzią jest pytanie – „Po co masz to zrobić?” – Zapisz do bazy linka do miejsca na dysku”. Warto pamiętać o szerokiej perspektywie jak odpowiadamy na pytania. Sporo też można poczytać o praktykach zastosowanych w różnych rozwiązaniach. Często w pytaniach jest dość sporo opisanego środowiska i można się przekonać jak ktoś inny programuje i jak rozwiązał inne sprawy. Co prawda najczęściej okazuje się, że jakiś początkujący programista coś pisze i wstawia kod do pytania, ale z jego kodu nic się nie nauczysz oprócz złych praktyk. Jednak zdarzają się perełki.

Istotną sprawą w SO jest szukanie pracy. Wypełniłem wszystkie informację potrzebne do posiadania CV na SO i dzięki temu zmieniłam pracę. Pani odezwała się do mnie właśnie przez chat na SO wiec to całkiem przyjemna oferta.

Czy reputacja na SO odwzorowuje poziom programisty?

To zależy. Nie należy tylko po ilości punktów reputacji oceniać programisty czy jest dobry czy zły. Należy zawsze sprawdzić czy punkty ma z odpowiedzi czy też z pytań. Jak długo ma konto i jaka jest jego aktywność oraz jak rozkładają się punkty w zależności od tagów. Nie oznacza to od razu, że jak ma więcej punktów z pytań to jest gorszy. Myślę, że przed wszystkim, jeśli ktoś ma powyżej „1000” punktów to znaczy, że się udziela w społeczności, jest proaktywny i zaangażowany. To jak z blogiem. Czy jak programista ma blog to jest lepszy? Nie, po prostu jest bardzo świadomy i widać po nim, że się stara. Takiego pracownika zawsze warto mieć, bo zaangażowanie jest bardzo cenne w pracy. Podsumowując warto mieć dobrą reputację ; )

Ciekawostki

SO – jest napisane w .NET-cie. Najpopularniejszym użytkownikiem jest sam Jon Skeet. Reputacja na poziomie prawie miliona. Co ciekawe, można często go spotkać podczas przeszukiwania odpowiedzi jak komentuje z BARDZO szerokiej perspektywy. Tak czy inaczej to miłe go spotkać pracując społecznie dla dobra całej społeczności programistów.

Podsumowanie

Krótko mówiąc warto, bo każda Twoja odpowiedź to taka bezpośrednia pomoc koledze. Takie odpowiedzi jak i pytania zostają na wiele lat i pomagają w różnych stresowych sytuacjach. W zamian dostajemy reputacje, która zawsze zrobi wrażenie na kimś, kto jej nie ma. Reputacja to też nauka  czegoś nowego lub przynajmniej nie zły odrdzewiacz.

4 przemyślenia nt. „StackOverflow – dlaczego warto mieć konto i zyskiwać reputacje.

  1. SO to największy przyjaciel programisty i nie tylko młodego, ktoś z nas nie wyszukiwał jakiejś błahostki bo po prostu zapomniał. Zatem zdecydowanie warto się odwdzięczyć społeczności samemu pomagając.

    A tak na marginesie.
    „Noob” to negatywne słowo. Z podlinkowanej Wikipedii „Oznacza osobę reprezentującą sobą cechy negatywne lub zachowującą się w sposób niewłaściwy w rozumieniu społeczności internautów lub graczy komputerowych.”

    Jak już chcesz używać anglojęzycznych zwrotów to proponuje „newbie” https://pl.wikipedia.org/wiki/Newbie Czyli po prostu świeżak

  2. Pingback: dotnetomaniak.pl

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *