Skąd czerpać wiedzę o programowaniu?

6 minut czytania
Komentarze

Witam wszystkich w kolejnym odcinku mojej serii. Dzisiaj chciałbym Wam pokazać z jakich źródeł najlepiej korzystać, jeśli chcecie zacząć programować. Wbrew pozorom nie jest to takie proste – korzystając ze złych źródeł łatwo można się zniechęcić do programowania.

Czy muszę znać język angielski?

Muszę zacząć od bardzo istotnej kwestii. Krótka odpowiedź to: tak. Natomiast muszę to rozwinąć, o ile w początkowych fazach nie musisz znać angielskiego, ponieważ większość technologii ma jakieś opracowania po polsku. O tyle później już musisz posiłkować się oficjalną dokumentacją lub Stack Overflow (coś w rodzaju forum dla programistów), gdzie wszystko jest napisane w języku angielskim. Gdy zaczynałem to mój angielski nie był jakiś bardzo dobry. Gdy byłem zmuszony korzystać ze źródeł po angielsku, to musiałem posiłkować się tłumaczem google. Z czasem mój angielski stawał się coraz lepszy, dzięki temu, że korzystałem wyłącznie ze źródeł po angielsku. Nie musisz się obawiać, jeśli obecnie znasz angielski jedynie na podstawowym poziomie, ale im lepiej go znasz, tym lepiej dla Ciebie.

Bootcampy

Bootcamp programistyczny jest dobrą opcją dla tych, którzy chcą rozpocząć naukę pod okiem profesjonalnych instruktorów. Takie podejście sprawdza się szczególnie w przypadku osób, którym trudno skupić się na samodzielnej nauce, Bootcamp zagwarantuje ci odpowiednią otoczkę, skutecznie odcinając Cię od rzeczy mogących rozpraszać. Warto jednak najpierw rozważyć inne sposoby nauki, ponieważ uczestnictwo w Bootcampach wiążę się z wydatkiem rzędu kilku tysięcy złotych.

Kursy online

Kursy online są dla tych, którzy potrafią się zmotywować do systematycznej i samodzielnej nauki. Nie należy mieć jednak roszczeniowej postawy. To nie jest tak, że skończysz taki kurs i od razu będziesz zarabiał 15 tysięcy. Samo przepisywanie kodu z ekranu też nie wystarczy – musisz wykazać się swoją inwencją i starać się wszystko zrozumieć, a nie tylko bezmyślnie przepisać. Największą wartością takich kursów jest zwrócenie uwagi na najważniejsze aspekty danej technologii. Po ukończeniu jednego z nich nie będziesz ekspertem, ale będziesz wiedział w jakim kierunku dalej się rozwijać. Wszystko zależy tylko od Ciebie, musisz traktować kurs jako zwykłe źródło wiedzy, a nie coś co w magiczny sposób nauczy Cię programować. Równolegle do robienia takiego kursu powinieneś też pisać coś na własną rękę, tak aby nabytą wiedzę wykorzystywać w praktyce.

Książki

Według mnie jest to najbardziej wartościowe źródło wiedzy. Z książki możesz uczyć się swoim tempem, nikt Ci niczego nie narzuca, możesz zawsze wrócić do jakiegoś tematu, jeśli czegoś nie zrozumiałeś. Dodatkowo książki przeważnie wychodzą dużo taniej, niż kursy online czy bootcampy. Niestety książki mają swoje wady – szczególnie te przełożone na język polski. Najlepiej przedstawić to na przykładzie Androida. Jakieś 2/3 książek, które są obecnie dostępne jest przestarzałych. Dzieje się tak dlatego, że zanim książka zostanie wydana, potem przetłumaczona na język polski i znowu wydana schodzi sporo czasu. Przez ten okres dużo rzeczy może się  zmienić – na przykład może wyjść nowa wersja Androida. Na szczęście podstawy pozostają takie same – problem zaczyna się, gdy chciałbyś się uczyć rzeczy bardziej zaawansowanych. Wtedy polecam korzystać z jakiś „świeższych” źródeł.

