Inceputul carierei in programare

Bun. Sunt un elev la mate-info , clasa a-12-a si bineinteles ca vreau sa dau la o facultate de informatica , dar problema este ca inca am o groaza de nelamuriri si nu stiu pe ce drum sa o apuc . In domeniul it vad ca sunt o groaza de specializari, tot ce am facut eu pana acuma este sa termin un curs la udacity de front-end web development si ce am mai invatat algoritmi si c++ pe la scoala dar problema este ca nu stiu ce sa fac mai departe, nu stiu pe ce sa ma axez.
Adica vreau ca anii in care voi fi student sa fie productivi, nu sa ma schimb de pe o chestie pe alta=)))
Bun, si acuma vin cateva intrebari:

  1. Variaza salariile in it in functie de limbajul pe care il stii(spre exemplu poate fi platit unul care stie c# mai bine decat unul care stie java??)
  2. este mai ok sa lucrezi pe pozitia de inginer soft(cum descriu multe site-uri de angajare)
    decat sa fi simplu developer??
  3. voi cum ati ales pe ce tehnologie sa lucrati??
  4. se merita sa ma apuc de machine learning? Adica care e faza: am vazut ca sunt extrem de multe locuri de munca prin strainatate dar in la mine in oras sunt vreo 2 si acolo iti cere experienta vreo 8-9 ani =))) ma tenta totusi ce ziceau astia pe la tesla , am vazut si niste internshipuri pe machine learning dar nu stiu daca sa ma apuc sau nu =)))
  5. cum te angajezi ca entry level?? Adica peste tot vad la cerinte minim 2-3 ani si stau si ma intreb ce o sa fac eu dupa ce ies de pe bancile facultatii.
  6. se merita sa ma apuc de java si sa combin cu cunostiintele mele de front-end??
  7. ce parere aveti de pozitia de devops??
    SI ULTIMA
  8. SUNTETI/ATI FOST BUNI LA MATEMATICA???
    Ideea este ca mie imi place informatica, multe chestii le invat din placer dar la mate sunt
    mediu adica imi ia mult exercitiu ca sa ma formez si sa reusesc sa rezolv ceva.
    Ma oftic ca in anii astia de liceu as fi putut sa fi invatat cat de cat bine un limbaj sau sa ma axez pe ceva dar niciodata nu am fost hotarat ce vreau sa fac.
    Pe langa asta ma gandesc si ce sa imi aleg in functie de cerinta de pe piata ca nu vreau sa ma trezesc ca termin facultatea si m-am axat pe ceva si nu gasesc loc de munca pe acel ceva.
1 Like

Daca ai timp si nervi de machine learning, ai nevoie de matematica. In cativa ani de studiu, ai putea sa faci treaba in domeniu, daca te duce mintea. Daca as mai avea varsta ta, as incerca sa ma axez pe asta.
Daca vrei sa lucrezi in domeniu, vei gasi de munca. Nu prea are importanta titlul jobului.
Daca intentionezi sa faci o facultate si sa te tii de ea, iti recomand sa mergi la Automatica la Politehnica. Inca se mai face carte. Matematica o sa fie totusi importanta.
In facultate nu e asa important ce inveti. Important e ca inveti sa inveti. Asta te va ajuta in tot ce vei facein viitor.
La automatica o sa fie greu sa ai un job in paralel. E o facultate mai grea. Nu e imposibil, insa.
Pentru a lucra in domeniu, studiile nu sunt asa importante decat in niste cazuri de nisa. Daca le ai si le faci pe bune, o sa iti fie util. Vei avea mai multe oportunitati.
Daca aplici la unele companii din Bucuresti, la varsta ta, precis gasesti un loc unde sa te ia ca junior, daca te duce mintea. Poti incerca sa aplici la Emag, la Endava… Cat am lucrat pe-acolo, am vazut multi tineri care erau angajati pentru potential, nu pentru ce stiau la angajare. Potentialul insa e evaluat cumva la interviu, dar nu stiu cum exact… Poti aplica si o sa te lamuresti.
Java e un safe bet. Daca il inveti, vei manca o paine. Important e sa te axezi pe ceva si sa incerci sa capeti experienta. E important sa fii bun la un lucru. Nu ajuta sa ai idee despre multe daca nu esti bun la ceva anume. Dupa ce esti expert in ceva, poti sa inveti mai multe lucruri pe parcurs. O sa ai si o idee mai buna legat de ce vrei sa faci in viitor.
Devops-ul e foarte cautat si apreciat. Daca asta iti place, go for it. E un domeniu care cel putin pe moment e profitabil. Nu sunt asa familiar cu domeniul asa ca prea multenu pot sa spun. Am cunostinte minimale.

  1. Da.
  2. Pe incercate.
  3. Da. Clar. Lasa orasul tau :slight_smile: . Odata ce vei termina facultatea va parea prea mic.
  4. Te grabesti cu angajarea? Intai intra la facultate si apoi vezi cat de usoara - grea e.
  5. Eu as zice sa faci ori python (django daca vrei web), ori php ca se invata repede (laravel), ori Javascript (aici ai multe optiuni). Presupun ca o sa inveti destula Java in facultate.
  6. Eu am fost la clasa de matematica informatica intensiv informatica: cei mai buni la informatica din clasa (olimpici) nu erau neaparat si cei mai buni la matematica (si nici invers). Cei mai buni la informatica au ajuns pe la google, facebook, EA sau sa faca proiecte complexe ce tin de ML. Deci nu e un must.

