Daca ati fii in locul meu ce v-ati apuca sa invatati?

Salutare

Pe scurt sunt student in anul 3 la o facultate de profil ( inginerie electrica si stiinta calculatoarelor) si urmeaza sa incep un internship / program pentru studenti unde voi invata si voi lucra cu Java Spring Boot in mare parte si ceva Angular , sunt pe pozitia de (viitor) Back-end developer caci asta vreau sa fac de-acum incolo.
Da intrebarea se pune dincolo de acel tutorial de cateva ore pe youtube pe care il urmezi sa inveti Spring Boot si poate dupa te mai uiti la un tutorial de Angular si faci o aplicatia de asta basic : Student Management System ce ai putea invata in plus sa te diferentiezi, sa evoluezi?
Este necesar sa fac un curs de AWS? Sa ma joc cu toate bazele de date? Sa invat GraphQL?
Ce carti sa citesc ca sa invat mai multe ca viitor back-end developer? Sa citesc carti despre design patterns? Despre CI/CD?
Si cireasa de pe tort : daca ati in fii in locul meu acuma ce ati invata pe langa simplele tutoriale mentionate?

P.S. Desi tutorialele acestea mentionate nu explica rau si nu fac rau ceea ce fac ma simt blocat la nivelul de baza si cand vrei sa contribui la un proiect open source calumea sau poate sa mergi sa lucrezi parca te lovesti de lucruri care poate nici nu aveai habarn ca exista si nici nu stii de unde sa incepi .

Esti student la primul internship. Nu o sa aiba nimeni pretentii de la tine de cloud, CI/CD etc.

Ar trebui sa iti pui la punct cunostintele de baza, nu sa te arunci in toate directiile.
In cazul tau eu as aprofunda Java, SQL, Spring, niste concepte clean code, niste design patterns, niste algoritmica.

Cand esti la inceput tinzi sa cazi usor in capcana in care crezi ca stii un limbaj/o tehnologie doar pentru ca ai urmat un tutorial de cateva ore, dar nu e cazul. Chiar si tu zici de tutorial de cateva ore pentru Spring Boot de parca ar fi suficient. Practic asa nu inveti decat sa pui niste adnotari, dar cum functioneaza framework-ul in spate nu stii.

2 Likes

Eu, dacă ar fi sa o iau de la început, m-as concentra puțin mai tare pe rezolvarea unor probleme concrete. Garantat vei da de niște blocaje tehnice pe parcurs, iar atunci când știi ce problema vrei sa rezolvi, altfel asimilezi cunoștințele necesare rezolvării ei. Cel mai probabil la internship nu prea vei avea de a face cu CI/CD, TDD sau alte concepte mai avansate, așadar îți sugerez sa studiezi cât poți de bine OOP, clean code, ceva design patterns (nu sunt Java dev, dar rețin din niște proiecte mai vechi in care am fost implicat ca Builder, Factory, Decorator erau prezente prin multe locuri din aplicație) și eventual ceva testare unitara.

1 Like

Spring Boot este plin de magie. Daca nu vrei sa ramai la stadiul de programator Spring Boot ar fi bine sa intelegi bine Java (poo, java colections, anotari si procesarea lor, threading, design patterns - proxy pattern este chiar folosit de Spring, ca tu sa scrii in repository findByCeva de exemplu).

Dupaia as zice ca ar urma si jdbc si baze de date (sql, ddl, dml, tranzactii etc). Cam ce s-a predat la cursurile de baze de date. Cauta-l pe Vlad Mihalcea si citeste-i blogul. Acopera subictele de baze de date plus performanta in zona de data layer. Aplicatiile java folosesc mult Hibernate. Este o disutie pro si contra despre orm, dar nu o sa intru in ea. Gasesti si pe forum, daca cauti dupa orm.

Ca tot am mentionat anotarile mai sus, Lukas Eder zicea ca

Average java code with annotation is visible from space

Alaturi de cei mentionati mai sus il recomand sa il urmaresti pe
https://www.marcobehler.com/

Are un mod fain de a explica lucrurile in mod simplu.

Pluuus comunitatea Java si Spring pe care o gasesti pe Twitter. Poate nu chiar pe toti cei 39. Vezi daca iti plac si daca da, da-le un follow. Fie ca-i pe Twitter, Youtube. Chiar si Facebook.
https://techbeacon.com/app-dev-testing/40-java-experts-you-should-follow-twitter

La cloud, aws, graphql si restul poti sa treci mai tarziu. Pentru graphql precis este o anotare Spring. :grin:

Cam astea sun lucrurile pe care eu as zice sa te uiti. Atentie ca ce am scris mai sus nu este de ordinul zilelor sau saptamanilor. Ci este ceva de durata. Este nevoie de timp, studie si exercitiu sa le stapanesti bine.

Succes la facultate si internship!

3 Likes