Kto stoi w miejscu, ten się cofa – bardzo popularny cytat z książki Margot Michała Witkowskiego jest chyba najlepszym wstępem do tematu rozwoju umiejętności programistycznych. Technologie IT, języki programowania i framework’i rozwijają się w tak zawrotnym tempie, że aby nie pozostać w tyle warto uczyć się ciągle nowych rzeczy. Wiele jest w internecie dostępnych kursów MOOC, które pomagają się rozwijać. Inna formą uczenia jest podejście bardziej praktyczne polegające na rozwiązywaniu różnych problemów czy zadań programistycznych, a nawet uczestniczenia w konkursach. Z jakich platform warto skorzystać ?
CodeFights
Platforma umożliwia rozwiązywanie quiz’ów programistycznych, a także uczestniczenia w zawodach oraz bezpośredniego sprawdzenia swoich umiejętności z innymi programistami.
HackerRank
Serwis wyróżnia od innych witryn możliwość nauki zagadnień, które podzielono na domeny. Dla każdego tematu w domenie oprócz samego zadania można na forum podyskutować, a w niektórych przypadkach zapoznać się ze wstępem teoretycznym do zadania.
CodeChef
Użytkownicy platformy mogą rozwiązywać zadania podzielone na odpowiednie poziomy trudności, uczestniczyć w konkursach oraz dyskutować na forum.
HackerEarth
Ciekawym elementem wyróżniającym serwis od pozostałych jest CodeMonk (zbiór dobrych praktyk oraz uporządkowanej wiedzy teoretycznej) dostępny poprzez przeglądarkę internetową oraz jako aplikacja działająca w trybie offline na urządzenia z systemem Android.
CodeForces
Najważniejszym elementem serwisu jest uczestnictwo w konkursach. Brakuje takich elementów, które wyróżniają HackerEarth czy też HackerRank.
TopCoder
Użytkownicy platformy nie tylko uczestniczą w konkursach rozwijając swoje praktyczne umiejętności programistyczne, lecz również mają możliwość zarobku, co oczywiście dotyczy najlepszych uczestników rywalizacji.
SPOJ
Podobnie jak CodeForces serwis skupia się na rywalizacji uczestników w konkursach oraz rozwiązywania zadań programistycznych.
Podsumowanie
Oprócz przedstawionych serwisów można oczywiście znaleźć w internecie ich wiele więcej, jednak ciężko wskazać, który z nich warto wybrać. W zależności od upodobań, znajomości poszczególnych języków programowania czy też stopnia zaawansowania wybór może być inny. Najlepszym podejściem jest sprawdzenie kilku z serwisów i ich porównanie, a następnie wybranie najodpowiedniejszego z nich i … programowanie 🙂