Eu zic sa inveti sa inveti. Nu stiu ce cunostinte ai, dar timpul nu e deloc pierdut. Presupun ca bazele sunt acolo (legat de algoritmi si structuri de date). Obisnuieste-te sa iti procuri singur materiale de studiu, practica mereu ceea ce inveti (experimenteaza) si poate cauti si un mentor care sa te ghideze (sau pune intrebari pe forumuri, cum ai facut acum). Orice sfat vei primi acum e posibil sa devina depasit in cativa ani, deci nu lua nimic ca pe un adevar absolut.
Si obisnuieste-te sa iesi din zona de confort. Nu sta prea mult (ani) la un loc de munca doar pentru ca e colectivul ok si vine un salariu sigur. Du-te la meetups chiar daca pari out of place.

  1. Da
  2. Inginer e cine termină o facultate în IT. În România (cel puțin) e mai usor sa te angajezi la o corporație dacă ești inginer.
  3. Am făcut ce mi-a plăcut
  4. Da
  5. Internship sau Upwork, ori proiecte personale pentru portofoliu.
  6. Java pentru Android cu cunoștințe de front end e cool.
  7. Nu am părere
  8. Am fost praf la mate în școală, dar am invatat singur apoi și chiar am inventat o formulă simplă pentru statistică.
1 Like

Completely unrelated, dar pana la facultate mai este un obstacol numit examenul de bacalaureat :sunglasses:

2 Likes

Vad ca nimeni nu iti zice si despre “cons”, de exemplu e destul de stresant, stres care iti poate afecta sanatate, proiecte care pleaca, sau sunt anulate, competitie din ce in ce mai mare, o sa ai nevoie de ochelari mai devreme sau mai tarziu.

Insa cel mai important e ageism-ul, in alte industii pe masura ce cresti in varsta si experienta esti mai apreciat aici e putin altfel, pentru ca nu e mare differenta tehnica intre 5 ani experienta si 25, din contra din contra e vazuta ca o problema.

daca ai alte optiuni eu zic sa le analizi, mi-ar fi placut sa ma fac dentist mai degraba, sau oftalmolog sau contabil / consultant financiar.

2 Likes

Fii atent, ai inceput cu o premisa extrem de proasta: ca vrei sa programezi ca sa te angajezi undeva, sa ai un loc de munca, sa ai salariu.
Treaba asta cu programarea daca o inveti calumea e ca o superputere, la modul ca iti vine o idee pui mana si o implementezi, nu zic ca e usor sau ca iti iese ceva extraordinar tot timpul, dar dupa ce termini un proiect stai si te uiti la el si zici: “eu am facut asta cu mana mea”! Sunt rare profesiile care iti dau asemenea satisfactie.

Pune mana si invata in mod constant, experimenteaza, ai timp (nu pierde vremea cu joace si alte labareli daca chiar vrei sa faci ceva), oricum daca vrei sa te angajezi, ca vad ca asta e visul acum, sa fii angajat, poti sa incepi ca intern pe undeva dupa aia te descurci tu, primul loc de munca oricum il iei pentru potentialul pe care il ai nu pentru ce stii sa faci.

Da, iti trebuie matematica, da e ok machine learning dar e fix un buzz word acum, inainte era big data, inainte servicii, etc. tu pune mana si vezi pentru ce exista cerere si daca iti place.

3 Likes

Haideți să terminăm cu ortografia și să nu fim mai catolici decât papa.

Nu e ca și cum lipsa virgulelor sau folosirea regionalismelor este mai puțin importantă/gravă decât lipsa literelor…

