jeg modtager ofte e-mails fra mine læsere om, hvordan de kan blive en Full-stack Java-udvikler, hvilke ting de skal lære, og hvilket område de kan arbejde på for at blive en Rockstar Java-udvikler.
efter at have besvaret dem individuelt i løbet af de sidste par år, tænkte jeg at notere et par punkter, som jeg tror vil gøre dig til en bedre Java-programmør og Full-stack applikationsudvikler.
men før jeg går ind i det, vil jeg gerne understrege, at en bedre programmør altid er en bedre Java-udvikler, og derfor er alle de tip, jeg har delt før for at forbedre din programmeringsevne og blive en bedre programmør, stadig sandt.
hvis du ikke har læst dem endnu, kan du læse det efter denne artikel, de vil hjælpe dig med at forbedre dine programmerings-og kodningsevner, som er afgørende for at blive en bedre Java-udvikler.
denne artikel er helt fokuseret på Java-udviklingsperspektiv, og jeg antager, at du allerede er god til vigtige ting som kodning, datastrukturer og algoritmer og Computervidenskabskoncepter som netværk, protokoller, objektorienteret programmering osv.
disse tip er lige så nyttige for begge centrale Java-udviklere, jeg mener Java-fyre, der skriver applikationer på serversiden, men ikke rigtig er involveret i internetudviklingsfærdigheder som JSP, Servlet og JEE, såvel som For Java-udvikler, hvis primære job er at skrive internetapplikationer ved hjælp af Java-teknologi, og dem, der ønsker at blive en Full-stack Java-udvikler i 2020.
selvom jeg har udeladt nogle internet ting som at lære JSF eller Servlet 4.0 for en anden dag for at holde denne liste kort og enkel. Alligevel, uden yderligere ado, her er nogle færdigheder, tip og forslag til at blive en Java-udvikler i fuld stak i 2020.
- 11 færdigheder til at blive en ekspert Java programmør
- Programmeldesign og arkitektur
- mikroservices
- DevOps Tools (Jenkins, Docker og Kubernetes)
- Spring Frame (Spring Boot)
- JUnit og Mockito
- Lær API ‘er og biblioteker
- JVM Internals
- designmønstre
- Kotlin
- IDE (Eclipse eller IntelliJIDEA)
- React eller Angular
- begge er gode kurser til at lære Angular og React med Spring Boot og blive en Full-stack Java-udvikler.
- Lær Java bedre
11 færdigheder til at blive en ekspert Java programmør
hvis du ønsker at fremskynde din karriere og blive en fuld-stack Java programmør, disse er skillset, som du kan lære at skelne dig fra andre programmører.
Programmeldesign og arkitektur
Programmeldesign og arkitektur er uden tvivl de vigtigste faser i programmeludviklingsprocessen. At kunne se det store billede og tænke igennem det aktuelle problem og beslutte den rigtige arkitektur-og teknologistabel til at implementere din app er afgørende færdigheder for enhver programudvikler, ikke kun en Java-udvikler.
hvis du ønsker at fremskynde din karriere i 2020 og ønsker at blive senior Java-udviklerfirmaer er efterspurgte, foreslår jeg, at du lærer Programmelarkitektur. Hvis du stræber efter at blive en løsningsarkitekt, vil også denne færdighed hjælpe dig meget og skelne fra andre udviklere.
hvis du har brug for en ressource til at lære grundlæggende ting om Programmeldesign og arkitektur, så foreslår jeg, at du tjekker internetapplikationen & Programarkitektur 101 kursus om Eductive. Det er et godt kursus at lære forskellige arkitektoniske mønstre som Microservice, klient-server og distribuerede apps.
for at være ærlig med dig er dette det bedste kursus for ikke kun seniorudviklere, men også alle programmeludviklere derude, da det vil udvide din tænkningsproces og vil du gøre mere selvsikker internetudvikler. Der er en betydelig rabat på kurset nu, og den er tilgængelig for kun $44, original pris $79, det er lidt dyrt dem Udemy kurser, men det er det værd.
på den anden side, hvis du kan lide Educative som en platform, kan du også købe et abonnement for kun $17 per måned (50% rabat), jeg har en, og jeg kan varmt anbefale dig at få.
mikroservices
arkitektur ændrer sig konstant, og mange virksomheder bevæger sig fra monolitiske applikationer til mikroservices.
det er på høje tid for Java-udviklere at lære Mikroservicearkitektur og hvordan man opretter mikroservices i Java for at drage fordel af denne nylige bølge.
heldigvis giver foråret rammer Spring Cloud og Spring Boot, som i høj grad forenkler microservice udvikling i Java.
hvis du leder efter et kursus, er Master Microservices med Spring Boot og Spring Cloud en god til at starte med.
og hvis du foretrækker bøger, foreslår jeg, at du tjekker Cloud Native Java af Josh Long, som giver en omfattende guide til udvikling af Java-applikationer til skyen.
DevOps Tools (Jenkins, Docker og Kubernetes)
for en moderne Java-udvikler er viden om DevOps afgørende. Han skal i det mindste være bekendt med kontinuerlig integration og kontinuerlig implementering, og hvordan Jenkins hjælper med at opnå det.
det bliver endnu vigtigere for senior Java-udviklere, der ofte er ansvarlige for at indstille kodning bedste praksis og skabe miljøer, bygge scripts og retningslinjer.
jeg foreslår også, at du bruger tid og lærer mere om DevOps generelt og værktøjer som Docker, Ansible, Kubernetes osv.
hvis du har brug for nogle ressourcer, så lær DevOps: CI/CD med Jenkins ved hjælp af rørledninger og Docker i Udemy er nok det bedste kursus til at begynde med. Du vil ikke kun lære om CI og CD, men også om Maven og Jenkins i dybden.
og hvis du foretrækker bøger, foreslår jeg, at du læser projektet: En roman om det, DevOps og hjælper din virksomhed med at vinde, hvilket giver et omfattende overblik over, hvordan DevOps og automatisering kan gøre formue for erhvervslivet.
Spring Frame (Spring Boot)
det er næsten bydende nødvendigt i dag for en Java-udvikler at lære Spring frames, da de fleste af virksomhederne foretrækker at udføre udvikling ved hjælp af Spring-rammer som Spring MVC, Spring Boot og Spring Cloud til udvikling af en internetapplikation, REST API ‘ er Microservices.
det fremmer også bedste praksis som afhængighedsinjektion og gør din applikation mere testbar, hvilket er et nøglekrav til moderne programmer.
hvis du er en ny Java-udvikler, foreslår jeg, at du starter med denne Java-og Forårstutorial for at lære det grundlæggende i denne fantastiske ramme, og hvis du allerede er bekendt med foråret, skal du udforske Spring Boot og Spring Cloud til udvikling af næste generations Java-applikation.
hvis du leder efter nogle referencer, så er Spring ramme 5: Begynder til Guru det bedste kursus til at begynde med.
JUnit og Mockito
hvis der er en fælles ting, der adskiller en god Java-udvikler fra en gennemsnitlig Java-udvikler, er det enhedens testfærdighed.
en god og professionel Java-udvikler skriver næsten altid enhedstest for sin kode, og hvis han virkelig er en Rockstar-udvikler, kan du se det fra hans kode og test.
test er også kommet langt nu med flere værktøjer til enhedstest, integrationstest og automatiseringstest, der er tilgængelige for Java-udviklere.
du kan bruge en god mængde 2020 til at finpudse din testfærdighed i Java, men dem, der er nye i Java-verdenen og enhedstest, JUnit er det bedste bibliotek til at begynde med. Den seneste version JUnit 5 er både kraftfuld og fleksibel, og enhver Java-udvikler bør vide det.
hvis du er på udkig efter et godt overblik over JUnit og unit Test i Java så JUnit og Mockito Crash kurser en perfekt til at starte med. Det er ikke det mest opdaterede, da det ikke dækker JUnit 5, men stadig ret nyttigt for begyndere.
Lær API ‘er og biblioteker
hvis du har arbejdet med store Java-udviklere, har du måske bemærket deres overordnede viden om Java-økosystemet, og API’ er udgør en stor del af det.
Java er verdens mest populære og modne programmeringssprog, og der er masser af biblioteker og API ‘ er til rådighed til at gøre næsten alt muligt.
selvfølgelig forventes det ikke, at du kender dem alle, men du skal være bekendt med nogle vigtige API ‘er som JSON processing API’ er som Jackson og Gson.
hvis du ikke kender dem, kan du lære eller i det mindste få et overblik over dem i 2020. Til at begynde med kan du tjekke min liste over 20 Java-biblioteker, som enhver Java-udvikler skal vide, som dækker biblioteker fra nøgleområder som parsing, bytecode manipulation, samtidighed, samlinger osv.
JVM Internals
hvis du er seriøs om at blive en Rockstar Java udvikler så skal du bruge tid til at lære JVM internals ligesom Hvad er forskellige dele af JVM, hvordan de arbejder, JIT, JVM muligheder, skrald samlinger, og samlere, etc.
hvis du kender JVM godt, kan du skrive både robust og højtydende Java-applikation, og det er hvad Rockstar Java-udviklere gør.
som en del af dette skal du også lære at profilere din Java-applikation, hvordan du finder ydelsesflaskehalse, f.eks. hvilke objekter der tager de fleste af dine minder og spiser CPU ‘ er.
til struktureret læring anbefaler jeg at forstå Java Virtual Machine-serien på Pluralsight. Det er et meget detaljeret og praktisk kursus, perfekt til nysgerrige Java-udviklere.
BTV, du har brug for et Pluralsight-medlemskab for at få adgang til dette kursus, som koster omkring $29 pr.måned eller $299 årligt (14% rabat).
hvis du ikke har Pluralsight-medlemskab, opfordrer jeg dig til at få ET, fordi det giver dig adgang til deres 5.000+ online kurser om alle de nyeste emner som front-end og back-end udvikling, maskinindlæring osv. Det inkluderer også interaktive test, øvelser og det nyeste certificeringsmateriale.
det er mere som Netfinder for Programmeludviklere, og da læring er en vigtig del af vores job, er Pluralsight-medlemskab en fantastisk måde at holde sig foran din konkurrence.
de giver også en 10-dages gratis prøveperiode uden nogen forpligtelse, hvilket er en fantastisk måde at ikke bare få adgang til dette kursus gratis, men også at kontrollere kvaliteten af kurser, før du tilmelder dig Pluralsight.
for dem, der foretrækker bøger den Definitive Guide til Java ydeevne af Scott Oaks er en stor bog at mestre JVM internals og garbage collection.
designmønstre
hvis du skriver et Java-program fra bunden, er det meste af tiden, du skriver objektorienteret kode og designmønstre, afprøvede løsninger på almindelige problemer.
ved at kende og indarbejde dem i din kode gør du din ansøgning mere fleksibel og lettere at ændre i fremtiden.
det forbedrer også den samlede kodekvalitet og dokumentation, fordi andre Java-udviklere også er fortrolige med designmønstre, og de vil forstå din løsning ret hurtigt.
men fokuser ikke bare på kodedelen, forstå ånden og vær kreativ. Brug Java 8-funktioner som lambdas og Streams til at omskrive mønstre som Strategimønstre.
hvis du leder efter nogle ressourcer til at lære designmønstre, er denne liste over designmønsterkurser et godt sted at starte med. Og for dem der kan lide bøger, kan mine anbefalede bøger om designmønstre findes her.
Kotlin
et par år tilbage læste jeg en bog kaldet den velbegrundede Java-udvikler, der fremhævede fordelen ved at blive Polyglot-programmør.
det inspirerede mig til at lære Scala, og senere prøvede jeg også Groovy på grund af dets øgede brug til at skabe build-scripts og enhedstest.
denne oplevelse har hjulpet mig meget, og det er derfor, jeg opfordrer Java-udviklere til at lære et nyt JVM-sprog. Jeg har blogget om det tidligere på 3 JVM-sprog Java-udviklere skal lære i 2020, men hvis du har travlt, skal du bare lære Kotlin.
det er et fantastisk sprog fra JetBrains, firmaet bag IntelliJ IDEA, og også det officielle sprog til Android-udvikling som annonceret af Google i 2017.
det vil ikke kun forbedre din produktivitet, men også hjælpe dig med at gå ind i Android udviklingsområdet. Hvis du ønsker at lære Kotlin i 2020 og leder efter en god ressource, er her en liste over Kotlin-kurser til at begynde med.
IDE (Eclipse eller IntelliJIDEA)
et af de vigtigste træk ved bedre Java-udviklere er, at de er meget gode på deres værktøjer. De kender ikke kun flere værktøjer end gennemsnitlige udviklere, men de kender også deres værktøjer godt.
da ide ‘ er som Eclipse, NetBeans og IntelliJ IDEA er det vigtigste værktøj til en Java-programmør, giver det mening at bruge lidt tid på at lære bedre.
du kan lære om nogle plugins, der gør din opgave let eller nogle tastaturgenveje, der hjælper dig med at navigere bedre.
selv nogle små tip hjælper langt, fordi du bruger dem meget mere, end du tror. Hvis du er seriøs med at tage dine IDE-færdigheder til næste niveau og bruge Eclipse, så foreslår jeg, at du tjekker Eclipse Debugging teknikker og Tricks på Udemy, et perfekt kursus for at forbedre din viden om Eclipse.
React eller Angular
for at blive en Full-stack Java-udvikler skal du også kende en front-end-ramme, og der er ikke noget bedre valg end React eller Angular.
disse to JavaScript rammer har fuldstændig ændret, hvordan du udvikler applikationer. Som Java-udvikler har du muligvis brugt Servlet, JSP og jespery på klientsiden, men det er bedre at lære vinkel eller reagere, fordi moderne frontend-udvikling bruger disse rammer.
afhængigt af om du vælger Angular eller React.js, jeg foreslår følgende to kurser for at deltage for at blive en Full-stack Java-udvikler.
- Go Java Full Stack med Spring Boot og React
- Go Java Full Stack med Spring Boot og Angular
begge er gode kurser til at lære Angular og React med Spring Boot og blive en Full-stack Java-udvikler.
Lær Java bedre
dette er det vigtigste for en Java-udvikler lige nu. Java opdateres konstant, og nu med hver ny version på 6 måneder er det en stor udfordring at holde dig opdateret. Jeg har lært Java 10-funktioner, og jeg kender mange programmører, der ikke har skrevet en enkelt kodelinje ved hjælp af Java 8-funktioner som lambdas og Stream API.
Desværre er de fleste af dem erfarne Java-udviklere med god 7 til 10 års erfaring i deres bælte. Jeg forstår, at på et tidspunkt i din karriere bliver læring langsom, men hvis du ikke handler nu, vil du blive efterladt.
næsten alle Java-udviklingsjob krævede nu Java 8+ – færdigheder, og hvis du ikke har dem, ville det være meget vanskeligt at klare sig godt og udføre godt i dine Java-samtaler.
hvis du nu har tænkt dig at lære Java, men bekymre dig om, hvor du skal starte med, foreslår jeg, at du tjekker den komplette Java MasterClass på Udemy, som vil lære dig alt det grundlæggende i Java 8-funktioner og andre nye funktioner introduceret i Java 9, 10, 11 og måske i Java 12 meget snart.
og hvis du er interesseret i en mere avanceret, hands-on kursus derefter Refactoring Java 8 af Dr.
det handler om nogle af mine tip til at blive en bedre Java-udvikler i 2020. Jeg ved, det er svært at følge alle disse tips, og jeg beder ikke om at gøre det, det er simpelthen ikke praktisk.
du kan fokusere på vigtigere først som at lære Java 8 og lære foråret rammer, hvis du ikke har kendt dem endnu, men hvis du er god til dem, end du kan vælge andre emner, mener jeg unit testing, JVM internals og DevOps.
til at begynde med skal du vælge en som at lære de nyeste Java-funktioner siden Java 8 til Java 13 og begå med det, før du går videre til næste tip. Hvis du leder efter nogle lavt hængende frugter, er det et godt valg at lære din IDE bedre.
du kender allerede din IDE, og at bruge lidt tid på at lære det bedre vil gøre dig til en mere produktiv og bedre Java-udvikler på en hurtig tid.
alt det bedste og glem ikke at dele dine tip, som du synes har gjort dig til en bedre Java-udvikler.
hvis du har forslag eller feedback, er du meget velkommen, vi lærer alle af hinanden.
P. S. — Hvis du er ny til Java programmeringssprog og leder efter et omfattende og struktureret kursus for at lære Java dybtgående, så anbefaler jeg også, at du tjekker det komplette Java Masterclass kursus af Tim Buchalaka. Det er også den mest up-to-date kursus og dækker nye Java-funktioner fra de seneste udgivelser.