admin 0Comment

Decyzja podjęta! Chcę nauczyć się programować! Co dalej?

Dróg jest kilka i nie sądzę, że możemy je jednoznacznie uszeregować od najlepszej do najgorszej. Zacznijmy więc może od najbardziej standardowej.

Edukacja uczelniana

Jeśli masz lat -naście i wiesz, że programowanie cię kręci, to sprawa jest prosta. Studia informatyczne są dla ciebie. Do dzieła! Wiadomo, po pięciu latach nauki ze swojej Alma Mater wyjdziesz jako PRO programista i twoim jedynym wysiłkiem w wyborze dev-pracy będzie łaskawe skinięcie głową w kierunku tej z napływających do ciebie ofert, na której widnieje największa ilość zer po początkowej cyferce. Ale, czy na pewno?

I dlaczego u licha te studia nazywają się studiami informatycznymi a nie programistycznymi?

Wejdźmy trochę w ten temat. Na początek jednak mały disclaimer – ja o studia informatyczne nawet się nie otarłem, co jest oczywiste po przeczytaniu tekstu o moim planie nauki programowania w pół roku. Cała moja wiedza na ten temat pochodzi z rozmów ze znajomymi, którzy takie studia zakończyli oraz informacji od osób trzecich, obecnych w internetach.

Ale wracając do edukacji formalnej – tak, zdecydowanie uważam, że jeśli jesteś w wieku okołostudenckim (a jako osoba, która ukończyła dwa pięcioletnie kierunki, naprawdę elastycznie podchodzę do określenia wiek okołostudencki) wybór studiów informatycznych będzie dla ciebie najlepszą opcją. Chcę tylko zwrócić uwagę na dwie kwestie.

Informatyka to nie programowanie

A raczej nie tylko, jest to określenie dyscypliny naukowej zajmującej się przetwarzaniem informacji a w tym także technologiami z tym związanymi.  Obejmuje zakres o wiele szerszy niż samo klepanie kodu (które, żeby było ciekawiej, jest znowu określeniem węższym niż programowanie!). Dodatkowo, w rozjaśnieniu obrazu wcale nie pomaga (zawężające) anglojęzyczne tłumaczenie informatyki na computer science.

Można z tego wyciągnąć kilka wniosków – chociażby taki, że pięć lat studiów informatycznych nie równa się pięciu latom nauki programowania, a już zdecydowanie nie programowania takiego, jakie potrzebne jest w praktyce komercyjnej, rynkowej. Inne wnioski to chociażby taki, że o ile w przypadku samodzielnej nauki programowania pod kątem zdobycia pracy matematyka co najwyżej nie powinna być twoim naturalnym wrogiem, to już w czasie studiów nie ma przebacz – zapoznasz się z nią dogłębnie i gruntownie. Czy to oznacza, że słaby student informatyki będzie słabym programistą? I odwrotnie? A gdzie tam, ponieważ – patrz dalej:

Studia nie zrobią z ciebie automatycznie programisty

Możesz je ukończyć z dobrym wynikiem a jednocześnie być kompletnie nieprzygotowanym do zmierzenia się z rynkiem pracy i jego wymaganiami. To, ile wyciągniesz z samego procesu studiowania oraz ile doedukujesz się samodzielnie zależy wyłącznie od ciebie. Konieczna będzie samodzielna praca nad swoim skillem programistycznym i to nawet, być może, kosztem zajęć uczelnianych. Z drugiej strony, możesz przebimbać cały okres edukacji, prześlizgać się po egzaminach i zaliczeniach a na koniec być cholernie zdziwiony kiedy rynek pracy kopnie cię w twarz.

Osobną kwestią są wahania osób, które ukończyły już jakiś czas temu swoją edukację formalną a teraz, chcąc się przebranżowić, zastanawiają się nad studiami informatycznymi. Tutaj sytuacja jest już mocno zależna od wielu innych czynników, m. in. zasobami takiej osoby (wolnym czasem, pieniędzmi) czy zakresem koniecznej do przyswojenia wiedzy – może w swojej aktualnej pracy potrzebujesz poszerzyć swoje kompetencje o ściśle ograniczony zakres umiejętności i wystarczy intensywny kurs zamiast kilku lat ogólnej edukacji? Mając takie możliwości jakie mamy dzisiaj (a o których więcej za chwilę) solidnie zastanowiłbym się nad celowością podjęcia studiów w takiej sytuacji ale powtórzę jeszcze raz – to zależy od indywidualnej sytuacji.

Boot campy widzę, wszędzie boot campy!

