primesc adesea e-mailuri de la cititorii mei despre cum pot deveni un dezvoltator Java Full-stack, ce lucruri ar trebui să învețe și în ce zonă pot lucra pentru a deveni dezvoltator Java Rockstar.
după ce le-am răspuns individual în ultimii ani, m-am gândit să notez câteva puncte care cred că vă vor face un programator Java mai bun și un dezvoltator de aplicații Full-stack.
dar, înainte de a intra în asta, aș dori să subliniez că un programator mai bun este întotdeauna un dezvoltator Java mai bun și de aceea toate sfaturile pe care le-am împărtășit înainte pentru a vă îmbunătăți abilitățile de programare și a deveni un programator mai bun sunt încă valabile.
dacă nu le-ați citit încă, îl puteți citi după acest articol, acestea vă vor ajuta să vă îmbunătățiți abilitățile de programare și codificare, ceea ce este esențial pentru a deveni un dezvoltator Java mai bun.
acest articol se concentrează în totalitate pe perspectiva dezvoltării Java și presupun că sunteți deja buni la lucruri esențiale precum codarea, structurile de date și algoritmii și conceptele de informatică precum rețelele, protocoalele, programarea orientată pe obiecte etc.
aceste sfaturi sunt la fel de utile atât pentru Core Java developer, mă refer la băieții Java care scriu aplicații pe partea de server, dar care nu sunt implicați cu adevărat în abilități de dezvoltare web precum JSP, Servlet și JEE, precum și pentru Java Web developer a cărui sarcină principală este să scrie aplicații web folosind tehnologia Java și cei care doresc să devină un dezvoltator Java cu stivă completă în 2020.
deși, am lăsat afară unele lucruri web cum ar fi învățarea JSF sau Servlet 4.0 pentru o altă zi pentru a păstra această listă scurtă și simplă. Oricum, fără alte întrebări, iată câteva abilități, sfaturi și sugestii pentru a deveni un dezvoltator Java cu stivă completă în 2020.
- 11 abilități pentru a deveni un programator Java expert
- proiectarea și arhitectura Software
- microservicii
- DevOps Tools (Jenkins, Docker și Kubernetes)
- Spring Framework (Spring Boot)
- JUnit și Mockito
- aflați API-uri și biblioteci
- JVM Internals
- modele de proiectare
- Kotlin
- IDE (Eclipse sau IntelliJIDEA)
- React sau Angular
- ambele sunt cursuri excelente pentru a învăța Angular și a reacționa cu Spring Boot și a deveni un dezvoltator Java cu stivă completă.
- Aflați Java mai bine
11 abilități pentru a deveni un programator Java expert
dacă doriți să vă accelerați cariera și să deveniți un programator Java cu stivă completă, acestea sunt abilități pe care le puteți învăța să vă distingeți de alți programatori.
proiectarea și arhitectura Software
proiectarea și arhitectura Software sunt, fără îndoială, cele mai importante faze ale procesului de dezvoltare software. Posibilitatea de a vedea imaginea de ansamblu și de a gândi prin problema la îndemână și de a decide cu privire la arhitectura și tehnologia potrivită pentru implementarea aplicației dvs. sunt abilități cruciale pentru orice dezvoltator de software, nu doar pentru un dezvoltator Java.
dacă doriți să vă accelerați cariera în 2020 și doriți să deveniți un dezvoltator Java senior companiile sunt căutate, vă sugerez să învățați arhitectura Software. Dacă aspiră să devină un arhitect soluție, atunci, de asemenea, această abilitate vă va ajuta foarte mult și distinge de alți dezvoltatori.
dacă aveți nevoie de o resursă pentru a învăța lucruri de bază despre proiectarea și arhitectura Software, atunci vă sugerez să consultați aplicația Web & arhitectura Software 101 curs pe educativ. Este un curs excelent pentru a învăța diferite modele arhitecturale, cum ar fi microservicii, client-server și aplicații distribuite.
pentru a fi sincer cu dvs., acesta este cel mai bun curs nu numai pentru dezvoltatorii seniori, ci și pentru fiecare dezvoltator de software de acolo, deoarece vă va extinde procesul de gândire și veți face un dezvoltator web mai încrezător. Există o reducere semnificativă pe curs acum, și este disponibil pentru doar $44, prețul inițial $79, este un pic scump le Udemy Cursuri, dar merita.
pe de altă parte, dacă vă place educativ ca o platformă, puteți cumpăra, de asemenea, un abonament pentru doar $17 pe lună (50% reducere), am unul, și am foarte recomandăm să obțineți.
microservicii
arhitectura se schimbă constant și multe companii trec de la aplicații monolitice la microservicii.
este timpul ca dezvoltatorii Java să învețe arhitectura Microserviciilor și cum să creeze microservicii în Java pentru a profita de acest val recent.
din fericire, Spring framework oferă Spring Cloud și Spring Boot, care simplifică foarte mult dezvoltarea microserviciilor în Java.
dacă sunteți în căutarea unui curs, atunci Master Microservices cu Spring Boot și Spring Cloud este unul bun pentru a începe.
și, dacă preferați cărți, atunci vă sugerez să verificați nor nativ Java de Josh lung, care oferă un ghid cuprinzător pentru dezvoltarea de aplicații Java pentru nor.
DevOps Tools (Jenkins, Docker și Kubernetes)
pentru un dezvoltator Java modern, cunoașterea DevOps este esențială. El ar trebui să fie cel puțin familiarizat cu integrarea continuă și desfășurarea continuă și modul în care Jenkins ajută la realizarea acestui lucru.
devine și mai important pentru dezvoltatorii Java seniori, care de multe ori sunt responsabili pentru setarea celor mai bune practici de codare și crearea de medii, construirea de scripturi și orientări.
de asemenea, vă sugerez să petreceți timp și să aflați mai multe despre DevOps în general și instrumente precum Docker, Ansible, Kubernetes, AWS etc. împreună cu Maven și Jenkins.
dacă aveți nevoie de unele resurse, apoi să învețe DevOps: CI / CD cu Jenkins folosind conducte și Docker în Udemy este, probabil, cel mai bun curs pentru a începe cu. Nu veți învăța doar despre CI și CD, ci și despre Maven și Jenkins în profunzime.
și, dacă preferați cărțile, vă sugerez să citiți proiectul Phoenix: un roman despre IT, DevOps și ajutând afacerea dvs. să câștige, care oferă o imagine de ansamblu cuprinzătoare a modului în care DevOps și automatizarea pot transforma averea pentru afaceri.
Spring Framework (Spring Boot)
este aproape imperativ în zilele noastre pentru un dezvoltator Java să învețe Spring framework, deoarece majoritatea companiilor preferă să facă dezvoltare folosind Spring Framework cum ar fi Spring MVC, Spring Boot și Spring Cloud pentru dezvoltarea unei aplicații web, REST API Microservices.
de asemenea, promovează cele mai bune practici, cum ar fi injectarea de dependență și face ca aplicația dvs. să fie mai testabilă, ceea ce reprezintă o cerință cheie pentru software-ul modern.
dacă sunteți un nou dezvoltator Java, atunci vă sugerez să începeți cu acest tutorial Java și Spring pentru a afla elementele de bază ale acestui cadru minunat și dacă sunteți deja familiarizați cu Spring, atunci ar trebui să explorați Spring Boot și Spring Cloud pentru dezvoltarea aplicației Java de generație următoare.
dacă sunteți în căutarea unor referințe, atunci Spring Framework 5: începător la Guru este cel mai bun curs pentru a începe.
JUnit și Mockito
dacă există un lucru comun care separă un dezvoltator Java bun de un dezvoltator Java mediu, atunci este abilitatea de testare a unității.
un dezvoltator Java bun și profesionist scrie aproape întotdeauna teste unitare pentru codul său și dacă este într-adevăr un dezvoltator Rockstar, puteți vedea asta din codul și testele sale.
testarea a parcurs, de asemenea, un drum lung acum, cu mai multe instrumente pentru testarea unității, testarea integrării și testarea automatizării disponibile dezvoltatorilor Java.
puteți cheltui o sumă bună din 2020 pentru a vă perfecționa abilitățile de testare în Java, dar cei care sunt noi în lumea Java și testarea unității, JUnit este cea mai bună bibliotecă pentru a începe. Versiunea recentă JUnit 5 este atât puternică, cât și flexibilă și fiecare dezvoltator Java ar trebui să știe asta.
dacă sunteți în căutarea pentru o imagine de ansamblu bună a JUnit și unitatea de testare în Java apoi JUnit și Mockito Crash Cursuri o perfectă pentru a începe cu. Nu este cel mai actualizat, deoarece nu acoperă JUnit 5, dar totuși destul de util pentru începători.
aflați API-uri și biblioteci
dacă ați lucrat cu dezvoltatori Java mari s-ar putea fi observat cunoștințele lor de ansamblu a ecosistemului Java și API-uri formează o mare parte din ea.
Java este cel mai popular și matur limbaj de programare din lume și există tone de biblioteci și API-uri disponibile pentru a face aproape tot ce este posibil.
desigur, nu vă așteptați să le cunoașteți pe toate, dar ar trebui să fiți familiarizați cu unele API-uri cheie precum API-urile de procesare JSON precum Jackson și Gson, API-uri de procesare XML precum JAXB și Xerces, biblioteci de testare unitară precum Mockito și JUnit etc.
dacă nu le cunoașteți, puteți afla sau cel puțin obține o imagine de ansamblu a acestora în 2020. Pentru început, puteți consulta lista mea de 20 de biblioteci Java pe care fiecare dezvoltator Java ar trebui să le cunoască, care acoperă bibliotecile din domenii cheie precum parsarea, manipularea bytecode, concurența, colecțiile etc.
JVM Internals
dacă sunteți serios despre a deveni un dezvoltator Rockstar Java, atunci trebuie să-și petreacă timpul pentru a învăța JVM internals cum ar fi ceea ce sunt diferite părți ale JVM, modul în care acestea funcționează, JIT, opțiuni JVM, colecții de gunoi, și colecționari, etc.
dacă știți JVM bine puteți scrie atât robuste și de înaltă performanță aplicație Java și asta e ceea ce dezvoltatorii Rockstar Java face.
ca parte a acestui lucru, ar trebui să învețe, de asemenea, cum să profil aplicația Java, cum de a găsi blocaje de performanță de exemplu, ce obiecte sunt luați cele mai multe dintre amintirile și consumul de procesoare.
pentru învățarea structurată, vă recomand să înțelegeți seria de mașini virtuale Java pe Pluralsight. Este un curs foarte detaliat și practic, perfect pentru dezvoltatorii Java curioși.
Btw, veți avea nevoie de un membru Pluralsight pentru a avea acces la acest curs, care costă în jur de 29 USD pe lună sau 299 USD anual (reducere de 14%).
dacă nu aveți membru Pluralsight, vă încurajez să obțineți unul, deoarece vă permite să accesați peste 5.000 de cursuri online pe toate cele mai recente subiecte, cum ar fi dezvoltarea front-end și back-end, învățarea automată etc. De asemenea, include teste interactive, exerciții și cele mai recente materiale de certificare.
este mai mult ca Netflix pentru dezvoltatorii de Software și din moment ce învățarea este o parte importantă a muncii noastre, calitatea de membru Pluralsight este o modalitate excelentă de a rămâne în fața concurenței.
de asemenea, oferă o încercare gratuită de 10 zile fără niciun angajament, ceea ce este o modalitate excelentă de a accesa nu doar acest curs gratuit, ci și de a verifica calitatea cursurilor înainte de a vă alătura Pluralsight.
pentru cei care preferă cărți Ghidul definitiv pentru performanța Java de Scott Oaks este o carte excelentă pentru a stăpâni JVM internals și colectarea gunoiului.
modele de proiectare
dacă scrieți o aplicație Java de la zero, atunci de cele mai multe ori scrieți cod orientat pe obiecte și modele de proiectare sunt soluții încercate și testate de probleme comune.
prin cunoașterea și încorporarea lor în codul dvs., faceți aplicația dvs. mai flexibilă și mai ușor de schimbat în viitor.
de asemenea, îmbunătățește calitatea generală a codului și documentația, deoarece alți dezvoltatori Java sunt, de asemenea, familiarizați cu modelele de proiectare și vor înțelege soluția dvs. destul de repede.
dar, nu vă concentrați doar pe partea de cod, înțelegeți spiritul și fiți creativi. Utilizați Java 8 caracteristici, cum ar fi lambda și fluxuri pentru a rescrie modele, cum ar fi modele de strategie.
dacă sunteți în căutarea unor resurse pentru a învăța modele de proiectare, atunci această listă de cursuri de modele de proiectare este un loc bun pentru a începe. Și, pentru cei cărora le plac cărțile, cărțile mele recomandate despre modelele de design pot fi găsite aici.
Kotlin
un cuplu de ani de spate am citit o carte numita dezvoltator Java bine fundamentate, care a subliniat avantajul de a deveni un programator poliglot.
mi-a inspirat să învețe Scala și mai târziu am încercat, de asemenea, Groovy din cauza utilizării sale a crescut în crearea de script-uri construi și unitatea de testare.
această experiență m-a ajutat foarte mult și de aceea încurajez dezvoltatorii Java să învețe o nouă limbă JVM. Am scris despre asta anterior pe 3 limbi JVM dezvoltatorii Java ar trebui să învețe în 2020, dar dacă vă grăbiți, învățați doar Kotlin.
este un limbaj excelent de la JetBrains, compania din spatele IntelliJ IDEA și, de asemenea, limba oficială pentru dezvoltarea Android, anunțată de Google în 2017.
nu numai că vă va îmbunătăți productivitatea, dar vă va ajuta să intrați în zona de dezvoltare Android. Dacă doriți să învățați Kotlin în 2020 și căutați o resursă bună, atunci iată o listă de cursuri Kotlin pentru a începe.
IDE (Eclipse sau IntelliJIDEA)
una dintre cele mai importante trăsături ale dezvoltatorilor Java mai buni este că sunt foarte buni la instrumentele lor. Ei nu numai că știu mai multe instrumente decât dezvoltatorii medii, dar și ei își cunosc bine instrumentele.
deoarece IDE-urile precum Eclipse, NetBeans și IntelliJ IDEA sunt cel mai important instrument pentru un programator Java, este logic să petreci ceva timp pentru a învăța mai bine.
puteți afla despre unele pluginuri care vă ușurează sarcina sau despre unele comenzi rapide de la tastatură care vă ajută să navigați mai bine.
chiar și câteva sfaturi mici vă ajută mult, deoarece le folosiți mult mai mult decât credeți. Dacă sunteți serios în a vă duce abilitățile IDE la nivelul următor și utilizați Eclipse, atunci vă sugerez să verificați tehnicile și trucurile de depanare Eclipse pe Udemy, un curs perfect pentru a vă îmbunătăți cunoștințele despre Eclipse.
React sau Angular
pentru a deveni un dezvoltator Java cu stivă completă, trebuie să cunoașteți și un cadru front-end și nu există o alegere mai bună decât React sau Angular.
aceste două cadru JavaScript a schimbat complet modul în care se dezvolta aplicatii web. Ca dezvoltator Java, este posibil să fi folosit Servlet, JSP și jQuery la partea clientului, dar este mai bine să înveți Angular sau să reacționezi, deoarece dezvoltarea frontendului modern folosește aceste cadre.
în funcție de alegerea Angular sau React.js, vă sugerez următoarele două cursuri să se alăture pentru a deveni un dezvoltator Java full-stack.
- Go Java Full Stack cu Spring Boot și React
- Go Java Full Stack cu Spring Boot și Angular
ambele sunt cursuri excelente pentru a învăța Angular și a reacționa cu Spring Boot și a deveni un dezvoltator Java cu stivă completă.
Aflați Java mai bine
acesta este cel mai important lucru pentru un dezvoltator Java chiar acum. Java este actualizat în mod constant și acum cu fiecare nouă versiune în 6 luni, este o mare provocare pentru a vă menține la zi. Am fost de învățare Java 10 caracteristici și știu mulți programatori care nu au scris o singură linie de cod folosind Java 8 caracteristici cum ar fi lambdas și Stream API.
din păcate, cele mai multe dintre ele sunt cu experiență dezvoltator Java cu bun 7-10 ani de experiență în centura lor. Am înțeles că la un moment dat în cariera ta de învățare devine lent, dar dacă nu acționează ACUM va fi lăsat în urmă.
aproape toate joburile de dezvoltare Java au necesitat acum abilități Java 8+ și dacă nu le aveți, ar fi foarte dificil să vă descurcați bine și să vă comportați bine în interviurile dvs.
acum, dacă v-ați gândit să învățați Java, dar vă faceți griji de unde să începeți, vă sugerez să verificați MasterClass-ul Java complet pe Udemy, care vă va învăța toate elementele de bază ale caracteristicilor Java 8 și alte caracteristici noi introduse în Java 9, 10, 11 și poate în Java 12 Foarte curând.
și, dacă sunteți interesat într-o mai avansate, hands-on curs apoi Refactoring Java 8 de Dr.Heinz Kabutz este unul bun să se alăture.
este vorba despre câteva dintre sfaturile mele pentru a deveni un dezvoltator Java mai bun în 2020. Știu că este dificil să urmezi toate aceste sfaturi și nu cer să fac asta, pur și simplu nu este practic.
vă puteți concentra mai întâi pe mai importante, cum ar fi învățarea Java 8 și învățarea cadrului de primăvară, dacă nu le-ați cunoscut încă, dar dacă sunteți buni la acestea decât puteți alege alte subiecte, adică testarea unității, JVM internals și DevOps.
pentru a începe, trebuie să alegeți una cum ar fi învățarea celor mai recente caracteristici Java de la Java 8 la Java 13 și să vă angajați cu asta înainte de a trece la următorul sfat. Dacă sunteți în căutarea unor fructe mici agățate, atunci învățarea mai bună a ideii dvs. este o alegere bună.
știți deja IDE-ul dvs. și petreceți ceva timp învățându-l mai bine vă va face un dezvoltator Java mai productiv și mai bun într-un timp rapid.
toate cele bune și nu uitați să vă împărtășiți sfaturile care credeți că v-au făcut un dezvoltator Java mai bun.
dacă aveți sugestii sau feedback, atunci sunteți bineveniți, cu toții învățăm unul de la celălalt.
P. S. — Dacă sunteți nou în limbajul de programare Java și căutați un curs cuprinzător și structurat pentru a învăța Java în profunzime, vă recomand, de asemenea, să consultați cursul complet Java Masterclass de Tim Buchalaka. Este, de asemenea, cel mai actualizat curs și acoperă noile caracteristici Java din versiunile recente.