saan lukijoiltani usein sähköposteja siitä, miten he voivat tulla full-stack Java-kehittäjiksi, mitä asioita heidän pitäisi oppia ja millä alueella he voivat työskennellä tullakseen Rockstar Java-kehittäjiksi.
vastattuani niihin yksitellen viime vuosien aikana, ajattelin laskea pari pointtia, joiden uskon tekevän sinusta paremman Java-ohjelmoijan ja täyden pinon sovelluskehittäjän.
mutta ennen kuin menen siihen, haluan korostaa, että parempi ohjelmoija on aina parempi Java-kehittäjä ja siksi kaikki aiemmin jakamani vinkit ohjelmointitaitojen parantamiseen ja paremmaksi ohjelmoijaksi tulemiseen pitävät yhä paikkansa.
jos et ole vielä lukenut niitä, voit lukea ne tämän artikkelin jälkeen, ne auttavat sinua parantamaan ohjelmointi-ja koodaustaitojasi, jotka ovat välttämättömiä kehittyäksesi paremmaksi Java-kehittäjäksi.
tämä artikkeli keskittyy täysin Java – kehitysnäkemykseen ja oletan, että olet jo hyvä olennaisissa asioissa, kuten koodauksessa, Tietorakenteissa ja algoritmeissa, ja tietojenkäsittelytieteen käsitteissä, kuten verkottumisessa, protokollissa, Olio-ohjelmoinnissa jne.
nämä vinkit ovat yhtä hyödyllisiä sekä Core Java developerille, siis Java-tyypeille, jotka kirjoittavat palvelinpuolen sovelluksia, mutta eivät varsinaisesti osallistu web – kehitystaitoihin, kuten JSP, Servlet ja JEE, sekä Java Web developerille, jonka ensisijainen tehtävä on kirjoittaa web-sovelluksia Java-teknologialla, ja niille, jotka haluavat tulla täyspino Java-kehittäjäksi vuonna 2020.
olen kuitenkin jättänyt pois joitain verkkojuttuja, kuten learning JSF: n tai Servlet 4.0: n toiseen päivään pitääkseni tämän listan lyhyenä ja yksinkertaisena. Joka tapauksessa, pitemmittä puheitta, tässä on joitakin taitoja, vinkkejä, ja ehdotuksia tulla full-pino Java kehittäjä 2020.
- 11 taidot tulla taitavaksi Java-ohjelmoijaksi
- ohjelmistosuunnittelu ja arkkitehtuuri
- Mikrosovellukset
- DevOps-Työkalut (Jenkins, Docker ja Kubernetes)
- Spring Framework (Spring Boot)
- JUnit ja Mockito
- Learn API and Libraries
- JVM Internals
- Suunnittelukuviot
- Kotlin
- IDE (Eclipse tai IntelliJIDEA)
- React or Angular
- molemmat ovat loistavia kursseja oppia kulmikkuutta ja reagoida Jousikäynnistyksellä ja tulla täyspino Java-kehittäjäksi.
- Opi Java paremmin
11 taidot tulla taitavaksi Java-ohjelmoijaksi
jos haluat kiihdyttää uraasi ja tulla täyspino-Java-ohjelmoijaksi, nämä ovat taitoja, joilla voit oppia erottautumaan muista ohjelmoijista.
ohjelmistosuunnittelu ja arkkitehtuuri
ohjelmistosuunnittelu ja arkkitehtuuri ovat kiistatta ohjelmistokehitysprosessin tärkeimmät vaiheet. Kyky nähdä iso kuva ja ajatella ongelma käsillä, ja päättää oikea arkkitehtuuri ja teknologia pino toteuttaa sovelluksen ovat ratkaisevia taitoja tahansa ohjelmistokehittäjä, ei vain Java-kehittäjä.
jos haluat vauhdittaa uraasi vuonna 2020 ja haluat vanhemmaksi Java-kehittäjäyritykseksi, suosittelen opettelemaan Ohjelmistoarkkitehtuuria. Jos haluat tulla ratkaisu arkkitehti sitten myös tämä taito auttaa sinua paljon ja erottaa muista kehittäjistä.
jos tarvitset resurssia oppiaksesi perusjuttuja ohjelmistosuunnittelusta ja arkkitehtuurista, suosittelen tutustumaan verkkosovellukseen & Software Architecture 101 course on Educt. Se on hyvä kurssi oppia erilaisia arkkitehtonisia malleja, kuten Microservice, client-server, ja hajautetut sovellukset.
ollakseni rehellinen teille, tämä on paras kurssi paitsi senior Kehittäjät, mutta myös jokainen ohjelmistokehittäjä siellä, koska se laajentaa ajattelua ja voit tehdä enemmän luottavainen web developer. On merkittävä alennus tietenkin nyt, ja se on saatavilla vain $44, alkuperäinen hinta $79, se on hieman kallista niitä Udemy kursseja, mutta sen arvoista.
toisaalta, jos pidät Educatiivista alustana, voit myös ostaa tilauksen vain 17 dollarilla kuukaudessa (50% alennus), minulla on sellainen, ja suosittelen lämpimästi hankkimaan.
Mikrosovellukset
Arkkitehtuuri muuttuu jatkuvasti ja monet yritykset siirtyvät monoliittisista sovelluksista mikrosovelluksiin.
Java-kehittäjien on korkea aika opetella Microservice-arkkitehtuuria ja miten Mikropalveluja luodaan Javassa, jotta he voivat hyödyntää tätä viimeaikaista aaltoa.
onneksi Jousikehys tarjoaa Jousipilven ja Jousisaappaan, jotka yksinkertaistavat huomattavasti microservicen kehitystä Javassa.
jos etsit kurssia, niin Master Microservices with Spring Boot and Spring Cloud on hyvä aloittaa.
ja jos pidät enemmän kirjoista, kannattaa tarkistaa Josh Longin Cloud Native Java, joka tarjoaa kattavan oppaan Java-sovellusten kehittämiseen pilvelle.
DevOps-Työkalut (Jenkins, Docker ja Kubernetes)
modernille Java-kehittäjälle DevOpsin tuntemus on välttämätöntä. Hänen pitäisi ainakin tuntea jatkuva integraatio ja jatkuva käyttöönotto ja miten Jenkins auttaa siinä.
se tulee entistä tärkeämmäksi vanhemmille Java-kehittäjille, jotka usein vastaavat parhaiden koodauskäytäntöjen asettamisesta ja ympäristöjen luomisesta, komentosarjojen rakentamisesta ja ohjeista.
ehdotan myös, että vietät aikaa ja opit lisää Devopsista yleensä ja työkaluista kuten Docker, Ansible, Kubernetes, AWS jne yhdessä Mavenin ja Jenkinsin kanssa.
jos tarvitset resursseja, Opettele DevOps: CI / CD Jenkinsin käyttäessä Udemyssa putkistoja ja Dockeria on luultavasti paras kurssi aloittaa. Et vain oppia CI ja CD mutta myös Maven ja Jenkins perusteellisesti.
ja, jos haluat kirjoja niin ehdotan luet Phoenix Project: Romaani siitä, DevOps, ja auttaa yrityksesi voittaa, joka tarjoaa kattavan yleiskuvan siitä, miten DevOps ja automaatio voi kääntää fortune liiketoimintaa.
Spring Framework (Spring Boot)
nykyään on lähes välttämätöntä, että Java-kehittäjä oppii Spring Frameworkin, koska useimmat yritykset haluavat tehdä kehitystyötä käyttäen Spring Frameworkia, kuten Spring MVC: tä, Spring bootia ja Spring Cloudia verkkosovelluksen, REST API-Mikrosovellusten kehittämiseen.
se edistää myös parhaita käytäntöjä, kuten riippuvuuden injektiota, ja tekee sovelluksestasi testattavamman, mikä on keskeinen vaatimus nykypäivän ohjelmistoille.
jos olet uusi Java-kehittäjä, ehdotan, että aloitat tämän Java-ja Spring-opetusohjelman opettelemalla tämän mahtavan kehyksen perusasiat ja jos olet jo perehtynyt Springiin, sinun pitäisi tutustua Spring Bootiin ja Spring Cloudiin seuraavan sukupolven Java-sovelluksen kehittämiseen.
jos etsit referenssejä, niin Spring Framework 5: Beginner to Guru on paras kurssi aloittaa.
JUnit ja Mockito
jos on olemassa yksi yhteinen asia, joka erottaa hyvän Java-kehittäjän keskimääräisestä Java-kehittäjästä, niin sen yksikön testaustaito.
hyvä ja ammattitaitoinen Java-kehittäjä kirjoittaa lähes aina yksikkötestejä koodilleen ja jos hän todella on Rockstar-Kehittäjä, sen näkee hänen koodistaan ja testeistään.
testaus on myös edennyt pitkälle nyt, kun Java-kehittäjille on tarjolla useita työkaluja yksikkötestaukseen, integraatiotestaukseen ja automaatiotestaukseen.
voit käyttää hyvän määrän 2020 hioa testaus taitoa Java mutta niille, jotka ovat uusia Java world ja yksikkötestaus, JUnit on paras kirjasto aloittaa. Tuore JUnit 5-versio on sekä tehokas että joustava ja jokaisen Java-kehittäjän pitäisi tietää se.
jos etsit hyvää yleiskuvaa Junitista ja yksikkötestauksesta Java-kielellä, niin JUnit ja Mockito-Pikakurssit ovat täydellinen alku. Se ei ole kaikkein ajan tasalla, koska se ei kata JUnit 5, mutta silti melko hyödyllinen aloittelijoille.
Learn API and Libraries
jos olet työskennellyt suurten Java-kehittäjien kanssa, Olet saattanut huomata heidän yleisen tietämyksensä Java-ekosysteemistä ja API: t muodostavat siitä merkittävän osan.
Java on maailman suosituin ja kypsin ohjelmointikieli, ja tarjolla on tonneittain kirjastoja ja sovellusliittymiä, joilla voi tehdä lähes kaiken mahdollisen.
tietenkään sinun ei odoteta tietävän kaikkia niitä, mutta sinun tulisi tuntea joitakin keskeisiä sovellusliittymiä, kuten JSON processing API: t, kuten Jackson ja Gson, XML processing API: t, kuten Jaxb ja Xerces, Yksikkötestauskirjastot, kuten Mockito ja JUnit jne.
jos niitä ei tunne, niistä voi oppia tai ainakin saada yleiskuvan vuonna 2020. Aluksi voit tarkistaa minun luettelo 20 Java kirjastot jokainen Java kehittäjä pitäisi tietää, joka kattaa kirjastot avainalueilla, kuten jäsentäminen, bytecode manipulointi, samanaikainen, kokoelmat, jne.
JVM Internals
jos olet vakavissasi ryhtymässä Rockstar Java-kehittäjäksi, sinun täytyy käyttää aikaa opetellaksesi JVM: n sisäisiä asioita, kuten mitä ovat JVM: n eri osat, miten ne toimivat, JIT, JVM-vaihtoehdot, roskien kokoelmat ja keräilijät jne.
jos tunnet JVM: n hyvin, voit kirjoittaa sekä vankan että suorituskykyisen Java-sovelluksen ja sitä Rockstar Java-kehittäjät tekevät.
osana tätä kannattaa myös opetella profiloimaan Java-sovellus, Miten löytää suorituskyvyn pullonkauloja esim. mitkä objektit vievät suurimman osan muistoistasi ja syövät suorittimia.
strukturoituun oppimiseen suosittelen Java Virtual Machine-sarjan ymmärtämistä Pluralsight-sivustolla. Se on hyvin yksityiskohtainen ja käytännön kurssi, täydellinen utelias Java kehittäjille.
Btw, tarvitset Pluralsight-jäsenyyden päästäksesi tälle kurssille, joka maksaa noin 29 dollaria kuukaudessa tai 299 dollaria vuodessa (14% alennus).
jos sinulla ei ole Pluralsight-jäsenyyttä, kehotan sinua hankkimaan sellaisen, koska sen avulla voit käyttää heidän 5000+ verkkokurssia kaikista uusimmista aiheista, kuten front-end ja back-end-kehitys, koneoppiminen jne. Se sisältää myös interaktiivisia tietokilpailuja, harjoituksia ja uusinta sertifiointimateriaalia.
se muistuttaa enemmän Netflixiä ohjelmistokehittäjille ja koska oppiminen on tärkeä osa työtämme, Pluralsight-jäsenyys on hyvä tapa pysyä kilpailun edellä.
ne tarjoavat myös 10 päivän maksuttoman kokeilun ilman sitoutumista, mikä on hyvä tapa paitsi käyttää tätä kurssia ilmaiseksi, myös tarkistaa kurssien laatu ennen Pluralsightiin liittymistä.
kirjoja suosiville Scott Oaksin Definitive Guide to Java Performance on mainio kirja JVM: n sisäistämisen ja roskien keräämisen mestariksi.
Suunnittelukuviot
jos kirjoitat Java-sovellusta tyhjästä, niin useimmiten kirjoitat oliopohjaista koodia ja suunnittelukuviot ovat kokeiltuja ratkaisuja yleisiin ongelmiin.
tuntemalla ja sisällyttämällä ne koodiisi teet sovelluksestasi joustavamman ja helpomman muuttaa tulevaisuudessa.
se parantaa myös koodin yleistä laatua ja dokumentaatiota, koska myös muut Java-kehittäjät tuntevat suunnittelukuviot ja he ymmärtävät ratkaisusi melko nopeasti.
mutta älä keskity vain koodiosaan, ymmärrä henkeä ja Ole luova. Käytä Java 8 ominaisuuksia, kuten lambdas ja Streams kirjoittaa malleja, kuten strategia kuvioita.
jos etsit resursseja opetella suunnittelukuvioita, tämä suunnittelukuviokurssien lista on hyvä paikka aloittaa. Ja niille, jotka pitävät kirjoista, suositellut kirjani suunnittelukuvioista löytyvät täältä.
Kotlin
pari vuotta takaperin luin kirjan the Well-Grounded Java Developer, joka korosti Polyglot-ohjelmoijaksi ryhtymisen etua.
se inspiroi minua opettelemaan Scalaa ja myöhemmin kokeilin myös Groovya, koska sen käyttö on lisääntynyt rakennuskäsikirjoitusten ja yksikkötestauksen luomisessa.
tuo kokemus on auttanut minua paljon ja siksi kannustan Java-kehittäjiä opettelemaan uuden JVM-kielen. Olen blogannut siitä aiemmin 3 JVM kielet Java kehittäjät pitäisi oppia 2020, mutta jos sinulla on kiire, vain oppia Kotlin.
se on loistava kieli IntelliJ-idean takana olevalta JetBrains-yhtiöltä ja myös Googlen vuonna 2017 ilmoittama virallinen kieli Android-kehitykseen.
se paitsi parantaa tuottavuutta, myös auttaa sinua siirtymään Androidin kehitysalueelle. Jos etsit oppia Kotlin vuonna 2020 ja etsivät hyviä resurssi sitten tässä on luettelo Kotlin kursseja aloittaa.
IDE (Eclipse tai IntelliJIDEA)
yksi parempien Java-kehittäjien tärkeimmistä piirteistä on se, että he ovat erittäin hyviä työkaluissaan. He paitsi tuntevat enemmän työkaluja kuin keskivertokehittäjät, myös tuntevat työkalunsa hyvin.
koska ID: t, kuten Eclipse, NetBeans ja IntelliJ IDEA, ovat Java-ohjelmoijan tärkein työkalu, on järkevää käyttää aikaa paremman oppimiseen.
voit tutustua joihinkin liitännäisiin, jotka helpottavat tehtävääsi, tai joihinkin pikanäppäimiin, jotka auttavat sinua navigoimaan paremmin.
pienetkin vinkit auttavat pitkälle, koska käytät niitä paljon enemmän kuin luulet. Jos olet tosissaan ottaa IDE taitoja seuraavalle tasolle ja käyttää Eclipse, niin suosittelen tarkistaa Eclipse virheenkorjaus tekniikoita ja temppuja Udemy, täydellinen kurssi parantaa tietämystä Eclipse.
React or Angular
päästäkseen täyspino-Java-kehittäjäksi on osattava myös etupään puitteet, eikä parempaa vaihtoehtoa ole kuin React tai Angular.
nämä kaksi JavaScript-kehystä ovat muuttaneet täysin sen, miten verkkosovelluksia kehitetään. Java-kehittäjänä olet saattanut käyttää servletiä, JSP: tä ja jQuerya asiakaspuolella, mutta sen parempi on oppia kulmikkuutta tai reagoida, koska moderni frontend-kehitys käyttää näitä kehyksiä.
riippuen siitä, valitseeko kulmaksi vai reagoiko.js, ehdotan seuraavat kaksi kurssia liittyä tulla full-pino Java kehittäjä.
- Go Java Full Stack with Spring Boot ja React
- Go Java Full Stack with Spring Boot ja Angular
molemmat ovat loistavia kursseja oppia kulmikkuutta ja reagoida Jousikäynnistyksellä ja tulla täyspino Java-kehittäjäksi.
Opi Java paremmin
tämä on tärkeintä Java-kehittäjälle juuri nyt. Java päivitetään jatkuvasti ja nyt jokainen uusi versio 6 kuukautta, se on suuri haaste pitää itsesi ajan tasalla. Olen oppinut Java 10 ominaisuuksia ja tiedän monia ohjelmoijia, jotka eivät ole kirjoittaneet yhden rivin koodia käyttäen Java 8 ominaisuuksia, kuten lambdas ja Stream API.
valitettavasti suurin osa heistä on kokeneita Java-kehittäjiä, joilla on reilut 7-10 vuoden kokemus vyöstään. Ymmärrän, että jossain vaiheessa uraasi oppiminen on hidasta, mutta jos et toimi nyt, jäät jälkeen.
lähes kaikki Java-kehitystyöt vaativat nyt Java 8+ – taitoja ja jos niitä ei ole, olisi hyvin vaikea pärjätä ja pärjätä Java-haastatteluissa.
nyt, Jos olet päättänyt opetella Javaa, mutta olet huolissasi mistä aloittaa, kannattaa tarkistaa Udemyn Täydellinen Java MasterClass, joka opettaa sinulle kaikki Java 8: n perusteet ja muut Java 9: ssä, 10: ssä, 11: ssä ja ehkä Java 12: ssa käyttöön otetut uudet ominaisuudet hyvin pian.
ja, jos olet kiinnostunut kehittyneempi, käytännön kurssi sitten Refactoring Java 8 Dr. Heinz Kabutz on hyvä liittyä.
siinäpä muutama vinkkini tulla paremmaksi Java-kehittäjäksi vuonna 2020. Tiedän, että on vaikea noudattaa kaikkia näitä vinkkejä, enkä pyydä tekemään sitä, se ei yksinkertaisesti ole käytännöllistä.
voit keskittyä tärkeämpiin asioihin, kuten Java 8: n oppimiseen ja Spring Frameworkin oppimiseen, jos et ole vielä tuntenut niitä, mutta jos olet hyvä niissä, kuin voit valita muita aiheita, tarkoitan yksikkötestausta, JVM: n sisäistämistä ja Devopsia.
aloittaaksesi sinun täytyy valita yksi kuten opetella viimeisimmät Java-ominaisuudet Java 8: sta Java 13: een ja toimittaa se uudelleen ennen siirtymistä seuraavaan vihjeeseen. Jos etsit joitakin Alhainen roikkuu hedelmiä sitten oppiminen IDE parempi on hyvä valinta.
tiedät jo ideasi ja sen opetteleminen paremmin tekee sinusta nopeasti tuottavamman ja paremman Java-kehittäjän.
kaikki parhaat ja älä unohda jakaa vinkkejä, joiden uskot tehneen sinusta paremman Java-kehittäjän.
jos teillä on ehdotuksia tai palautetta, niin olette erittäin tervetulleita, me kaikki opimme toisiltamme.
P. S. — Jos olet uusi Java-ohjelmointikieli ja etsit kattavaa ja jäsenneltyä kurssia Java-syvälliseen oppimiseen, suosittelen myös tutustumaan Tim Buchalakan täydelliseen Java Masterclass-kurssiin. Se on myös ajan tasalla kurssi ja kattaa uusia Java ominaisuuksia viime julkaisuista.