Liczba organizowanych boot campów czyli intensywnych, relatywnie krótkich (najczęściej miesiąc, dwa, rzadziej dłuższe) kursów rośnie błyskawicznie w krajach Zachodu. W Polsce trend nie jest tak dynamiczny jednak mamy programistyczne boot campy i na naszym rynku. Opinie na ich temat są mocno podzielone: jedni uważają je za dobry sposób na wyciągnięcie pieniędzy od osób zachłyśniętych zarobkami programistów i popytem na ich pracę, inni zwracają uwagę na ich pozytywną rolę w wypełnianiu luki w postaci braku programistów na rynku pracy. Co i za ile oferują boot campy? W cenie w okolicy 10 tys. złotych otrzymujemy intensywny, kilkutygodniowy kurs, który umożliwi nam przyswojenie wiedzy niezbędnej do wykonywania zawodu jako młodszy programista. Oczywiście w kilka tygodni nie da się zdobyć szerszej wiedzy na dany temat jednak wiedza techniczna, umożliwiająca wykonywanie pewnego zbioru zadań przydatnych na rynku pracy, jest w zasięgu naszych głów. Twórcy boot campów chwalą swoje kursy, zapewniając, że znacząca większość osób, które je ukończyły stosunkowo szybko znajduje pracę co oczywiście jest jak najbardziej możliwe zważywszy na realia programistycznego rynku pracy.

Dla kogo więc boot campy są dobrym wyborem? Mogą być dobrym rozwiązaniem dla osób już zakotwiczonych na rynku pracy, jednak chcących poszerzyć swój zakres kompetencji. Są też dobrym rozwiązaniem dla osób, którym po prostu zależy na czasie. Spora, jak na polskie realia, cena może oczywiście zniechęcać jednak warto uświadomić sobie, że samodzielna edukacja potrwa prawdopodobnie dłużej, a tym samym będzie nas kosztować odpowiednio więcej kiedy, zamiast pracować, uczymy się. Z drugiej strony, zdobywając wiedzę samodzielnie przez dłuższy czas , najpewniej uzyskamy  szerszy zasób wiedzy niż podczas najbardziej nawet intensywnego, ale krótkiego, kursu. Boot camp może być też dobrym rozwiązaniem dla osób, które boją się o swoją motywację do samodzielnej nauki – nic tak nie motywuje jak wydanie pięciocyfrowej sumy 😉

Ja po krótkim namyśle odpuściłem sobie wzięcie udziału w boot campie. Uważam, że potrafię przygotować sobie sensowny program nauczania, nie przeszkadza mi też kilkumiesięczna przerwa od pracy, którą z resztą chcę przecież połączyć z innymi aktywnościami poza nauką programowania.

Samodzielna nauka

No dobrze, zdecydowałem, że będę edukował się samodzielnie. Ale jak? I z jakich źródeł korzystać? Będą o tym osobne teksty, więc nakreślę tylko ogólnie moje spojrzenie na sprawę.

Jak się uczyć efektywnie?

Przede wszystkim, określ dokładnie swój cel. Moim jest (poniekąd) zdobycie pracy jako programista i tematy na blogu z tym związane siłą rzeczy powstają z tej perspektywy ale ty możesz chcieć zająć się programowaniem tylko hobbystycznie, zautomatyzować pewne uciążliwe i powtarzające się obowiązki czy też pomóc sobie w wykonywaniu swojej aktualnej pracy. Określenie celu pozwoli ci sensowniej zaplanować drogę do jego osiągnięcia, a określenie celów pośrednich pomoże nie stracić motywacji, ale o tym więcej w innym tekście.

Z jakich źródeł korzystać?

Możemy sięgnąć do książek, możemy skorzystać z licznych tutoriali, obecnych w internecie zarówno w wersjach darmowych jak i płatnych. Możemy też zagłębić się w oficjalną dokumentację danego języka, która często sama w sobie jest niezłym tutorialem. Tak szczerze, to na pewnych etapach nauki będziecie musieli sięgnąć po każdy z tych rodzajów źródeł, tutaj też najważniejsze jest działanie z głową i planem. Jeśli książka czy tutorial to nie pierwsze lepsze. Poświęć trochę czasu na poszukiwania i wypróbowanie co TOBIE najbardziej odpowiada a jeśli chcesz pójść moją ścieżką, możesz też poczytać o moim zwycięskim tutorialu na początek przygody z programowaniem.

Ważna kwestia – będzie ci ciężko skutecznie uczyć sie programowania jeśli nie do końca lubisz się z językiem angielskim. Jeśli tak jest to możliwe, że najlepszym początkiem nauki jakiegoś języka programistycznego jest…nauka języka angielskiego aż do osiągnięcia co najmniej dobrego poziomu.

Raz jeszcze – stwórz plan nauki, określ co i kiedy chcesz osiągnąć. Wiem, że wydaje się to trudne na początku, zwłaszcza, że nie wiesz przecież ile czasu zajmą ci kolejne etapy (albo nawet nie wiesz jakie są kolejne etapy) ale naszkicuj chociaż ogólny plan działań i nie bój się zmieniać go w trakcie nauki, kiedy będziesz wiedział więcej na temat programowania jako takiego oraz swojego języka programowania. Pamiętaj też żeby nie traktować żadnej z informacji zawartych tutaj (ani w innych zakątkach internetu) jako prawdy objawionej – moja droga nauki niekoniecznie musi odpowiadać tobie, tutoriale internetowe mogą ci kompletnie nie podejść, za to możesz uczyć się efektywnie z książek. Nie ma sprawy, whatever works.

 

Dodaj komentarz