Jestem wielką orędowniczką idei programowania jako hobby czy zawodu dla każdego. Dla chłopaków, dziewczyn, dla młodszych i tych trochę starszych. Od kiedy jesteśmy w stanie znaleźć w internecie mnóstwo tutoriali i kursów dla początkujących, każdy może rozpocząć swoją przygodę z kodowaniem. Znam przykłady wielu ludzi, którzy tak właśnie zaczynali, a teraz podążają programistyczną ścieżką kariery.

Jednak wiele razy słyszałam od nich, że wśród internetowych zasobów jest pewna nisza. Mamy codecademy, Khan Academy, code school i wiele innych kursów dla początkujących, dla osób, dla których będzie to pierwsze spotkanie z programowaniem (o kursach dla początkujących piszę w tym poście). Jednak po skończeniu jednego, dwóch czy nawet kilku z nich wchodzimy w fazę stagnacji. Każdy kolejny kurs na tym poziomie nie wnosi praktycznie nic nowego, a gdy siadamy przez pustym edytorem czujemy pustkę w głowie i mamy wrażenie, jakbyśmy się niczego nie nauczyli. Jeśli kiedyś czuliście coś podobnego, chyba mam dla was rozwiązanie!

Exercism.io

Dziś, chcę Wam przedstawić platformę, która pozwoli Wam nabrać samodzielności w pisaniu kodu. Kursy dla początkujących bardzo często omijają ten ważny punkt programu w nauce programowania. Prowadzenie za rączkę przez każde zadanie, choć bardzo pomocne na początku drogi, staje się uciążliwe na dalszym etapie nauki. Co więcej, odbiera nam szansę na spróbowanie własnych sił i zmierzenie się z prawdziwym problemem. I tu do akcji wkracza exercism.io.

Exercism.io to platforma, która pozwala Tobie rozwijać swoje umiejętności programistyczne. Do wyboru masz wiele języków, od tych najpopularniejszych jak JavaScript, Python czy Java, po coś bardziej egzotycznym jak Haskell, OCaml, F# czy Rust.

Jak to działa?

Po wyborze języka, który chcesz szlifować pora na dokonanie podstawowego set-up’u, który pozwoli Ci na ściąganie zadań. Do wyboru masz w zależności od języka programowania od 10 do nawet 100 problemów czekających na rozwiązanie. Zacząć można od prostego “Hello, World!”, następnie poprzez klasyczne “Beer song” przejść do całkiem skomplikowanych problemów.

Przystępując do danego ćwiczenia masz do dyspozycji opis w postaci README, lecz co ciekawsze, dysponujesz również zestawem testów do zadania. Twoim pierwszym krokiem, powinno być zawsze odpalenie ich i zobaczenie, jakie są wymagania dla danego zadania i które testy świecą się na czerwono.

Każde udane, ale i również niekompletne rozwiązanie możesz wgrać na platformę. Tam masz szansę otrzymać code review od innych członków community, dostać podpowiedź, jeśli chodzi o rozwiązanie czy podejrzeć i skomentować rozwiązania innych. Masz również możliwość wgrywać kolejne twoje podejścia do problemu i w ramach iteracji polepszać jakoś kodu czy zastosować się do uwag, które inni zostawili przy twoim poprzednim rozwiązaniu.

Co daje mi exercism.io?

Idea tej platformy bardzo przypadła mi do gustu. Exercism uczy się samodzielności, cechy, która jest bardzo ważna dla programisty, a która niestety często jest pomijana w trakcie nauki. Dodatkowo sposób, w jaki stworzone są zadania zachęca i uczy TDD, czyli programowania sterowanego testami. Pozwolenie innym ludziom na oglądanie twoich rozwiązań i komentowanie ich wymaga sporo odwagi, której tak często brakuje początkującym, a którą mogą nabyć w trakcie nauki.

Niestety platforma jest jeszcze bardzo świeża i community nie jest duże, ale swoim udziałem możemy pomóc jej rosnąć. Dodatkowo, jest to projekt tworzony w czasie wolnym, więc możemy także wesprzeć go finansowo na Patreon’ie. Jako, że to platforma open-source możesz również zostać kontrybutorem :)

Nie ma więc na co czekać! Pora rozwinąć swoje umiejętności na exercism.io.

Dajcie znać jakie są wasze wrażenia po rozwiązaniu pierwszych zadań ;)