Inceputul carierei in programare

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:

2 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

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: https://en.wikipedia.org/wiki/Software_engineering ). 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: http://blog.cleancoder.com/uncle-bob/2014/06/20/MyLawn.html 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