jag får ofta e-postmeddelanden från mina läsare om hur de kan bli en full-stack Java developer, vilka saker de ska lära sig och vilket område de kan arbeta med för att bli en Rockstar Java developer.
efter att ha svarat dem individuellt under de senaste åren tänkte jag skriva ner ett par punkter som jag tror kommer att göra dig till en bättre Java-programmerare och Fullstackapplikationsutvecklare.
men innan jag går in på det vill jag betona att en bättre programmerare alltid är en bättre Java-utvecklare och det är därför alla tips jag har delat tidigare för att förbättra din programmeringsförmåga och bli en bättre programmerare fortfarande gäller.
om du inte har läst dem ännu kan du läsa den efter den här artikeln, de hjälper dig att förbättra dina Programmerings-och kodningsförmågor vilket är viktigt för att bli en bättre Java-utvecklare.
den här artikeln är helt fokuserad på Java-utvecklingsperspektiv och jag antar att du redan är bra på viktiga saker som kodning, datastrukturer och algoritmer och datavetenskapliga begrepp som nätverk, protokoll, objektorienterad programmering etc.
dessa tips är lika användbara för både Core Java-utvecklare, jag menar Java-killar som skriver applikationer på serversidan men inte riktigt involverade i webbutvecklingsfärdigheter som JSP, Servlet och JEE, liksom för Java-webbutvecklare vars primära jobb är att skriva webbapplikationer med Java-teknik och de som vill bli en full-stack Java-utvecklare 2020.
men jag har utelämnat några webbsaker som att lära mig JSF eller Servlet 4.0 för en annan dag för att hålla listan kort och enkel. Hur som helst, utan vidare, här är några färdigheter, tips och förslag för att bli en full-stack Java-utvecklare 2020.
- 11 färdigheter för att bli en expert Java programmerare
- Programvarudesign och arkitektur
- mikrotjänster
- DevOps Tools (Jenkins, Docker och Kubernetes)
- Spring Framework (Spring Boot)
- JUnit och Mockito
- lär dig API: er och bibliotek
- JVM Internals
- designmönster
- Kotlin
- IDE (Eclipse eller IntelliJIDEA)
- React eller Angular
- båda är fantastiska kurser för att lära sig Angular och React med Spring Boot och bli en full stack Java-utvecklare.
- lär dig Java bättre
11 färdigheter för att bli en expert Java programmerare
om du funderar på att påskynda din karriär och bli en full-stack Java programmerare, dessa är skillset som du kan lära dig att skilja dig från andra programmerare.
Programvarudesign och arkitektur
Programvarudesign och arkitektur är utan tvekan de viktigaste faserna i mjukvaruutvecklingsprocessen. Att kunna se helheten och tänka igenom problemet, och besluta om rätt arkitektur och teknik stack för att genomföra din app är avgörande färdigheter för alla programutvecklare, inte bara en Java-utvecklare.
om du funderar på att påskynda din karriär i 2020 och vill bli en senior Java utvecklare företag är eftertraktade, föreslår jag att du lär programvaruarkitektur. Om du strävar efter att bli en lösningsarkitekt kommer också denna färdighet att hjälpa dig mycket och skilja från andra utvecklare.
om du behöver en resurs för att lära dig grundläggande saker om mjukvarudesign och arkitektur föreslår jag att du kolla in webbapplikationen & Software Architecture 101 kurs på Eductive. Det är en bra kurs att lära sig olika arkitektoniska mönster som Mikroservice, klient-server och distribuerade appar.
för att vara ärlig mot dig är detta den bästa kursen för inte bara äldre utvecklare utan också alla mjukvaruutvecklare där ute eftersom det kommer att utöka din tänkande process och kommer du att göra mer självsäker webbutvecklare. Det finns en betydande rabatt på kursen nu, och den är tillgänglig för bara $44, Originalpris $79, det är lite dyrt dem Udemy kurser men värt det.
å andra sidan, om du gillar pedagogisk som plattform, kan du också köpa en prenumeration för bara $17 per månad (50% rabatt), jag har en, och jag rekommenderar dig starkt att få.
mikrotjänster
arkitektur förändras ständigt och många företag flyttar från monolitiska applikationer till mikrotjänster.
det är hög tid för Java-utvecklare att lära sig mikroservicearkitektur och hur man skapar mikrotjänster i Java för att dra nytta av den senaste vågen.
lyckligtvis ger Spring framework Spring Cloud och Spring Boot vilket förenklar utvecklingen av mikroservice i Java.
om du letar efter en kurs är Master Microservices med Spring Boot och Spring Cloud en bra att börja med.
och om du föredrar böcker föreslår jag att du kontrollerar Cloud Native Java av Josh Long, som ger en omfattande guide för att utveckla Java-applikationer för molnet.
DevOps Tools (Jenkins, Docker och Kubernetes)
för en modern Java-utvecklare är kunskap om DevOps avgörande. Han borde vara minst bekant med kontinuerlig integration och kontinuerlig distribution och hur Jenkins hjälper till att uppnå det.
det blir ännu viktigare för äldre Java-utvecklare som ofta ansvarar för att ställa in kodning av bästa praxis och skapa miljöer, bygga skript och riktlinjer.
jag föreslår också att du spenderar tid och lär dig mer om DevOps i allmänhet och verktyg som Docker, Ansible, Kubernetes, AWS, etc tillsammans med Maven och Jenkins.
om du behöver några resurser lär du dig DevOps: CI/CD med Jenkins med Pipelines och Docker i Udemy är förmodligen den bästa kursen att börja med. Du kommer inte bara att lära dig om CI och CD utan också om Maven och Jenkins på djupet.
och om du föredrar böcker föreslår jag att du läser the Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win, som ger en omfattande översikt över hur DevOps och automation kan göra förmögenhet för företag.
Spring Framework (Spring Boot)
det är nästan absolut nödvändigt för en Java-utvecklare att lära sig Spring framework eftersom de flesta företag föredrar att göra utveckling med Spring Framework som Spring MVC, Spring Boot och Spring Cloud för att utveckla en webbapplikation, REST API Microservices.
det främjar också bästa praxis som beroendeinjektion och gör din applikation mer testbar vilket är ett viktigt krav för modern programvara.
om du är en ny Java-utvecklare föreslår jag att du börjar med denna Java-och Vårhandledning för att lära dig grunderna i denna fantastiska ram och om du redan är bekant med våren bör du utforska Spring Boot och Spring Cloud för att utveckla nästa generations Java-applikation.
om du letar efter några referenser är Spring Framework 5: Beginner to Guru den bästa kursen att börja med.
JUnit och Mockito
om det finns en gemensam sak som skiljer en bra Java-utvecklare från en genomsnittlig Java-utvecklare då dess enheten testa skicklighet.
en bra och professionell Java-utvecklare skriver nästan alltid enhetstester för sin kod och om han verkligen är en Rockstar-utvecklare kan du se det från hans kod och tester.
testning har också kommit långt nu med flera verktyg för enhetstestning, integrationstestning och automatiseringstestning tillgängliga för Java-utvecklare.
du kan spendera en bra mängd 2020 för att finslipa din testfärdighet i Java men de som är nya i Java world och unit testing, JUnit är det bästa biblioteket till att börja med. Den senaste versionen JUnit 5 är både kraftfull och flexibel och varje Java-utvecklare borde veta det.
om du letar efter en bra översikt över JUnit och enhetstestning i Java är JUnit och Mockito Crash Courses en perfekt att börja med. Det är inte det mest aktuella eftersom det inte täcker JUnit 5 men fortfarande ganska användbart för nybörjare.
lär dig API: er och bibliotek
om du har arbetat med bra Java-utvecklare kanske du har märkt deras övergripande kunskap om Java-ekosystemet och API: er utgör en stor del av det.
Java är världens mest populära och mogna programmeringsspråk och det finns massor av bibliotek och API: er tillgängliga för att göra nästan allt möjligt.
naturligtvis förväntas du inte känna till dem alla, men du borde vara bekant med några viktiga API: er som JSON-bearbetnings-API: er som Jackson och Gson, XML-bearbetnings-API: er som JAXB och Xerces, enhetstestbibliotek som Mockito och JUnit, etc.
om du inte känner till dem kan du lära dig eller åtminstone få en översikt över dem 2020. Till att börja med kan du kolla in min lista över 20 Java-bibliotek som alla Java-utvecklare borde veta, som täcker bibliotek från viktiga områden som parsing, bytecode manipulation, samtidighet, samlingar etc.
JVM Internals
om du menar allvar med att bli en Rockstar Java-utvecklare måste du spendera tid att lära JVM internals som Vad är olika delar av JVM, hur de fungerar, JIT, JVM alternativ, sopor samlingar och samlare, etc.
om du känner till JVM väl kan du skriva både robust och högpresterande Java-applikation och det är vad Rockstar Java-utvecklare gör.
som en del av detta bör du också lära dig hur du profilerar din Java-applikation, hur du hittar prestandaflaskhalsar, t.ex. vilka objekt som tar de flesta av dina minnen och äter processorer.
för strukturerat lärande rekommenderar jag att du förstår Java Virtual Machine-serien på Pluralsight. Det är en mycket detaljerad och praktisk kurs, perfekt för nyfikna Java-utvecklare.
Btw, du skulle behöva ett Pluralsight-medlemskap för att få tillgång till kursen, som kostar runt $29 per månad eller $299 årligen (14% Rabatt).
om du inte har Pluralsight-medlemskap uppmuntrar jag dig att få ett eftersom det låter dig komma åt deras 5 000+ onlinekurser om alla de senaste ämnena som front-end och back-end-utveckling, maskininlärning etc. Det innehåller också interaktiva frågesporter, övningar och det senaste certifieringsmaterialet.
det är mer som Netflix för mjukvaruutvecklare och eftersom lärande är en viktig del av vårt jobb, Pluralsight medlemskap är ett bra sätt att ligga steget före dina konkurrenter.
de ger också en 10-dagars gratis provperiod utan något åtagande, vilket är ett utmärkt sätt att inte bara få tillgång till kursen gratis utan också att kontrollera kvaliteten på kurser innan du går med i Pluralsight.
för dem som föredrar böcker the Definitive Guide to Java Performance av Scott Oaks är en bra bok att behärska JVM internals och sophämtning.
designmönster
om du skriver ett Java-program från grunden då för det mesta du skriver objektorienterad kod och designmönster är beprövade lösningar av vanliga problem.
genom att känna till och integrera dem i din kod gör du din ansökan mer flexibel och lättare att ändra i framtiden.
det förbättrar också övergripande kodkvalitet och dokumentation eftersom andra Java-utvecklare också är bekanta med designmönster och de kommer att förstå din lösning ganska snabbt.
men fokusera inte bara på koddelen, förstå andan och var kreativ. Använd Java 8-funktioner som lambdas och strömmar för att skriva om mönster som Strategimönster.
om du letar efter några resurser för att lära dig designmönster är den här listan över designmönster kurser ett bra ställe att börja med. Och för dem som gillar böcker kan mina rekommenderade böcker om designmönster hittas här.
Kotlin
ett par år på baksidan läste jag en bok som heter the Well-Grounded Java Developer som lyfte fram fördelen med att bli en Polyglotprogrammerare.
det inspirerade mig att lära mig Scala och senare försökte jag också Groovy på grund av dess ökade användning för att skapa byggskript och enhetstestning.
den erfarenheten har hjälpt mig mycket och det är därför jag uppmuntrar Java-utvecklare att lära sig ett nytt JVM-språk. Jag har bloggat om det tidigare på 3 JVM-språk Java-utvecklare borde lära sig 2020 men om du har bråttom, lär dig bara Kotlin.
det är ett bra Språk från JetBrains, företaget bakom IntelliJ IDEA, och även det officiella språket för Android-utveckling som tillkännagavs av Google 2017.
det kommer inte bara att förbättra din produktivitet utan också hjälpa dig att gå in i Android-utvecklingsområdet. Om du vill lära dig Kotlin 2020 och letar efter en bra resurs så är här en lista över Kotlin-kurser till att börja med.
IDE (Eclipse eller IntelliJIDEA)
en av de viktigaste egenskaperna hos bättre Java-utvecklare är att de är mycket bra på sina verktyg. De vet inte bara fler verktyg än genomsnittliga utvecklare men också de vet sina verktyg väl.
eftersom IDEs som Eclipse, NetBeans och IntelliJ IDEA är det viktigaste verktyget för en Java-programmerare, är det vettigt att spendera lite tid att lära sig bättre.
du kan lära dig om några plugins som gör din uppgift lätt eller några kortkommandon som hjälper dig att navigera bättre.
även några små tips hjälper långt eftersom du använder dem mycket mer än du tror. Om du är seriös om att ta dina IDE-färdigheter till nästa nivå och använda Eclipse, föreslår jag att du kontrollerar Eclipse Debugging tekniker och Tricks på Udemy, en perfekt kurs för att förbättra din kunskap om Eclipse.
React eller Angular
för att bli en full-stack Java-utvecklare måste du också känna till en front-end-ram och det finns inget bättre val än React eller Angular.
dessa två JavaScript-ramverk har helt förändrat hur du utvecklar webbapplikationer. Som Java-utvecklare kanske du har använt Servlet, JSP och jQuery på klientsidan men det är bättre att lära sig Angular eller React eftersom modern frontend-utveckling använder dessa ramar.
beroende på om du väljer Angular eller React.js, jag föreslår följande två kurser att gå med för att bli en full-stack Java-utvecklare.
- Go Java Full Stack med Spring Boot och React
- Go Java Full Stack med Spring Boot och Angular
båda är fantastiska kurser för att lära sig Angular och React med Spring Boot och bli en full stack Java-utvecklare.
lär dig Java bättre
Detta är det viktigaste för en Java-utvecklare just nu. Java uppdateras ständigt och nu med varje ny version på 6 månader är det en stor utmaning att hålla dig uppdaterad. Jag har lärt mig Java 10-funktioner och jag känner till många programmerare som inte har skrivit en enda kodrad med Java 8-funktioner som lambdas och Stream API.
tyvärr är de flesta erfarna Java-utvecklare med bra 7 till 10 års erfarenhet i sitt bälte. Jag förstår att någon gång i din karriär blir lärandet långsamt men om du inte agerar nu kommer du att vara kvar.
nästan alla Java – utvecklingsjobb krävde nu Java 8 + – färdigheter och om du inte har dem skulle det vara mycket svårt att göra bra och prestera bra i dina Java-intervjuer.
nu, om du har gjort dig att lära sig Java men oroa dig för var du ska börja med, föreslår jag att du kontrollerar hela Java MasterClass på Udemy, som kommer att lära dig alla grunderna i Java 8 funktioner och andra nya funktioner som introduceras i Java 9, 10, 11 och kanske i Java 12 mycket snart.
och, om du är intresserad av en mer avancerad, hands-on kurs sedan Refactoring Java 8 av Dr.Heinz Kabutz är en bra att gå.
det handlar om några av mina tips för att bli en bättre Java-utvecklare 2020. Jag vet att det är svårt att följa alla dessa tips och jag ber inte att göra det, det är helt enkelt inte praktiskt.
du kan fokusera på viktigare först som att lära Java 8 och lära Spring Framework om du inte har känt dem ännu men om du är bra på dem än du kan välja andra ämnen menar jag enhetstestning, JVM internals och DevOps.
till att börja med måste du välja en som att lära sig de senaste Java-funktionerna sedan Java 8 till Java 13 och begå med det innan du flyttar till nästa tips. Om du letar efter några lågt hängande frukter då lära din IDE bättre är ett bra val.
du känner redan till din IDE och spenderar lite tid på att lära dig det bättre kommer att göra dig till en mer produktiv och bättre Java-utvecklare på en snabb tid.
alla de bästa och glöm inte att dela dina tips som du tror har gjort dig till en bättre Java-utvecklare.
om du har några förslag eller feedback är du välkommen, vi lär oss alla av varandra.
P. S. – Om du är ny på Java-programmeringsspråket och letar efter en omfattande och strukturerad kurs för att lära dig Java på djupet rekommenderar jag också att du kolla in hela Java Masterclass-kursen av Tim Buchalaka. Det är också den mest uppdaterade kursen och täcker nya Java-funktioner från de senaste utgåvorna.