Simt că am pierdut timpul până la vârsta asta

Salut!

Am 23 de ani și simt că am cam pierdut timpul până la vârsta asta.

Backstory:
Liceu mate-info intensiv, unde m-am lovit prima data de programare. Am învățat bazele cu C++ și ceva algoritmică elementară. Îmi mergea mâna decent pe taste până am auzit de backtracking și am schimbat macazul. :cry: Oricum, voiam sa ies din command prompt și să trec la un domeniu ce mi se părea mai interesant, Web/Mobile Development.

Începutul facultății m-a prins prin HTML, CSS și JS. Făceam pagini web simple, prin care să învăț cum funcționează diferite tehnologii. Dar ajunsesem greedy. Nu mai voiam să fac proiecte mici, voiam să am clienți și să fiu răsplătit pentru munca mea. Așa că am ajuns pe Upwork, unde nu am reușit să mă promovez și să trec de lupta pentru 10$ pe proiect, am renunțat.

Am luat o pauză de Web Development și am încercat Mobile Development, unde am avut primul contact cu JAVA. Am încercat să fac o aplicație ce salvează documentele mașinii și anunță când acestea expira. Aplicația a rămas work in progress la partea de autentificare, pentru că ajungeam de mullte ori să mă întreb dacă așa trebuie făcut corect sau fac o prostie. Simțeam nevoia să lucrez într-o echipă, pentru că simțeam că învăț chestii de 10 ori mai greu singur, așa că am aplicat pentru diferite poziții de Front-End, dar fără succes. Am lucrat la câteva proiecte legate de electronică/IoT/CAD, m-am jucat și prin Illustrator (lucrând cu câteva firme cu ajutorul unui colaborator), pentru care am creat și un script ce mă ajuta la structurarea fișierelor finale, apoi, pe la finalul facultății, m-am întors la Web Development.

Here I am:
După ce am terminat facultatea, m-am înscris la master și m-am angajat ca Front-end Developer (lucrez doar cu HTML, CSS și JS) la o firmă mică. Super bucuros de ce am găsit acolo, mediu de lucru plăcut, colegi faini, m-a făcut să realizez cât de mult am pierdut că nu am reușit să mă angajez în perioada facultății și cât de mult contează să fii înconjurat de oameni ce împart aceleași pasiuni ca tine.

Recent, am încercat să sar direct la un proiect personal, mai mare, de ecommerce în încercarea de a învăța cât mai multe tehnologii în același timp, folosind: Saleor (pentru partea de ecommerce), Strapi (pentru partea de blog), NextJS (storefront magazin), Gatsby (storefront blog), îmi place, am reușit să pun pe picioare Saleor/Strapi pe un droplet din DO și să consum datele, pe storefront, cu URQL, dar îmi prind urechile prin ele și observ că am multe goluri.

Pentru anul 2022, doresc să stăpânesc mult mai bine JavaScript-ul, să ajung să îl visez noaptea. Să înțeleg cum funcționează, concepte elementare, de ce x și nu y, best practices, debug fără console.log etc. Pentru următorii ani, aș dori să am o bază bună legată de orice framework (React, VueJS, Svelte etc), cunoștiințe bune de back-end (baze de date, API, CI/CD, WebSockets) și să pot lucra ca freelancer, iar apoi cerul este limita.

M-am apucat de un curs (tutorial hell!?) ce am văzut că este foarte recomandat pe forum-uri și pare că, la finalul lui, rămâi cu ceva proiecte interesante ce le poți prezenta unui eventual client. Am citit pe forum discuții despre Toptal, platformă ce mi se pare interesantă, îmi surâde ideea de freelancer, dar sunt conștient că nu pot trece de interviuri (consider că am și un așa zis english gap). Aici vreau să ajung, să am cunoștiințele necesare ce îmi pot da încrederea și siguranța de a aplica la interviuri.

Mă gândesc că toate cunosțiintele acumulate, pot fi întrecute ușor în 3-6 luni de cineva ce este începător, dar ambițios și ghidat corect.

Ce ați face în locul meu? La ce ar trebui să renunț și ce ar trebui să aprofundez?

Am să las un screenshot cu tehnologiile pe care le consider parcurse până acum și veți observa că stau destul de prost. Nu voi considera parcurs NextJS, Typescript, GraphQL etc. pentru că, cu toate că am trecut prin ele, nu consider că le pot numi tehnologii unde am o bază de cunoștiințe. Sunt sigur că sunt tehnologii în acel roadmap ce par că necesită, la prima vedere, luni de zile pentru a le înțelege când, de fapt, cu puțină seriozitate, le poți da gata imediat.

Profil GitHub
Profil Upwork

4 Likes

E primul lucru pe care l-as corecta, invata pentru un examen Cambridge Advanced English C2 sau Cambridge C2 Proficiency. Citeste carti in engleza, fa-ti un reading list. Dar stai linistit, ca daca dai interviu cu indieni, nemti, rusi, italieni, francezi nu o sa stea nici ei mult mai bine. Iti scrii frumos un discurs si le povestesti, iar la companiile romanesti interviul e in romana…

Ai asteptari total nerealiste, eu zic sa te limitezi pur si simplu la testare in urmatoarea perioada (fiindca faptul ca n-ai mentionat testarea imi spune ca nu stii testare). Scrie cat mai multe teste, inclusiv e2e daca poti, o sa inveti foarte multe. Iar ca limbaj foloseste TypeScript fara any, o sa fie fun. Nu o sa iti mai arda de Vue, Svelte, etc… E cel mai valoros lucru pe care il poti spune cuiva, ca stii sa testezi. Apoi nu inteleg de ce nu vrei sa faci debug cu console.log, in 90% din cazuri e tot ce trebuie (+ JSON.stringify({…}, null, 4) ) . Iar cand nu e ai Sources din Browser sau daca ai noroc poti configura proiectul sa mearga din browser in IDE (eu n-am reusit la nici un proiect serios pana acum - ma bucur cand am sourcemaps la tot, la proiectele mari nici macar live reload-ul nu mai merge)

Multa lume stie sa puna cod laolalta, dar daca nu testeaza nu observa ca e aproape imposibil de testat ce a facut si la urmatoarea iteratie strici ceva la prima modificare. Toata lumea stie adauga un buton, dar daca butonul ala face 10 lucruri pe pagina o sa stai si te uiti ca prostul cum testezi ca butonul face cele 10 lucruri cand dai click pe el si ca nu face anumite lucruri daca sunt erori, sa nu mai zic nimic de un buton cu diferite state-uri de loading, disabled, permisiuni, validare… De multe ori in teste nici macar nu iti apare butonul pana n-ai mock-uit fiecare etapa necasara. Sa vezi aici cum inveti sa intelegi tot ce e in spate altfel scrii doar teste superficiale.

Nu vrei sa visezi cu JavaScript ca o sa ai cosmaruri. Pattern-uri noi si probleme observi oricum daca cineva iti face code review si tu la randul tau faci code review serios.

Ai facut destul de multe, aplica linistit la interviuri, nu stii ce se cere la interviu.

Apoi iti garantez eu ca oricat de ambitios e incepatorul ala, are minim 99 factorial chestii pe care nu le va stii, in special pe front-end. Eu inca caut pe Google cum se centreaza un element in mijlocul paginii cand mai ai alte elemente in pagina si fac asta de 5 ani, teoria e teorie, practica o bate urat.

Ca si p.s, eu nu cred ca ai pierdut timpul, zici ca ai terminat facultatea, ai facut master-ul, astea conteaza la firmele mari. Incearca sa termini o facultate la 28 sau 30 de ani.

6 Likes

Pe asta o să pun accent în viitorul apropiat.

Este adevărat, nu am pus accent pe testare până acum. Nici nu am făcut lucruri extrem de complicate. Una, două, mergea, treceam mai departe.

Mulțumesc mult pentru timpul acordat și pentru sfaturi, voi ține cont de ele!

Sincer vorbind mi se pare ca deja ai explorat destul de multe lucruri pentru varsta pe care o ai.

La 23 de ani, nu te va mai lauda nimeni asa cum o faceau atunci cand aveai 16 ani, la fel cum reusitele actuale vor fi trecute cu vederea in momentul in care vei avea 30 de ani.

Din momentul in care te impaci cu ideea ca nu vei fi tu urmatorul Steve Jobs sau Bill Gates, presiunea dispare si poti merge mai departe impacat cu ritmul tau.

2 Likes

Stai linistit, ai 23 de ani. :slight_smile:
Esti la inceput (nici ca eu as fi prea departe)

Eu iti sugerez sa faci ce a facut si @claudiucjc

Si vezi ca acum s-a mai relaxat piata si companiile cauta devi. Cu JS sau Java nu mori de foame.

Bafta!

5 Likes

Totuși, dacă cineva mă oprește pe strada și mă pune să îi arăt un proiect care să îmi reprezinte abilitățile, nu aș avea ce să îi arăt, că am doar bucăți. Asta vreau să rezolv cu acel curs.

Mi s-a părut foarte interesantă abordarea și asta vreau să obțin prin cursul pe care îl fac în prezent.

Are ca proiect final ceva asemănător:

Replicate your favorite website as close as possible - Pinterest, Facebook, Twitter, etc. Just make sure it has lots of interesting functionality.

Suni la politie cu prima ocazie :stuck_out_tongue:

1 Like

Daca ai facut o facultate si simti ca ai pierdut timpul… ce sa zic, nasol.

Daca nu ai inceput sa programezi de la gradinita esti un urma rau. Glumesc, relaxeaza-te, prin simplul fapt ca te gandesti la viitor si cum sa fii mai bun esti peste multi oameni de varsta ta

3 Likes