Przepełnienie stosu

Pomijając to, że zaczyna się sesja, więc liczba rzeczy do zrobienia, która nie jest związana z nauką przybrała maksymalny poziom, to już od dość dawna zaczynam być przytłoczony rzeczami do zrobienia (technologiami do nauczenia). Niestety przez to nie udaje mi się wziąć jednej technologii i nauczyć jej się dobrze. Zauważyłem, że liczba rzeczy, które pasowałoby umieć, wzrasta wykładniczo wraz z rzeczami, które już umiesz. Początkowo było fajnie, ale teraz moja lista to-do pęka w szwach, a na moim kindle już prawie brakuje miejsca na nowe książki. Czuje jakbym miał ciągle coś do zrobienia i to uczucie właśnie nie pozwala mi ruszyć nic nowego.

Wcześniej stałem na rozdrożu, uczyć się technologii dekstopowych/mobilnych (WPF, Silverlight), czy lepiej webowych (ASP.NET). Wybrałem webowe, więc odrzuciłem trochę na bok XAML’a, chociaż miałem w nim dużo większe doświadczenie niż w ASP. Po zrobieniu kilku projektów w ASP, nadszedł czas na naukę JavaScriptu, bo przecież aplikacje webowe w dzisiejszych czasach bez js’a wyglądają raczej blado. Po nauczeniu się JS’a nastąpił wielki wybuch nowych technologii z którym nie potrafię sobie poradzić do dziś. Skoro umiem JS’a, to trzeba się nauczyć jQuery, może coffescript, bo każdy tak chwali, nie zapomnijmy o node.jsunderscoreknockout, może też dart, o którym było głośno na Google IO.

Jeśli chodzi o JavaScript, to na pewno coś by się jeszcze znalazło, bo nowych bibliotek ostatnio wyrasta jak grzybów po deszczu, ale co z C#, w którym to przecież programuje od dawna. Wydawać by się mogło, że to technologia rozwijana głównie przez Microsoft i wielu nowych rzeczy nie ma. A jednak na mojej liście pojawiło się 8 zadań związanych z .NET-em.

– ASP .NET (do certyfikatu)
– WCF
– Azure
– RavenDB
– Windows Phone 8
– CLR via C# (książka)
– Reactive Extensions
– Powershell

Nawet po odrzuceniu technologii nie webowych, zostaje mi 5 zadań (powershell bardzo przydaje się przy aplikacjach webowych, z resztą nie tylko).  Większość z nich wymaga ok 2-3 tygodni, aby nauczyć się jak używać danej technologii, nie wspominając już o tym, żeby dowiedzieć się jak dokładnie działa.

Pamiętam jak dziś prezentacje Martina Mazura, na DevDay 2012, mówił on wtedy, że warto poznawać nowe języki, technologie, które rozwijają sposób rozwiązywania problemów. Sam widzę, że nauczenie się JavaScriptu zmieniło trochę moje podejście do tworzenia oprogramowania, tylko boje się, że będę musiał wybrać między nauczeniem się bardzo dobrze jednej wybranej ścieżki, a poznaniem podstaw z kilku różnych technologii. Na dzień dzisiejszy zostaje mi ponowne rozpatrzenie mojej listy i wyrzucenie kilku niepotrzebnych rzeczy.