No dobrze, ale pewnie zapytacie jakie książki polecam, więc już odpowiadam. Ja dobrze wspominam serię „Rusz głową!” („Head First!”). W tej serii jest dostępna zarówno książka do Javy, jak i dedykowana do Androida. Te książki są napisane bardzo prostym językiem i wszystko jest bardzo dokładnie wytłumaczone, czasami nawet za bardzo dokładnie i ma się wrażenie jakby książka była kierowana do pięciolatków.

Oficjalna dokumentacja

Oficjalna dokumentacja jest najbardziej aktualnym i najpewniejszym źródłem, ponieważ pochodzi od samego twórcy danego języka lub frameworka. Jednak uważam, że uczenie się z oficjalnej dokumentacji może być na początku bardzo trudne. Żeby z niej korzystać musisz mieć jakieś pojęcie o danej technologii, żeby w ogóle wiedzieć czego szukać. Dodatkowo większość dokumentacji dostępna jest jedynie w języku angielskim, co również może stanowić pewne utrudnienie. Dokumentacja świetnie się sprawdza, gdy chcesz sprawdzić coś konkretnego – na przykład w jaki sposób używać danej klasy. W przyszłości na pewno będziesz z niej sporo korzystał.

Media społecznościowe

Jak dla mnie jest to jedno z ciekawszych źródeł. Warto obserwować na Twitterze jakieś rozpoznawalne osoby z branży, bardzo często wrzucają interesujące materiały. Jeśli chodzi o Androida, to szczególnie polecam profile Jake Wharton, Nicolas Roard oraz oficjalny Android Developers. Oczywiście Twitter to nie wszystko. Najwięcej dzieje się na Medium – jest to portal społecznościowy, w którym każdy może pisać artykuły na dowolny temat. Wszystkie najważniejsze osobistości mają tam konta i od czasu do czasu dodają jakieś artykuły. Jest też świetna społeczność i praktycznie codziennie trafi się jakiś bardzo wartościowy materiał. Od siebie polecam szczególnie trzy tagi na Medium: #androiddev #mobile-app-development #android-app-development

Nasze forum

Uważam, że jest to świetne miejsce, aby zacząć przygodę z programowaniem. Zresztą, sam jestem tego przykładem, bo uzyskałem tam sporo pomocy. W dziale poświęconym programowaniu znajdziemy mnóstwo poradników, zaczynając od tych kierowanych do początkujących programistów, kończąc na tych przeznaczonych dla bardziej zaawansowanych. Na początek polecam świetny temat Jak zacząć programować na androida. Jest tam sporo linków i objaśnień najważniejszych terminów. Warto wspomnieć, że od niedawna dział dotyczący programowania zyskał drugie życie i aktualnie jest tam dedykowana osoba, która pomaga rozwiązywać wszelakie problemy związane z programowanie. Także jeśli będziecie mieć jakiś problem podczas programowania, to nie krępujcie się i szukajcie pomocy na forum.

Niestety to już koniec na dziś. Na szczęście już niebawem kolejny odcinek! Opiszę w nim różne typy zatrudnienia programistów wraz z wadami i zaletami. Do zobaczenia!

Zapraszam również na największe w Polsce forum dla programistów Android. Jeśli macie pytania odnośnie kariery jako programista – zapraszam do działu Kariera programowanie. Zachęcam również do przejrzenia działu Praca oraz zlecenia dla programistów – być może to właśnie tam znajdziesz swoją pierwszą pracę ?

Poprzednie odcinki:

  1. Typowy dzień pracy programisty
  2. Wady pracy programisty
  3. Zalety pracy programisty
  4. [FAQ] Wszystko, co powinieneś wiedzieć jeśli interesuje Cię praca programisty
  5. Co mnie zdziwiło w programowaniu?
  6. Motywacje – w jaki sposób nie stracić zapału do programowania?
  7. Jaką firmę wybrać na początku kariery programisty?
  8. Jak wygląda rozmowa o pracę na stanowisko programisty?
  9. Jak zacząć programować?

Motyw