by John Selawsky
Zdefiniuj swoje cele zawodowe i wybierz język. To najważniejsza rada dla każdego, kto ma zerowe doświadczenie w programowaniu, a zamierza dołączyć do społeczności programistów. Ale jak dokonać wyboru, nie mając pojęcia, który język najbardziej odpowiada Twoim celom?
Czy nie byłoby to proste, gdyby istniał „lider rynku” wśród wszystkich języków programowania? Wtedy wszyscy nowicjusze mieliby zawsze bezpieczny wybór – naucz się tego języka, a na pewno będziesz poszukiwany. Oczywiście, jest to niemożliwe. Języki są „narzędziami” do rozwiązywania wielu zadań. Ale jest jeden, który może być uważany za doskonały wybór – to Java.
Java jest dobrze skonstruowanym, obiektowym językiem, który może być uważany za łatwy dla początkujących. Można go opanować dość szybko, ponieważ wiele procesów przebiega automatycznie. Nie trzeba zagłębiać się zbytnio w to, „jak to wszystko tam działa”. Java jest językiem międzyplatformowym. Pozwala programiście stworzyć aplikację, która może być wdrożona na dowolnym urządzeniu. To język z wyboru dla Internetu Rzeczy i odpowiednie narzędzie do budowania aplikacji na poziomie przedsiębiorstwa.
Co ważne dla „świeżaka”, Java ma jedną z największych globalnych społeczności i wysokiej jakości dokumentację. Jeśli masz jakiś problem, najprawdopodobniej odpowiedź jest gotowa i czeka na Ciebie. Dwie kolejne zalety Javy to obszerne kolekcje i frameworki, które pokrywają większość wyzwań, z którymi będziesz musiał się zmierzyć jako młodszy programista.
Wreszcie, jest to język z poważanym zapleczem i obiecującą przyszłością. Dwie najnowsze wersje, wzbogacone o nowe funkcje, zostały wydane w ciągu sześciu miesięcy od siebie. To pomaga Javie stać na pierwszym planie i utrzymywać najwyższe pozycje w szacownych rankingach zawodowych.
Ale nawet jeśli mówimy o języku programowania z niską krzywą uczenia się, jest wiele ukrytych skał dla początkujących. Ile czasu potrzebujesz na naukę? Którym źródłom zaufać? Jakich błędów unikać? Przejdźmy przez całą drogę nauki.
Pewność, że ominiesz najczęstsze przeszkody
Więc, jesteś początkującym programistą. Gratulacje: ponieważ możesz korzystać z doświadczenia innych programistów i unikać typowych błędów w samokształceniu. Oto kilka częstych lapsusów.
Uczenie się bez wyznaczenia konkretnego celu
Aby oszacować skalę i pożądany poziom wiedzy w danym języku programowania, przede wszystkim powinieneś odpowiedzieć sobie na proste pytanie: po co Ci programowanie?
Jeśli poważnie myślisz o kodowaniu i zamierzasz zostać programistą Java, będziesz musiał uczyć się codziennie przez co najmniej 4-5 godzin. Jeśli jednak chcesz po prostu poszerzyć zakres swoich zainteresowań, możesz wybrać spokojniejsze tempo. W każdym razie, staraj się nie przedłużać swojej edukacji na wiele lat, ponieważ technologie ewoluują. Podczas gdy uczysz się pewnych ram lub narzędzi programistycznych, aby zdobyć pracę, stają się one przestarzałe.
Czytanie „wszystkiego, co przydatne”, co się pojawi, nie jest najlepszą strategią uczenia się. Dobrze jest wprowadzać poprawki do ogólnego planu. Jednak nie podążanie za nim w ogóle nieuchronnie Cię zdemotywuje.
Próba nauczenia się zbyt wielu technologii na raz
To kolejny błąd, który prowadzi do nauki bez końca. Nie próbuj wypchać swojego planu edukacyjnego zbyt wieloma technologiami i narzędziami, aby uniknąć wypalenia zawodowego. Będziesz potrzebował czasu, aby przetworzyć informacje i zobaczyć jak wszystko działa w praktyce.
Zbyt dużo badań i teorii bez praktyki
Programowanie to umiejętność, którą możesz zdobyć tylko dzięki dużej ilości praktyki. Będziesz potrzebował poważnego zaplecza teoretycznego, ale tak długo, jak będziesz tylko czytał (lub oglądał) wykłady i kursy, nie będziesz w stanie naprawdę kodować. Pomyśl o tym. Nikt nie nauczy się pływać, nie próbując tego. Potrzebujesz wyjaśnień, ale przede wszystkim potrzebujesz działania.
Tylko duża ilość praktyki nauczy Cię, jak radzić sobie z codziennymi problemami programistów. Na przykład nabierzesz nawyku regularnego sprawdzania swojego kodu i nie pozwolisz, aby związane z nim problemy się nawarstwiały. Zaczniesz też od najprostszych rozwiązań. Potem przejdziesz do bardziej wyszukanych, stale pracując nad ulepszaniem swojego kodu. A co najważniejsze, przyzwyczaisz się do codziennego kodowania.
Uczenie się kodowania w odosobnieniu
Początkujący często wahają się, czy powinni dołączyć do społeczności programistów online lub uczestniczyć w wydarzeniach, głównie z powodu syndromu impostera. Ale pamiętaj: nikt nie chce cię zdołować. Społeczność programistów jest nastawiona na współpracę. W ten sposób powstają liczne otwarte źródła danych. Są przyzwyczajeni do pracy w zespole, a na pewno wszyscy w pewnym momencie życia byli początkującymi programistami.
Zobacz: istnieje mnóstwo forów i źródeł internetowych poświęconych programowaniu. Programiści chętnie dzielą się swoją wiedzą i są otwarci na współpracę. Możesz zacząć uczyć się online, otrzymać użyteczną wskazówkę od bardziej doświadczonych kolegów, a później znaleźć swój pierwszy projekt kodowania.
Będąc pewnym, że pewnego dnia w pełni zrozumiesz wszystkie aspekty programowania
Gdyby ktoś odkrył pigułkę, którą można wziąć i od razu nabrać wprawy w każdym języku programowania, byłby najbogatszą osobą na świecie (przepraszam, Jeff Bezos). Ale do tego czasu nie ma pewnego końca w twojej edukacji, jeśli zdecydowałeś się zostać programistą. Nawet gdy masz już pracę, nigdy nie przestawaj się uczyć. W świecie programowania wszystko szybko się zmienia.
Z drugiej strony, kiedy wciąż uczysz się kodować, spróbuj zaakceptować pewne fakty takimi, jakimi są. Nie zagłębiaj się w każdy temat, ponieważ jego tło może być zbyt „ciężkie”.
Stwórz doskonały program szkoleniowy
Łatwiej jest osiągać swój cel krok po kroku. Teraz, kiedy znasz najczęstsze błędy, możesz ich uniknąć. Oto pięć kroków, które możesz podjąć, aby nauczyć się Javy.
- Określ cel i wybierz język.
Z Javą możesz zrobić praktycznie wszystko. Możesz budować serwery aplikacji, aplikacje desktopowe i mobilne, aplikacje dla przedsiębiorstw i przeprowadzać testy jednostkowe. Ale oczywiście, język programowania to nie wszystko, co musisz wiedzieć, aby zostać profesjonalistą. Spróbuj pomyśleć o konkretnych obszarach działalności.
Dzisiejsze trendy to budowanie aplikacji opartych na chmurze (będziesz musiał również poznać podstawy cloud computing i konkretne narzędzia do rozwoju chmury), praca z Internetem Rzeczy, wykonywanie analiz Big data, tworzenie gier itp.
2. Stwórz plan edukacyjny.
Jesteś gotowy, aby uczynić programowanie w Javie swoim zawodem? W takim razie poświęć co najmniej 2-3 (w dni robocze) do 5 godzin (w weekendy) na codzienną naukę. W tym przypadku prawdopodobnie będziesz potrzebował od 3 do 6 miesięcy, aby przygotować się do pracy na stanowisku Junior Developer.
Ogólnie, Twój proces nauki będzie podzielony na kilka etapów:
- Instalacja JDK (Java Development Kit) ze strony Oracle oraz instalacja środowiska uruchomieniowego Java (IntelliJ IDEA, Eclipse lub NetBeans);
- Nauka składni Javy;
- Nauka Java Core;
- Poznanie Java Collections;
- Poznanie popularnych bibliotek i frameworków;
- Poznanie często używanych API (np. servlety, JSP, JDBC, JUnit);
- Poznanie Git’a;
- I tak dalej.
Staraj się podążać za swoim planem i zachować równowagę pomiędzy teorią a praktyką. Programowanie to umiejętność, która wymaga treningu każdego dnia. Jeśli skończysz studiować jakiś temat, kontynuuj kilka zadań związanych z kodowaniem (od 3 do 10, w zależności od ich trudności).
Możesz łatwo dostosować dobrze znaną zasadę Pareto (zasada 80/20) do nauki Javy. „20” będzie oznaczało badania, a „80” praktykę. To nie jest przesada: będziesz potrzebował cztery razy więcej kodowania niż czytania, aby zapamiętać to, czego się nauczyłeś i rozwinąć swoje umiejętności kodowania. Niestety, jeśli nie napiszesz swojego kodu od razu, zapomnisz wszystko, co przeczytałeś następnego dnia. Na szczęście nie musisz wymyślać własnego programu szkoleniowego, jeśli masz odpowiednie źródła.
3. Wybierz odpowiednie narzędzia i dołącz do społeczności programistów.
Bądźmy szczerzy: idealny kurs Javy nie istnieje. Niektóre dadzą Ci głęboką wiedzę podstawową, inne zapewnią sporą dawkę praktyki. Wybierz kilka platform do edukacji, komunikacji i praktyki. Wybierz jeden kurs online, który łączy proste wyjaśnienie teorii z prawdziwym kodowaniem.
Dołącz do społeczności, gdzie możesz zadać dowolne pytanie na temat aspektów kodowania w Javie, podzielić się swoimi przemyśleniami i znaleźć podobnie myślących ludzi. Najlepsze społeczności dla programistów Javy są wymienione poniżej.
Używaj wielu źródeł do nauki Javy
Będziesz potrzebował wielu narzędzi aby osiągnąć swoje cele. Oto zestaw „narzędzi”, dzięki którym odniesiesz sukces.
- Ścisła praktyka: CodeAcademy
Jest to prawdopodobnie jedna z najbardziej znanych platform online do nauki wielu języków. Oczywiście, jest tam również sekcja dla uczących się Javy. Tutaj zaczynasz kodować już od pierwszej lekcji. Istnieją całkiem przydatne podpowiedzi, które można uzyskać, jeśli pewne zadanie wydaje się trudne (co jest normalne, gdy jesteś początkujący). Logika jest prosta: przeczytaj zadanie, napisz kod i uruchom go, aby zobaczyć, co się stanie w wyniku, a następnie przejdź do następnego kroku. Zadania stopniowo stają się bardziej skomplikowane, aż zaczniesz pisać swój kod z czystej kartki. Sekcja FAQ jest całkiem przydatna i masz możliwość przedyskutowania każdego zadania z innymi studentami.
Ten kurs może być świetnym narzędziem uzupełniającym w nauce Javy. Jak już wcześniej wspomniano, musisz kodować, aby opanować programowanie w Javie.
2. Graj i koduj od początku: CodeGym.cc
To są kursy online dla uczących się Javy ze specjalną cechą – gamifikacją. W dzisiejszych czasach powszechne jest stosowanie elementów gamifikacji w kursach online, ponieważ przynoszą one natychmiastową motywację, poczucie ciągłych osiągnięć i ułatwiają osiągnięcie celu.
W CodeGym’s zaczynasz od poziomu 0 w futurystycznym wszechświecie z podróżami kosmicznymi, robotami i innymi fajnymi rzeczami. Twoim celem jest przejście czterech misji edukacyjnych, aby podnieść poziom postaci – robota. Każda misja zawiera 10 poziomów, a każdy poziom ma do 10-12 lekcji, nauczanych przez członków załogi galaktycznego statku. Lekcja składa się z minimum teorii oraz zestawu zadań z natychmiastową weryfikacją i wskazówkami, jak poprawić swój kod. Zaczynasz kodować od początku, rozwiązując bardzo proste zadania, aż będziesz gotowy na dużo bardziej skomplikowane i masywne projekty kodowania.
Cała historia pozwala nie utknąć na danym temacie lub zadaniu, iść do przodu i wrócić później do „twisterów”. W sumie w kursie znajduje się imponująca ilość 1200+ zadań. Ilość, która przelicza się na co najmniej 300-500 godzin kodowania.
3. Wyzwanie dla programistów: Codewars
To kolejna platforma online z tonami praktyki. Choć jest ona bardziej odpowiednia dla uczniów z przynajmniej niewielkim doświadczeniem w programowaniu. Codewars pozwala na wyostrzenie umiejętności w danym języku poprzez katasy szkoleniowe.
Możesz pisać swój kod w przeglądarce i używać przypadków testowych, aby sprawdzić go krok po kroku. Możesz także porównać swoje rozwiązanie z innymi, aby poszerzyć swoją wiedzę i przedyskutować najlepsze praktyki. Każde kata ma swoją rangę, a każde kata jest wyzwaniem dla innych programistów. Kiedy rozwiążesz trudniejsze zadania, możesz otrzymać bardziej skomplikowane wyzwania, aby poprawić swoje umiejętności kodowania. To, co odróżnia tę platformę od innych, to możliwość nauki i praktyki w grupie.
4. Słuchaj wykładów na poziomie „pro”: EdX
EdX to platforma edukacyjna założona przez Uniwersytet Harvarda i MIT. Obejmuje wiele dziedzin nauki, w tym programowanie w Javie i wiele pokrewnych tematów. Znajduje się tam wiele sprawdzonych kursów wprowadzających i programów certyfikacyjnych, prowadzonych przez uczelnie wyższe.
Każdy kurs ma określone ramy czasowe i zawiera wykłady wideo z transkrypcją tekstową. Łatwo można wrócić do poprzednich lekcji i powtórzyć materiał. Istnieje kilkadziesiąt różnych kursów, niektóre z nich są darmowe. Ale nadal jest to źródło przeznaczone wyłącznie do nauki teorii Javy. Pamiętaj, aby wzmocnić te kursy godzinami kodowania.
Chcesz być na bieżąco z najnowszymi wiadomościami, recenzjami i aktualizacjami w świecie Java? To jest właściwa rzecz do zrobienia. Java ciągle się rozwija, unowocześnia i wprowadza nowe funkcje. Upewnij się, że masz kilka mediów, które możesz czytać codziennie. Jednymi z największych są:
- Javaworld (wiadomości, przydatne tutoriale, „how to’s” i wszystko inne, abyś był na bieżąco z programowaniem w Javie);
- Java Code Geeks (centrum zasobów dla tych, którzy uczą się Javy z tutorialami edukacyjnymi, artykułami i wskazówkami, jak zdobyć pracę jako programista Java);
- DZone (mnóstwo artykułów i przewodników dla początkujących i doświadczonych programistów);
- Javarevisited (codziennie aktualizowany blog, który obejmuje wiele tematów związanych z nauką języka Java).
Czy pamiętasz radę, aby dołączyć do społeczności, aby uczynić swoją edukację bardziej efektywną? Możesz zadać dowolne pytanie w sekcji Java na Stack Overflow lub Coderanch. Istnieją również co najmniej trzy duże społeczności na Reddit, takie jaklearnprogramming, java i learnjava, gdzie znajdziesz przydatne wskazówki dotyczące nauki Javy i programowania w ogóle. Jeśli potrzebujesz bardziej konkretnych informacji, na przykład wskazówek dotyczących poprawy kodu w określonych zadaniach, spróbuj specjalnej sekcji pomocy na CodeGym, gdzie inni studenci i „trenerzy kodowania” pomogą ci z każdym problemem. I wreszcie, Oracle posiada ogromną społeczność Java Community, otwartą zarówno dla nowicjuszy, jak i doświadczonych programistów.
Bycie programistą oznacza ciągłe doskonalenie i zdobywanie nowej wiedzy. Jeśli od początku rozwiniesz w sobie smykałkę do samokształcenia, na pewno odniesiesz sukces. Czy jesteś gotowy spróbować?