4 Likes
  1. Da, dar nu as alege asta ca si criteriu de inceput.
  2. Nu exista diferentierea asta din cate stiu. Software dev, inginer soft, tot aia.
  3. Am inceput sa invat C++, a trebuit sa fac dizertatia in java, am avut o oportunitate in ruby, iar acum lucrez in python.
  4. Poti sa incerci, este de actualitate. Intotdeauna pentru ce este de actualitate este usor de gasit job. Nu te ingrijora ca pierzi timp. Cel mai mare atuu al tau este timpul. Poti experimenta ce vrei.
  5. Citesti, te pregatesti, cauti sa stii bine intrebarile ce se dau la interviuri. Esuezi, incerci din nou. Nu renunta.
  6. Se merita sa incerci daca asta ti se pare o idee buna.
  7. Este irelevanta parerea mea. Este intr-adevar o pozitie greu de prins de la inceputul carierei.
  8. Intr-adevar matematica te ajuta, dar nici nu te incurca tare mult daca “nu esti bun”, doar in cazul in care implementezi formule sau lucrezi indeaproape cu formule matematice.

Vezi poate te ajuta asta: https://alexionescu.home.blog/2020/02/07/early-career-choices/

Nu vreau dezvolt iar subiectul programator vs software engineer, intrucat discutia va degenera :smirk:, dar nu, nu este tot aia.

2 Likes

Nu serios, eu nu consider o diferență. Enlighten me.

Undeva citisem ca un software dev/programator e ala caruia ii dai mura-n-gura task-ul.

Software engineer-ul era cica ala care ii dadeai problema si iti scotea task-urile si le si facea. Ca cica engineer-ul e mai polivalent si ca se descurca cu probleme “matematice” mai bine. De genul sa scoata statistici.

1 Like

Well, s-a mai discutat pe aici…

Pe de alta parte sunt o multime de resurse pe internet care detaliaza mai mult sau mai putin problema plecand de la faptul ca nu poti lucra ca inginer fara a fi inginer pana la detalii de abordare a activitatii de dezvoltare a unui produs software. Un link interesant care explica mai multe este acesta:

https://www.guru99.com/difference-software-engineer-developer.html

De mentionat (cred ca am mai spus asta pe undeva) ca cele doua activitati se completeaza reciproc, neinsemnand ca pui pe unul sau pe altul pe un piedestal. Totusi idea e ca este o diferenta semnificativa intre cele doua tipuri de activitati in sine.

1 Like

A lucrat cineva in vreun loc în care există diferentierea asta? Exista junior / mid / senior / etc. Dar de developer vs engineer n-am auzit. Doar pe forumuri unde își pune lumea problema asta :smiley:

3 Likes

E doar un talmeș-balmeș. De exemplu:

  • Development is primarily a solitary activity - greșit
  • The software engineer is who creates the tools to develop software - greșit
  • A software engineer is involved in the complete process versus Development is one aspect of the software project building process - Adică ce? Un programator face un program și inginerul face și calculatorul pe care ruleaza soft-ul?

Pana la urma un programator face tot, de la tras cabluri si reperat imprimante, instalat scaune si asezat poze pe perete, la instalare de programe, dezvoltare de software, testare, discutii cu clientii, cu utilizatorii, mentenanta la conducerea unei echipe, cautare de proiecte, marketing si tot ce mai e.

Totul depinde de firma unde lucrezi. Unii isi permit sa angajeze mai multi oameni pe roluri carevasazica specifice, altii nu. Pana la urma un programator e un om polivalent a carui viata nu e guvernata de expresii ca “Asta ma depaseste”.

Daca faci acele lucruri, inseamna ca nu esti in locul potrivit.

1 Like

Hai să fim serioși. Eu unul n-aș vrea să trag cabluri și să așez mese. Ce descrii tu acolo e genericul IT-ist.

Intentia mea este sa scot la iveala ceea ce doare.

Voi vorbiti doar de ce doriti sau v-ar placea. “Nu e locul potrivit”, “n-as vrea sa fac x, y”. Insa banii trebuie sa vina de undeva. Daca ar fi supraoferta de “IT-isti”, am face pe dracul in patru sa avem o paine.

Dar totusi ce spuneam era diferit: un software dev sau un inginer software e o persoana curioasa. Sau voua v-ar conveni sa lucrati cu unul care stie “jQuery si sa nu-l bateti la cap cu NodeJS sau Typescript si alte […]”?

1 Like

Ce e rău cu jQuery? Nu toată lumea trebuie să știe/folosească NodeJS sau Typescript.

1 Like

Esti tanar si ai datoria sa tintesti cat mai sus. Daca te pasioneaza limbajele de programare (si industria financiara) iti recomand kdb+/q (https://kx.com/why-kx/).
Pariaza pe Automatica si pregateste-te in acesti an pentru un astfel de interview: https://www.firstderivatives.com/careers/blogs/how-to-nail-your-fd-interview/

Succes!

BTW, Bjarne Stroustrup, creatorul C++ lucreaza pentru Morgan Stanley. Pe acolo a trecut si Arthur Whitney creatorul kdb+/Q.

1 Like