Weekly JavaScript Challenge – Reaktywacja!

Ponad rok temu rozpocząłem inicjatywę o nazwie Weekly JavaScript Challenge – stworzyłem grupę na Facebooku, która miała na celu wzajemną pomoc w nauce JavaScriptu. Założeniem grupy było wspólne rozwiązywanie zadań i wrzucanie ich na Facebooka do oceny. Głównym pomysłem było tworzenie realnych aplikacji, a nie implementowanie algorytmów, a każde rozwiązanie miało przechodzić przez code review pod kątem czytelności oraz architektury kodu. Z tych powodów aplikacji nie mógł łatwo sprawdzać automat i musiał to robić człowiek. Jednak dzięki temu nauka i wnioski były zdecydowanie bardziej wartościowe.

Szukasz tl;dr? Skocz do tego akapitu.

Ponad 1000 osób

Na początku działania grupy wszystkim wrzuconym rozwiązaniom osobiście robiłem code review i odpisywałem długimi komentarzami każdej zainteresowanej osobie. Wnioski wyciągane na podstawie Waszego kodu krótko opisywałem w kilku wpisach na blogu: Challenge 1, Challenge 2, Challenge 3 (te i przyszłe wpisy można znaleźć razem tutaj: https://typeofweb.com/tag/weekly-javascript-challenge/). Szybko zainteresowanie tematem przerosło moje najśmielsze oczekiwania! Liczba członków grupy prędko przekroczyła okrągły 1000, a chętnych na kolejne zadania przybywało z dnia na dzień.

1. Weekly JavaScript Challenge

Wrzucane przeze mnie posty były też inspiracją dla wielu osób – otrzymałem bardzo dużo prywatnych wiadomości z pytaniami i komplementami – za które serdecznie dziękuję 🙂 Doszły mnie nawet słuchy, że pewna firma korzysta z Weekly JavaScript Challenge przy rekrutacji pracowników (a konkretnie z zadania numer 4). Wow!

Weryfikacja

Dlaczego więc grupa chwilowo nie funkcjonuje? Można powiedzieć, że padła ofiarą własnego sukcesu – a mnie zwyczajnie zaczęło brakować czasu, aby móc odpowiedzieć każdemu! Do tego doszły też problemy z Facebookiem – który codziennie wprowadza jakieś zmiany 😐 Po powstaniu Weekly JavaScript Challenge modyfikacji uległ sposób w jaki działają wydarzenia na grupach i, przykładowo, przestałem otrzymywać powiadomienia pod starymi zadaniami. Na dłuższą metę więc nie mogło to tak działać i cała inicjatywa wymagała solidnej weryfikacji.

Nowe Weekly JavaScript Challenge

Jednak z dumą dzisiaj mogę ogłosić, że: Weekly JavaScript Challenge powraca z nieco zmienioną formą 🙂 Nowe zasady spisałem poniżej w skondensowanej formie.

  1. Na grupie regularnie będą pojawiać się nowe zadania związane z JS-em, webdevelopmentem, tworzeniem aplikacji internetowych i tym podobnych.
  2. Główny założeniem grupy jest wzajemna pomoc i wzajemna ocena kodu.
  3. Zadania nie mają deadline’u. Jeśli widzisz coś ciekawego dla siebie to spróbuj to zaimplementować, a następnie wrzuć na grupę!
  4. Każde rozwiązanie jest mile widziane. Jak? Wrzuć działający kod na codepen/jsbin/jsfiddle/plnkr lub na GitHub Pages, a następnie dodaj link do niego w poście na grupie. Koniecznie dodaj #tag z numerem zadania i dokładnie opisz jeśli masz jakieś wątpliwości.
  5. Zadawaj pytania. Nie ma głupich ani oczywistych pytań. Lepiej zapytać 10 razy niż stanąć w miejscu 🙂 Każdy jakoś zaczynał.
  6. Przeglądaj kod innych osób i śmiało pisz co o nim myślisz! Na grupie są zarówno początkujący jak i seniorzy, ale opinie wszystkich są potrzebne i mogą pomóc innym albo być źródłem interesujących dyskusji i inspiracji!
  7. Rozwiązania w zasadzie nie muszą być w JS-ie. Mile widziany TypeScript, Flow, Reason… czy cokolwiek co Cię akurat interesuje i ma związek z webem 🙂 Może Twoje eksperymenty zainspirują innych?
  8. Last but not least: Mile widziane są sugestie odnośnie zadań lub w ogóle propozycje nowych challenge’y. Po prostu napisz do mnie wiadomość prywatną 🙂 Nie wiesz jak zacząć? Polecam „hej”. Byle nie od „witam”.

Poniżej znajdziesz listę starszych zadań. Zajrzyj do nich! A nowe rozwiązania wrzuć już na grupę w postaci postów 🙂

Lista dotychczasowych Weekly JavaScript Challenge:

  1. https://www.facebook.com/events/997187053723327/
  2. https://www.facebook.com/events/1091460824257459/
  3. https://www.facebook.com/events/1112826942122943/
  4. https://www.facebook.com/events/1062498357132335/
  5. https://www.facebook.com/events/1031130130340777/
  6. https://www.facebook.com/events/180955615675503/
  7. https://www.facebook.com/events/237319743352640/
  8. https://www.facebook.com/events/955676324563057/