Więc jak długo trwa nauka języka Java? Dziesięć lat, dziesięć tygodni czy jeden dzień? Może przez całe życie? Na niektórych forach internetowych można znaleźć bardzo osobliwe odpowiedzi na to pytanie. Postawmy sprawę jasno od samego początku W tym artykule „znajomość Javy” nie oznacza, że potrafisz napisać program „Hello world”. Chodzi o znajomość Javy na tyle dobrze, aby znaleźć swoją pierwszą pracę.
Motto Buzza Astrala w tytule nie jest żartem. Tak naprawdę, to można uczyć się Javy lub dowolnego innego języka do końca życia. Powodem jest to, że język stale się rozwija, zmienia się jego zakres i… Dobre wieści, przyjaciele! Nie ma powodu do paniki! Nauka języka Java jest zdecydowanie możliwa do zrealizowania w czasie od 3 do 12 miesięcy, jednak istnieje wiele niuansów, które w tym artykule omówimy. Tutaj postaramy się odpowiedzieć również na pytanie „jak szybko nauczyć się języka Java”.
Osoby rozpoczynające naukę języka Java można podzielić na trzy główne kategorie:
Jak znaleźć odpowiedź
Pytanie „ile czasu zajmuje nauka Javy” jest dość pochwytliwe. Podzieliliśmy je na bardziej szczegółowe podpunkty i odpowiemy na nie tutaj. Aby być bardziej precyzyjnym, wykorzystaliśmy rozmowy z uczniami CodeGym, otwarte źródła oraz statystyki z badania przeprowadzonego pod koniec 2019 roku. To badanie dotyczyło procesów uczenia się języka Java i poszukiwania pierwszej pracy. Zostało ono przeprowadzone przez jeden z lokalnych oddziałów CodeGym. Uczestnikami byli uczniowie CodeGym na poziomie 30 i wyższym, którzy znaleźli pierwszą pracę związaną z Javą lub brali udział w stażu.Co to znaczy „znać Javę”?
Najdokładniejszą, choć bardzo ogólną odpowiedzią na to pytanie, byłoby „umiejętność rozwiązania problemu przy użyciu Javy”. Takim problemem może być „zdanie egzaminu” lub „znalezienia pracy”. Może to być też zadanie techniczne, na przykład duże „stworzenie własnego projektu wystarczająco dobrego dla sklepu Google” lub małe, takie jak „zrozumienie jak napisać kod, który zrobi to czego potrzebujesz”. Oczywiście z czasem problemy będą ulegać zmianie. Po zdobyciu pierwszej pracy będziesz musiał awansować na stanowiska (na przykład z Java Junior Developer do Java Middle/Senior Developer). Po pierwszym zadaniu kodowania następuje drugie. Ponadto, gdy to zrobisz, pojawią się nowe cele. Powróćmy do naszego pytania. Jakie zagadnienia należy zrozumieć, aby móc napisać w CV „Znam Javę”? Uczniowie Javy zazwyczaj posiadają wiedzę dotyczącą następujących tematów:- Core Java lub
- Core Java + JUnit lub
- Core Java + DataBases lub
- Core Java + Tools lub
- Core Java + Libraries lub
- Core Java + Spring + SpringBoot + Hibernate lub
- Core Java + Android SDK lub
- ...wszystkie powyższe kombinacje.
- Podstawowe typy i obiekty
- Konstrukcje podstawowe (operatory specjalne, pętle, gałęzie)
- Koncepcje OOP
- Klasy opakowujące (wrappery)
- Kolekcje
- Wielowątkowość
- Strumienie wejściowe/wyjściowe
- Obsługa wyjątków
Odpowiedź na to pytanie zależy od ciebie. Po co właściwie uczysz się Javy?
W tym artykule nie bierzemy pod uwagę takich opcji, jak „Uczę się Javy dla zabawy” lub „Chcę uczyć Javy w przyszłości”. Mówimy tu o profesjonalnym wykorzystaniu języka Java w IT. Obecnie Javy uczy się najczęściej na jeden z trzech sposobów:- Programista Java, od stażysty/młodszego programisty do starszego programisty
- Programista Android, samodzielnie lub w firmie (od Juniora do Seniora)
- Automatyzacja testów (z Javą)
Programista Java
Grono programistów Java jest bardzo szerokie, a wymagania dotyczące znajomości języka Java do zdobycia pierwszej pracy mogą się znacznie różnić. Według badania CodeGym, istnieją ludzie, którzy dostali swoją pierwszą pracę jako Junior, znając tylko Java Core i nic więcej. Firmy były gotowe do przeszkolenia ich podczas pracy. Jest to jednak dość rzadkie zjawisko. Częściej taka osoba może odbyć staż lub zostać praktykantem Javy po zdaniu kilku egzaminów. Zazwyczaj kandydaci na stanowiska Java Junior powinni znać więcej niż tylko Java Core, aby dostać pierwszą pracę. Poniżej znajduje się lista istotnych technik, które powinni znać programiści Javy.- Core Java
- JDK API
- Jawa 8 (lambdy)
- Biblioteki testowe (JUnit)
- Spring Framework
- Spring Boot i Spring MVC
- Hibernate
- JDBC
Programista Androida
Programiści systemu Android mogą pracować dla firmy lub prowadzić własne projekty. Na pewno powinni znać Java Core i kilka innych technologii. Mamy tu jedną infografikę, która przedstawia sposób działania programistów Androida. Cóż, na liście znajduje się wiele punktów, lecz niewiele z nich dotyczy bezpośrednio Javy (tylko narzędzi testowych, a właściwie Core Javy). Zazwyczaj programiści zgadzają się, że samodzielna nauka programowania na Androida jest nieco łatwiejsza i szybsza niż podczas programowania w przedsiębiorstwie. Niemniej jednak, nawet dla tych, którzy aspirują do stanowiska Java Junior, przydatne będzie tworzenie projektów dla systemu Android, aby podszkolić swoje umiejętności programistyczne.Automatyzacja testów
Dobry pracownik automatyzacji testów powinien dość dobrze znać język programowania - jest to jedna z najważniejszych umiejętności w tym zawodzie. Połączenie z Javą- Core Java (w szczególności OOP, Kolekcja, FileOperations)
- Biblioteki testowe (JUnit)
- IntelliJ IDEA
- Selenium RC/WebDriver framework
- Page Object Model
- HTML/CSS
- SQL
Kto o to pyta? Portrety potencjalnych uczniów Javy
„Myślę, że zależy to od wykształcenia i ilości czasu, jaki można poświęcić na naukę. Kiedy zaczynałem swoją przygodę z programowaniem, poświęcałem na naukę co najmniej 40 godzin tygodniowo. Po 6 miesiącach nauki w pełnym wymiarze godzin poczułem się na tyle pewnie, że jestem w stanie samodzielnie opanować każdą nową technologię. W celu znalezienia pierwszej pracy jako inżynier oprogramowania, trzeba nie tylko nauczyć się języka Java, ale także zrozumieć podstawy informatyki, programowania obiektowego i napisać kilka projektów, w których można zaprezentować swoją pracę. Myślę, że może to trwać od dziewięciu do dwunastu miesięcy. Wiem, że to brzmi jak dużo pracy, ale nie zniechęcaj się! Ta podróż może być prawdziwą zabawą, jeśli odkryjesz jaki aspekt kodowania sprawia Ci radość i pozwolisz sobie na odrobinę rozrywki”Yulia pracuje dla LinkedIn jako inżynier praktykant REACH. Stworzyła również kanał YouTube, aby podzielić się swoimi doświadczeniami związanymi z nauką programowania komputerowego i znalezieniem pracy w Dolinie Krzemowej.
- „Świeżaki”. Zerowe doświadczenie. Cóż, są tu ludzie, którzy nie wiedzą nic o programowaniu.
- „Średniaki”. Uczniowie z minimalnym lub chaotycznym doświadczeniem w programowaniu. Ludzie ci uczyli się programowania w szkole, na uniwersytecie lub na kursach, ale nie była to poważna nauka.
- „Zawodowcy”. Programiści znający inne języki programowania (1 lub więcej).
- 33,3% stanowili nowicjusze
- 17,6% znało co najmniej jeden język programowania
GO TO FULL VERSION