Invatare java si alte tehnologii - sfaturi

Salut!

Am terminat facultatea si nu prea imi place ceea ce fac, vreau sa fac o conversie si sa invat java, problema este ca nu stiu ce sa fac.

La fiecare anunt de angajare pe langa java se mai cer o gramada de tehnologii.

Ma gandesc sa invat java si ca framework spring boot si postgresql.

Ce parere aveti? Sfaturi in alegerea tehnologiei? Merita sa urmez un curs platit?

Invață prima oară limbajul, nici nu încerca să te complici cu un framework înainte să stăpânești limbajul la un nivel decent. Framework-ul va introduce un layer de complexitate în plus care va încetini considerabil procesul de asimilare.

1 Like

Ce inseamma un nivel decent? Cursurile de pe udemy sunt ok pentru a invata java?

Decent înseamnă să nu te bâlbâi când ești în situația de a folosi limbajul respectiv. De exemplu, când trebuie să iterezi printr-un array să nu fii nevoit să cauți pe stackoverflow cum se face. Sau când trebuie să extinzi o clasă, sau să te joci cu string-urile, sau să faci operații I/O șamd.

Mă rog, trebuie să te familiarizezi și cu modul în care se fac lucrurile în limbajul respectiv, așa-zisele “best practices”. Programatorii experimentați ai unui limbaj fac alergie când văd cod neconform cu convențiile mai mult sau mai puțin arbitrare stabilite de-a lungul timpului. Dau mai jos o listă random cu Java Best Practices (eu nu sunt developer Java, deci ia cu precauție sugestiile mele):

Habar n-am cum e la udemy, dar bănuiesc că orice curs axat pe un limbaj te învață chestiile alea de bază de care vorbeam mai sus.

1 Like

de ce vrei sa inveti java?

Pentru ca sunt mai multe oportunitati de angajare. Chiar nu stiu ce sa invat ca limbaj de programare care sa imi ofere posibilitati mai multe de angajare, sa nu fie chiar asa de greu.

Care e backgroundul (facultate) din care te orientezi spre Java?

dar daca te uiti la requirements, pe langa java. este un munte imens pe care tre sa il stii. Majoritatea joburilor in romania, cand eram eu prin tara, erau enterprise software, jee, sau dot.net

presupun ca majoritatea acu sunt

  • java
  • oop
  • java crazy shit enterprise design patterns.
  • spring
  • some ORM
  • rest
  • git
  • unit/integration testing

Daca alegi un limbaj mai usor de digerat, vei invata mai repede.

my 2 cents

@crystal Inginerie, nu am avut treaba cu programarea. Doar putin c/c++ in primul an.

@zitrusgrape nu inteleg la ce te referi prin limbaj usor de digerat? Eu am ales java dar nu este ceva batut in cuie, am mers pe principiul ca sunt mai multe oportunitati de angajare. Sunt deschis la sugestii.

ai ales java. dar niciodata nu vei lucra cu std java.

presupun ca majoritatea joburilor sunt web related.

so pe langa java, va trebui sa stii

  • whatever framework in java este used
  • whatever style of programming that framwork has(mvc, mv, async, actor, etc)
  • whatever ORM folosesc
  • testing libraries
  • infrastructura( k8, aws, gcloud, azure, heroku, etc)
  • web crap( http, ssl, javascript, rest, css, this kind of crap)
  • search libraries( ES, typesense, angolia )
  • kafka, or any other message broker
  • git, github/bitbucket, code review
  • auth, autorization, logs, etc

so, dupa cum vezi, nu este doar java.

o alta chestie pe care tre sa o stii: chiar daca java avanseaza langauge wise, rareori la companiile mari, vei lucra cu latest crap. majoritatea timpului, legacy.

Intrebarea era in sensul daca ai niste baze de programare, daca inteleg cum functioneaza un calculator, compilare, executie, memorie, variabile bucle etc. Daca le ai, este usor sa inveti un limbaj pentru ca nu e doar o cutie neagra ci efectiv intelegi ce se intampla in spate.

@zitrusgrape da, dar banuiesc ca nu se cere asta din prima pentru un junior, astea se capata odata cu experienta la locul de munca, nu?

@crystal oarecum, am putine cunostinte din bazele programarii

google junior java developer, vezi:

  • number of jobs
  • cerinte

cred, sincer ca ai mult mai multe sanse pentru python, ruby, javascript. dar presupun ca joburile pe care le cauti sunt in ro, iar ro. nu este foarte startups idea mode

Pai si problema este, python are mai multe ramuri, iar daca vreau javascript trebuie sa mai stiu html/css si baze de date (html/css se invata usurel)

toate au multe ramuri :smiley:

Pai tocmai, ca aici am cele mai multe dificultati, nu stiu ce sa aleg. Nu am probleme cu webdev, pe frontend, doar ca nu vreau sa stau pe 2500-3000 ron mult timp…

aici nu depinde de tine, cat vei sta. ce faci daca in x ani/luni ce ai invata nu mai este util. AFAIK, java are not the most payed devs, citisem parca pe stackoverflow :slight_smile:

daca ai goal like this

  1. learn xxx programming
  2. get hired
  3. get lot of money

o sa fie un mare fail.
Fii pragmatic, invata sa programezi, nu invata un limbaj de programare doar pentru ca in ro, sunt 1000 joburi. Poate sunt 1000 joburi, si doar 100 pt, junior, si cer multe alte lucruri, so doar 40 pentru tine, iar acolo ai 1000 de persoane care vor acel job

pune niste numere aici. number of job, experience, salaries, related tech. si vezi unde te incadrezi :slight_smile:

scuza-mi romana :slight_smile:

Nu merg pe principiul make a lot of money, vreau sa am un salariu decent, nu cat se ia din start la kfc/mc.

De exemplu daca ma axez pe front-end cred ca am sanse mai mari… dar cand vad cate tehnologii cer pe post de junior javascript developer!

imagine|690x329

In cat timp te astepti sa te angajezi in domeniu din momenul in care te apuci sa inveti Java si in cat timp crezi ca vei ajunge la salariul dorit?

Si cred cred ca pana te hotarasti ce limbaj alegi poti incerca sa inveti bazele indiferent de ce limbaj o sa alegi mai tarziu.

M-am uitat acum pe linkedin pe Romania cautare bruta java junior vs python junior: 14 la 7 joburi. :slight_smile: