Inceputul carierei in programare

E normal sa ai o groaza de nelamuriri la nivelul ala, si nu numai. Pe masura ce inveti mai multe, macar incepi sa-ti dai seama ce multe nu stii…
Nu urmari sa te specializezi prea tare in timpul facultatii, pentru aia exista master si eventual doctorat (sau studiu individual). Oricum nu stii ce o sa-ti rezerve viitorul, asa ca ar fi bine ca in perioada aia sa-ti formezi o baza teoretica suficient de larga ca sa te poti adapta ulterior.
Intrebarile s-ar putea sa nu fie prea fericit alese, dar o sa-ti raspund si eu la ele:

  1. Da, desi nu ar trebui. Limbajul e mai putin important decat capacitatea de a rezolva o problema. Din pacate, mai ales in Romania se insista pe limbaje si frameworkuri desi - mai ales pe proiecte mari - focalizarea ar trebui sa fie pe altceva.
  2. Da, daca se foloseste definitie cat de cat riguroasa (detalii: Software engineering - Wikipedia ). Din nou, in multe cazuri definitia e relaxata pentru a putea umfla ego-urile unora care n-au nici o treaba cu ingineria. Hai sa le dam titluri frumoase!
  3. Din pacate aici de multe ori esti fortat de imprejurari. Sigur, nu te opreste nimeni sa faci mai mult, din pasiune. Bineinteles ca si imprejurarile alea iti ofera deseori ceva flexibilitate.
  4. Sigur ca merita. Daca urmezi o facultate, ar fi bine sa inveti ceva pe-acolo despre subiect si sa ramai cu cate ceva.
  5. Exista tot felul de metode, de la internship pana la contributia la proiecte open source, ca sa te faci remarcat. Eu iti recomand sa nu te bagi prea mult pe angajare inainte de a absolvi, mai bine invata teoria cat ai timp, ai toata viata la dispozitie dupa aia pentru practica.
  6. Da, merita sa arunci o privire macar sumara peste orice tine de domeniu.
  7. Un alt ‘cuvant’ la moda.
  8. Depinde de perspectiva. Eu zic ca nu suficient de bun :slight_smile:
    Nu ai nevoie de cine stie ce matematica spectaculoasa pentru multe domenii legate de IT. Pentru altele insa, cam ai. Depinde. Cert e ca nu ai nevoie de matematica in stilul unui matematician.
    Prin Romania, nevoia de matematica in domeniu e mai putin spre deloc, din pacate. Speram ca e doar ceva temporar.

Daca tot nu te omori dupa matematica, iti recomand Calculatoare, nu Informatica.

Si sa nu privesti raspunsurile astea ca pe Oracolul din Delphi. Se pot zice de usor lucruri false, precum:

Usor de constatat ca fiind false: Clean Coder Blog in ciuda faptului ca aia cu experienta s-ar putea sa fie suficient de plictisiti de anumite subiecte incat sa nu se faca remarcati. Plus ca daca numarul de programatori care intra in domeniu creste de la an la an, aia cu experienta de 25 de ani devin procentual din ce in ce mai putini si sunt usor de ignorat.
Da, exista si age-ism, pentru ca nu vrei unul cu 25 de ani de experienta sa-ti faca rahaturi pe care le poate face si unul cu trei luni de experienta, s-ar putea sa fie suficient de plictisit de ele incat sa-si bage picioarele. Situatia e ceva mai complexa, dar ‘ceteris paribus’ unul cu experienta mare castiga in fata unuia cu experienta mica la modul spectaculos.

4 Likes

Ai mentionat Developer, DevOp, Front-end, deja 3 directii diferite in viata de programator. Fii atent la ce iti place TIE sa faci si cauta in directia aia. Daca iti place sa faci interfete faine, esti pe frontend si trebuie sa inveti tehnologii specifice. Daca iti place sa butonezi in consola si sa vezi din ce aluat e facut linuxul atunci esti bun de DevOp, samd. Ca regula generala: nu te lua dupa ce se cauta cel mai mult pe piata ca acolo e si concurenta cea mai mare si promovarea cea mai lenta. Succes.

Rahaturile astea sunt 90% din munca, pt restul de 10% poti avea un arhitect la x devs, asa ca pozittile care cel asa multa experienta sunt putine.

Corect. De-astea se aplica in foarte multe domenii. N-am zis altceva.
Pe criteriul asta poti s-o lasi naibii de scoala, ca e nevoie de palmasi la munca campului, sau de sapatori de santuri, sau de vanzatori prin magazine, etc.

nu ai inteles, eu m-am referit ca in alte domenii 25 de ani de experience sunt foate valorosi (medicina), aici nu prea, poziitile de arhitect sunt putine si luate de angajatii companiei mama, asa ca slabe sanse sa te pensionezi de la tastatura.

Nah, tu n-ai inteles. Se pare ca nici nu te-ai obosit macar sa vizitezi link-ul ala pentru detalii.

Salut,
eu iti recomand sa incerci sa inveti mai multe limbaje simultan (incearca JAVA , PYTHON, GO) . Cand inveti mai multe limbaje simultan vei incepe sa faci usor distinctie intre ce tine de programare in general si ce anume este specific limbajului . Google Go este un limbaj tanar si de viitor dupa parerea mea (implementeaza nativ concurenta si pune in valoare cu usurinta procesoarele multicore) + este usor de invatat si la momentul actual se ofera cam cele mai mari salarii comparativ cu alte limbaje . Dupa parerea mea conteaza perseverenta si sa programezi cat mai mult …nu conteaza ce …pana iti intra in obisnuinta si gandesti ca un programator …odata obisnuit cu programarea in general poti sa aprofundezi domeniile specifice ale problemelor pe care le ai de rezolvat. Ca programator va trebui sa inveti continuu toata viata! Deci trebuie sa iti placa sa inveti ,sa iti dezvolti strategii de a cauta si gasi documentatii si de a extrage esentialul si lucrurile importante din ele …de a innota cu succes in oceanul de informatii disponibile .

3 Likes

Ca incepator, iti pot spune ca e cel mai bine in primul rand, sa studiezi afara. Aici e jalnica predarea.
O sa incep sa iti dau niste hint-uri din propria experienta :

  1. Invata cat mai multe chestiuni, aprofundeaza-le, totul se face prin repetarea continutului, ceea ce e cam nema in facultate. Nu e ca la liceu sa ai variante de bac si o structura organizata, totul e de izbeliste.
  2. Invata sa iti pui intrebari in tot ce faci, un mare minus al scolii romanesti fiind faptul ca multe chestii se invata “ca sa scapi de examen si atat”. Incearca sa gasesti strategii de a retine in timp ce ai facut.
  3. Da, trebuie sa fii bun la matematica, nu se stie cum te intalnesti cu ea + ca logica din ea te ajuta.
  4. Referitor la joburile entry-level, majoritatea firmelor n-o sa-si gaseasca niciodata angajati din cauza faptului ca cerintele sunt nesimtite pentru un junior.
    Ar cam trebui o constientizare a materialului predat in scoli. De multe ori, majoritatea cursurilor de la facultati arata ca primul pdf iesit in cale in urma unui banal search pe google despre subiectul in cauza.
    Termenii abstracti ar trebui eliminati pe cat posibil, nu folositi cu precadere. Totul ar trebui explicat “ca la prosti”, pentru ca limbajul academic nu e de folos.
    Trecand peste, axeaza-te pe a invata bazele, pe a le aprofunda (aici lucrez si eu), preferabil in C++.
1 Like