często otrzymuję e-maile od moich czytelników o tym, jak mogą stać się full-stack Java developer, czego powinni się nauczyć i na którym obszarze mogą pracować, aby stać się Rockstar Java developer.
po odpowiedzi na nie indywidualnie w ciągu ostatnich kilku lat, pomyślałem, aby zanotować kilka punktów, które moim zdaniem uczynią cię lepszym programistą Java i programistą aplikacji w pełnym stosie.
ale zanim przejdę do tego, chciałbym podkreślić, że lepszy programista jest zawsze lepszym programistą Java i dlatego wszystkie wskazówki, które podzieliłem się wcześniej, aby poprawić swoje umiejętności programistyczne i stać się lepszym programistą, nadal są prawdziwe.
Jeśli jeszcze ich nie przeczytałeś, możesz przeczytać go po tym artykule, pomogą Ci poprawić umiejętności programowania i kodowania, które są niezbędne do zostania lepszym programistą Java.
ten artykuł jest całkowicie skoncentrowany na rozwoju Javy i zakładam, że jesteś już dobry w podstawowych rzeczach, takich jak kodowanie, struktury danych i algorytmy, a pojęcia informatyczne, takie jak sieci, protokoły, Programowanie obiektowe itp.
te wskazówki są równie przydatne zarówno dla podstawowego programisty Java, mam na myśli ludzi Java, którzy piszą aplikacje po stronie serwera, ale nie są tak naprawdę zaangażowani w umiejętności tworzenia stron internetowych, takie jak JSP, Servlet i JEE, jak również dla programisty Java, którego głównym zadaniem jest pisanie aplikacji internetowych przy użyciu technologii Java i tych, którzy chcą stać się programistą Java w pełnym stosie w 2020 roku.
jednak pominąłem kilka rzeczy internetowych, takich jak nauka JSF lub Servlet 4.0 na kolejny dzień, aby ta lista była krótka i prosta. W każdym razie, bez dalszych ceregieli, oto kilka umiejętności, wskazówek i sugestii, aby stać się pełnoekranowym programistą Java w 2020 roku.
- 11 umiejętności, aby stać się ekspertem programisty Java
- Projektowanie i architektura oprogramowania
- mikroserwisy
- narzędzia DevOps (Jenkins, Docker i Kubernetes)
- Spring Framework (Spring Boot)
- JUnit i Mockito
- Ucz się interfejsów API i bibliotek
- elementy wewnętrzne JVM
- wzorce projektowe
- Kotlin
- IDE (Eclipse lub IntelliJIDEA)
- React lub Angular
- oba są świetnymi kursami do nauki Angulara i Reacta Z Spring Boot i zostania programistą Javy z pełnym stosem.
- Ucz się lepiej Javy
11 umiejętności, aby stać się ekspertem programisty Java
jeśli chcesz przyspieszyć swoją karierę i stać się programistą Java w pełnym zakresie, są to umiejętności, których możesz nauczyć się odróżniać od innych programistów.
Projektowanie i architektura oprogramowania
projektowanie i architektura oprogramowania są prawdopodobnie najważniejszymi fazami procesu tworzenia oprogramowania. Umiejętność widzenia szerszego obrazu i przemyślenia problemu oraz decydowania o odpowiedniej architekturze i stosie technologii do wdrożenia aplikacji są kluczowymi umiejętnościami dla każdego programisty, a nie tylko programisty Java.
jeśli chcesz przyspieszyć swoją karierę w 2020 roku i chcesz zostać starszym programistą Java firmy są poszukiwane, proponuję nauczyć się architektury oprogramowania. Jeśli chcesz zostać architektem rozwiązań, również ta umiejętność bardzo ci pomoże i odróżni się od innych programistów.
jeśli potrzebujesz zasobów, aby dowiedzieć się podstawowych rzeczy na temat projektowania oprogramowania i Architektury, proponuję sprawdzić aplikację internetową & Software Architecture 101 kurs Na Eductive. To świetny kurs do nauki różnych wzorców architektonicznych, takich jak mikroserwisy, aplikacje klient-serwer i rozproszone.
szczerze mówiąc, jest to najlepszy kurs nie tylko dla starszych programistów, ale także dla każdego programisty, ponieważ rozszerzy on twój proces myślenia i sprawi, że będziesz bardziej pewnym siebie programistą. Istnieje znaczna zniżka na kurs teraz, i to jest dostępne tylko $44, oryginalna Cena $79, to trochę drogie kursy Udemy, ale warto.
z drugiej strony, jeśli lubisz Educative jako platformę, możesz również kupić abonament za jedyne $17 miesięcznie (rabat 50%), mam taki i Gorąco polecam.
mikroserwisy
Architektura ciągle się zmienia i wiele firm przechodzi z aplikacji monolitycznych do mikroserwisów.
najwyższy czas, aby programiści Java nauczyli się Architektury mikroserwisów i jak tworzyć mikroserwisy w Javie, aby wykorzystać tę ostatnią falę.
na szczęście Spring Framework zapewnia Spring Cloud i Spring Boot, co znacznie upraszcza tworzenie mikroserwisów w Javie.
Jeśli szukasz kursu, to Master Microservices Z Spring Boot i Spring Cloud jest dobry na początek.
a jeśli wolisz książki, to proponuję sprawdzić Cloud Native Java autorstwa Josha Longa, który zawiera kompleksowy przewodnik do tworzenia aplikacji Java dla chmury.
narzędzia DevOps (Jenkins, Docker i Kubernetes)
dla nowoczesnego programisty Java znajomość DevOps jest niezbędna. Powinien być przynajmniej zaznajomiony z ciągłą integracją i ciągłym wdrażaniem oraz z tym, jak Jenkins pomaga to osiągnąć.
staje się to jeszcze ważniejsze dla starszych programistów Java, którzy często są odpowiedzialni za ustalanie najlepszych praktyk kodowania i tworzenie środowisk, tworzenie skryptów i wytycznych.
proponuję również poświęcić czas i dowiedzieć się więcej o DevOps w ogóle i narzędzi takich jak Docker, Ansible, Kubernetes, AWS, itp wraz z Maven i Jenkins.
jeśli potrzebujesz zasobów, Naucz się DevOps: CI / CD z Jenkinsem przy użyciu potoków i Dockera w Udemy jest prawdopodobnie najlepszym kursem na początek. Dowiesz się nie tylko o CI i CD, ale także o Mavenie i Jenkinsie.
a jeśli wolisz książki, sugeruję przeczytanie The Phoenix Project: a Novel about it, DevOps, and Helping your Business Win, który zapewnia kompleksowy przegląd tego, w jaki sposób DevOps i automatyzacja mogą zmienić fortune dla biznesu.
Spring Framework (Spring Boot)
obecnie programista Java musi nauczyć się Spring framework, ponieważ większość firm woli tworzyć z wykorzystaniem Spring Framework ’ ów, takich jak Spring MVC, Spring Boot i Spring Cloud do tworzenia aplikacji internetowych, mikrousług REST API.
promuje również najlepsze praktyki, takie jak wstrzykiwanie zależności i sprawia, że aplikacja jest bardziej testowalna, co jest kluczowym wymogiem dla współczesnego oprogramowania.
jeśli jesteś nowym programistą Java, proponuję zacząć od tego poradnika Java i Spring, aby nauczyć się podstaw tego niesamowitego frameworka, a jeśli już znasz Spring, powinieneś zbadać Spring Boot i Spring Cloud do tworzenia aplikacji Java nowej generacji.
Jeśli szukasz referencji, to Spring Framework 5: Beginner to Guru jest najlepszym kursem na początek.
JUnit i Mockito
jeśli istnieje jedna wspólna rzecz, która oddziela dobrego programistę Javy od przeciętnego programisty Javy, to jego umiejętność testowania jednostek.
dobry i profesjonalny programista Java prawie zawsze pisze testy jednostkowe dla swojego kodu, a jeśli naprawdę jest programistą Rockstar, widać to po jego kodzie i testach.
testy również przeszły długą drogę dzięki kilku narzędziom do testowania jednostkowego, testowania integracji i testowania automatyzacji dostępnym dla programistów Java.
możesz wydać sporą ilość 2020 na doskonalenie swoich umiejętności testowania w Javie, ale ci, którzy są nowicjuszami w świecie Javy i testowaniu jednostkowym, JUnit jest najlepszą biblioteką na początek. Najnowsza wersja JUnit 5 jest zarówno potężna, jak i elastyczna i każdy programista Java powinien o tym wiedzieć.
Jeśli szukasz dobrego przeglądu JUnit i testowania jednostek w Javie, To kursy Crash JUnit i Mockito są idealne na początek. Nie jest to najbardziej aktualne, ponieważ nie obejmuje JUnit 5, ale nadal jest bardzo przydatne dla początkujących.
Ucz się interfejsów API i bibliotek
jeśli pracowałeś ze świetnymi programistami Java, być może zauważyłeś, że ich ogólna wiedza na temat ekosystemu Java i interfejsów API stanowią jego główną część.
Java jest najpopularniejszym i najbardziej dojrzałym językiem programowania na świecie.
oczywiście nie oczekuje się, że znasz je wszystkie, ale powinieneś znać niektóre kluczowe API, takie jak API przetwarzania JSON, takie jak Jackson i Gson, API przetwarzania XML, takie jak JAXB i Xerces, Biblioteki testowania jednostek, takie jak Mockito i JUnit itp.
jeśli ich nie znasz, możesz się ich nauczyć lub przynajmniej uzyskać ich przegląd w 2020 roku. Na początek możesz sprawdzić moją listę 20 bibliotek Javy, które każdy programista Javy powinien znać, która obejmuje biblioteki z kluczowych obszarów, takich jak parsowanie, manipulacja kodem bajtowym, współbieżność, kolekcje itp.
elementy wewnętrzne JVM
jeśli poważnie myślisz o zostaniu programistą Java Rockstar, musisz poświęcić czas na naukę elementów wewnętrznych JVM, takich jak różne części JVM, jak działają, JIT, opcje JVM, zbiory śmieci i kolektory itp.
jeśli dobrze znasz JVM, możesz napisać zarówno solidną, jak i wydajną aplikację Java i to właśnie robią Programiści Rockstar Java.
w ramach tego powinieneś także nauczyć się profilować swoją aplikację Java, jak znaleźć wąskie gardła wydajności, np. które obiekty zabierają większość twoich wspomnień i zjadają Procesory.
w przypadku strukturalnego uczenia się polecam zrozumienie serii maszyn wirtualnych Java na Pluralsight. Jest to bardzo szczegółowy i praktyczny kurs, idealny dla ciekawych programistów Java.
przy okazji, potrzebujesz członkostwa Pluralsight, aby uzyskać dostęp do tego kursu, który kosztuje około $29 miesięcznie lub $299 rocznie (14% zniżki).
jeśli nie masz członkostwa Pluralsight, zachęcam do jego zdobycia, ponieważ pozwala na dostęp do ich 5,000+ kursów online na wszystkie najnowsze tematy, takie jak rozwój front-end I back-end, uczenie maszynowe itp. Zawiera również interaktywne quizy, ćwiczenia i najnowsze materiały certyfikacyjne.
to bardziej jak Netflix dla programistów, a ponieważ nauka jest ważną częścią naszej pracy, członkostwo Pluralsight to świetny sposób na wyprzedzenie konkurencji.
zapewniają również 10-dniowy bezpłatny okres próbny bez żadnych zobowiązań, co jest świetnym sposobem, aby nie tylko uzyskać bezpłatny dostęp do tego kursu, ale także sprawdzić jakość kursów przed dołączeniem do Pluralsight.
dla tych, którzy wolą książki the Definitive Guide to Java Performance autorstwa Scotta Oaksa to świetna książka do opanowania JVM i garbage collection.
wzorce projektowe
jeśli piszesz aplikację Java od podstaw, to większość czasu piszesz kod obiektowy, a wzorce projektowe są sprawdzonymi rozwiązaniami typowych problemów.
znając je i wprowadzając do kodu, uczynisz swoją aplikację bardziej elastyczną i łatwiejszą do zmiany w przyszłości.
poprawia to również ogólną jakość kodu i dokumentacji, ponieważ inni programiści Java również znają wzorce projektowe i szybko zrozumieją Twoje rozwiązanie.
ale nie skupiaj się tylko na części kodu, zrozum ducha i bądź kreatywny. Użyj funkcji Java 8, takich jak lambda i strumienie, aby przepisać wzorce, takie jak wzorce strategii.
Jeśli szukasz zasobów do nauki wzorców projektowych, to ta lista kursów wzorców projektowych jest dobrym miejscem na początek. A dla tych, którzy lubią książki, Moje polecane książki o wzorcach projektowych można znaleźć tutaj.
Kotlin
kilka lat wstecz przeczytałem książkę o nazwie dobrze ugruntowany Programista Java, która podkreśliła zalety zostania programistą poligloty.
zainspirowało mnie to do nauki Scali, a później wypróbowałem również Groovy ze względu na jego zwiększone wykorzystanie w tworzeniu skryptów kompilacji i testowaniu jednostek.
to doświadczenie bardzo mi pomogło i dlatego zachęcam programistów Java do nauki nowego języka JVM. Blogowałem o tym wcześniej na 3 językach JVM programiści Java powinni uczyć się w 2020, ale jeśli się spieszysz, po prostu Ucz się Kotlina.
to świetny język od JetBrains, firmy stojącej za IntelliJ IDEA, a także oficjalny język dla rozwoju Androida, ogłoszony przez Google w 2017 roku.
nie tylko poprawi twoją produktywność, ale także pomoże Ci przejść do obszaru rozwoju Androida. Jeśli chcesz nauczyć się języka Kotlin w 2020 roku i szukasz dobrego źródła informacji, oto lista kursów języka Kotlin na początek.
IDE (Eclipse lub IntelliJIDEA)
jedną z najważniejszych cech lepszych programistów Java jest to, że są bardzo dobrzy w swoich narzędziach. Nie tylko znają więcej narzędzi niż przeciętni Programiści, ale także dobrze znają swoje narzędzia.
ponieważ IDE takie jak Eclipse, NetBeans i IntelliJ IDEA są najważniejszym narzędziem dla programisty Javy, warto poświęcić trochę czasu na lepszą naukę.
możesz dowiedzieć się o niektórych wtyczkach, które ułatwiają zadanie, lub o niektórych skrótach klawiaturowych, które pomagają lepiej poruszać się.
nawet kilka drobnych wskazówek pomaga na dłuższą drogę, ponieważ używasz ich znacznie więcej niż myślisz. Jeśli poważnie myślisz o przeniesieniu swoich umiejętności IDE na wyższy poziom i użyciu Eclipse, proponuję sprawdzić techniki debugowania Eclipse i sztuczki na Udemy, doskonały kurs, aby poprawić swoją wiedzę na temat Eclipse.
React lub Angular
aby stać się programistą Java z pełnym stosem, musisz również znać Framework front-end i nie ma lepszego wyboru niż React lub Angular.
te dwa frameworki JavaScript całkowicie zmieniły sposób tworzenia aplikacji internetowych. Jako programista Java możesz używać Servlet, JSP i jQuery po stronie klienta, ale lepiej nauczyć się Angular lub reagować, ponieważ nowoczesny rozwój frontend wykorzystuje te frameworki.
w zależności od tego, czy wybierzesz Angular, czy React.js, proponuję następujące dwa kursy do przyłączenia się, aby stać się deweloperem Java full-stack.
- Go Java Full Stack with Spring Boot and React
- Go Java Full Stack with Spring Boot and Angular
oba są świetnymi kursami do nauki Angulara i Reacta Z Spring Boot i zostania programistą Javy z pełnym stosem.
Ucz się lepiej Javy
to jest teraz najważniejsza rzecz dla programisty Javy. Java jest stale aktualizowana, a teraz z każdą nową wersją w ciągu 6 miesięcy jest dużym wyzwaniem, aby być na bieżąco. Uczę się funkcji Java 10 i znam wielu programistów, którzy nie napisali ani jednej linii kodu przy użyciu funkcji Java 8, takich jak lambda I Stream API.
niestety większość z nich to doświadczony programista Java z dobrym 7-10 letnim doświadczeniem w swoim pasie. Rozumiem, że w pewnym momencie w twojej karierze nauka staje się powolna, ale jeśli nie będziesz działać teraz, zostaniesz w tyle.
prawie wszystkie zadania programistyczne w Javie wymagały teraz umiejętności Java 8+ i jeśli ich nie masz, bardzo trudno byłoby zrobić dobrze i dobrze wykonywać wywiady w Javie.
teraz, jeśli zdecydowałeś się na naukę języka Java, ale martwisz się, od czego zacząć, proponuję sprawdzić kompletny kurs Java MasterClass na Udemy, który nauczy cię wszystkich podstaw funkcji Java 8 i innych nowych funkcji wprowadzonych w Java 9, 10, 11 i być może w Java 12 już wkrótce.
a jeśli jesteś zainteresowany bardziej zaawansowanym, praktycznym kursem, a następnie Refactoring Java 8 Dr Heinz Kabutz jest dobry do przyłączenia się.
to wszystko o niektórych moich wskazówkach, aby stać się lepszym programistą Java w 2020 roku. Wiem, że trudno jest przestrzegać tych wszystkich wskazówek i nie proszę o to, to po prostu nie jest praktyczne.
możesz skupić się najpierw na ważniejszych, takich jak nauka Javy 8 i nauka Spring Framework, jeśli jeszcze ich nie znałeś, ale jeśli jesteś w nich dobry, możesz wybrać inne tematy, mam na myśli testy jednostkowe, wewnętrzne JVM i DevOps.
aby rozpocząć, musisz wybrać jedną z nich, taką jak nauka najnowszych funkcji Javy od Javy 8 do Javy 13 I zatwierdzić ją, zanim przejdziesz do następnej porady. Jeśli szukasz owoców nisko wiszących, to nauka IDE lepiej jest dobrym wyborem.
znasz już swoje IDE i spędzenie czasu na nauce go lepiej uczyni Cię bardziej produktywnym i lepszym programistą Java w krótkim czasie.
Wszystkiego Najlepszego i nie zapomnij podzielić się swoimi wskazówkami, które Twoim zdaniem uczyniły cię lepszym programistą Java.
jeśli masz jakieś sugestie lub opinie, jesteś mile widziany, wszyscy uczymy się od siebie nawzajem.
P. S. – Jeśli jesteś nowicjuszem w języku programowania Java i szukasz kompleksowego i uporządkowanego kursu do dogłębnej nauki Javy, polecam również zapoznanie się z kompletnym kursem Java Masterclass autorstwa Tima Buchalaka. Jest to również najbardziej aktualny kurs i obejmuje nowe funkcje Java z ostatnich wydań.