Don’t be a Junior Developer

Esti constient, presupun, ca OOP se invata la facultate, iar fundamentele in liceu, nu?

Din perspectiva unui om care a tinut interviuri destule la viata lui, privesc cu amuzament atat aceasta discutie, cat si articolul dat ca link.

As vrea sa stiu, totusi, ce exact din topic-ul larg “programare” ati vrea sa se ceara la un interviu? De ce este deplasat sa se ceara OOP? Se preda in facultatile care au legatura cu IT-ul (a caror diploma, de regula, este ceruta de asemenea, in caz ca nu s-a observat).

Ce am observat este ca exista o diferenta foarte semnificativa intre developeri incepatori care au baza unei facultati oarecum legate de IT (nu neaparat CS, dar inclusiv clasicul “mate-info” de pe la noi), si cei care au invatat “dupa ureche” programarea. Lipsesc concepte, lipseste intelegerea unor fenomene despre modul in care fiunctioneaza calculatoarele in general.

Atitudinea “mi se pare deplasat ca la un junior <insert_scripted_language_here> sa ii ceri OOP” este un indicator foarte bun, in activitatea de interviewer, care sa iti spuna cum a devenit respectivul om programator. Indica exact deconectarea de care vorbeam in paragraful precedent.

Acuma, inapoi la articol: mi se pare un articol care face mai mult rau decat bine. Sigur, este un articol stil “motivationist”, care sa lucreze putin la corazon-ul incepatorilor in programare, insa ideile practice din spate sunt exact acele idei impotriva carora lucram din greu cei ce tinem interviuri in medii mai serioase:

But when would I know when I’m not a junior developer?…you say. You won’t. You will always feel like you don’t know enough. You will always feel like others are smarter than you. This is called imposter’s syndrome. It’s normal and every developer feels it.

No it’s not!

Sindromul impostorului este acel gen de sindrom “by proxy”, care nu se poate manifesta decat prin referinta la altii. Cand acest sindrom se manifesta (bineinteles, in lipsa unei probleme psihice mai serioase, de gen depresie clinica, care fac obiectul unei cu totul alte discutii), de regula iti spune ca poate ar trebui sa schimbi mediul in care te afli cu unul populat de oameni cu mai multa competenta.

Can you explain to your family members how the internet works? How a computer works? How websites work?

Acest test este unul complet irelevant pentru scopul declarat.

Ce informatie obtii daca tu poti sa explici unui om care nu stie nimic despre acest subiect ceea ce tu crezi ca stii? Vei sti daca informatiile pe care le ai iti sunt bine structurate in cap, insa ce nu iti va spune este daca aceste informatii sunbt corecte. Pentru ca nu ai nici un punct de referinta. Orice explicatie, atata timp cat pare suficient de coerenta si nu prezinta erori logice evidente, va fi considerata buna, si nu vei avea nici un feedback legat de corectitudinea informatiilor pe care se bazeaza.

Un test si mai bun ar fi: Can you go to a professional and say “A computer works like this: [details]. Did I miss anything?” If yes, and you’re not laughed out of the room, then yes, you can consider yourself somewhat knowledgeable.

But I need a job right now!..you say. Stop that short term thinking.

While you’re at it, also stop eating, or paying your bills until you get the job you want.

Conform unui clasic inca in viata: “Viata e grele, frate”. Critic pentru un om este sa invete care sunt sacrificiile care trebuie sa le faca atat pe termen lung, cat si pe termen scurt. Poti avea o cariera stralucita, ilustra si cu recunoastere internationala peste 10 ani, insa de mancat trebuie sa mananci astazi. Si asta cat timp inca esti doar tu, si nu ti-ai luat raspunderi de gen familie, copii, etc.

Long-term thinking este esential in a avea o viata implinita, corect insa also having short-term thinking will get you there, one day at a time. Persoanele care au doar long-term thinking poarta denumirea de “visatori”, si intr-adevar, unii dintre ei ajung sa aiba succes. Dar cati? Si ce s-a ales din ceilalti?

Stop calling yourself a junior developer. Have a junior developer mindset where you are constantly looking to learn from others, but never settle for a junior developer role. Apply for roles for which you are under qualified not overqualified. Remember that if you never ask the answer will always be no.

Bineinteles. Pentru ca interviewerii nu vor observa ca esti underqualified, si insasi cantitatea de potential pur care izvoraste din aura ta va fi suficient sa ii convinga sa te ia pe tine in opozitie cu un developer care este actually qualified pentru pozitia pe care ati aplicat amandoi.

Si bineinteles, daca nu intrebi, raspunsul va fi intotdeauna nu, exceptand cand nu este, caci firmele si joburile evolueaza si factorii interni si externi sunt atat de complecsi incat evolutia este practic obligatorie si fortata pentru a te mentine ca angajat… adica majoritatea cazurilor.

Mi se pare mie sau articolul este mai degraba o schema de marketing pentru un speaker motivational decat un articol serios care ar trebui urmat?

5 Likes

Nemaivorbind de faptul ca multi dintre cei care se cred impostori chiar sunt impostori. Sunt si multi care nu se cred, dar asta e ceva in plus :slight_smile:

Exista si multi care nu se cred impostori si nu sunt impostori. Chiar indivizi geniali.

Cat despre psihologie, de unde a venit ideea… well, e plin de impostori :slight_smile:
https://www.nature.com/news/over-half-of-psychology-studies-fail-reproducibility-test-1.18248

Cat de corecta creezi ca est piata muncii in It in acest moment?

Cum adică “corecta”? Adică fairness sau in sensul că funcționează eficient pentru stabilirea prețului resurselor? :slight_smile:

Raportul intre interviuri si angajarea reala , raportul intre joburile si scara ierahica?

  1. Stiu cel putin 4 firme care de 6 luni tot tin interviuri lunare, da,da sunt firma mare, suntem firma mic, noi angajam lunar dar angajati is 4-5 ,pe jobul respectiv, care e magia?

2)Stiu project manageri care is complet atehnitici, estimari “ieri” sau foarte ireale nu lipsesc.

  1. De la un job la altul,testele difera unul te intreb chestii teoretice si te plateste ok, altul sa pune sa faci ceva ce " este pentru toate nivelele"(junior, middle,senior) si culmea te plateste mai prost."
    Stiu junior care is seniori, sau la noi nu conteaza experienta dar cerem"…

unde pot gasi acel tutorial facut de @iamntz ?

Este explicat conceptul de interfata :slight_smile:


Link-ul pe blog-ul forumului

p.s. vreau like la postarea asta

2 Likes

Corecta? Asta e un concept care va trebui putin elaborat, caci e cam vag.

Din punctul meu de vedere e aproximativ cat de corecta ar trebui sa fie (cu mici scapari ici-colo, e adevarat, dar nimic major), dar e perfect posibil ca eu sa privesc lucrurile dintr-o alta perspectiva. Asa ca, din nou, ce vrei sa spui prin “corecta” ?

Nu pot sa folosesc aceasta definitie, deoarece implica doua presupozitii: una ca exista un raport ideal intre interviuri si angajari, si cealalta ca exista un raport ideal intre joburi si scarile ierarhice.

Cu prima nu pot sa fiu de-acord deoarece exista diferite cerinte si diferiti candidati, iar lucrurile variaza pe pozitie, specializare, scara ierarhica, localitate (ex: in Bucuresti, Cluj, Timisoara, Iasi e usor sa faci rost de programatori, ia incearca sa aplici tacticile de atractie din orasele mari in Murfatlar, de exemplu - apropos, am luat Murfatalr ca pur exemplu de oras mic, a nu se intelege nimic din asta, si scuze anticipate Murfatlarenilor). Am avut interviuri pe posturi de “web developer”, unde am avut 2 saptamani cate 3 candidati zilnic in 2 echipe de interviu, si am avut interviuri pe post de “HIPAA-certified, FTC-approved senior Microsoft Dynamics developer”, unde raportul dintre interviuri si angajari a fost de 100% (ca am reusit sa gasim doar unul in total dupa vreu 6 luni de cautari).

Cu a doua nu pot sa fiu de-acord deoarece daca am invatat ceva schimband joburi la viata mea, a fost ca fiecare organizatie isi are propria structura care “works” sau nu. Am fost si in firme cu ierarhie “plata” care mergeau bine, si n care mergeau prost. Am fost si in “piramide”, si in “companii in companii”, etc., asa ca tind sa cred ca un “golden ratio” exista doar la nivel statistic, nu concret.

OK, am intors paragraful asta pe dos de vreo 5 ori, dar tot nu reusesc sa il inteleg. Poate o reformulare ar ajuta?

Da, se intampla. Mai des decat mi-as dori. Si? Ce legatura are asta?

Da, asa este. Dar fiecare firma isi are genul ei de angajati, iar daca unui om ii convine, asta este. Am lucrat intr-o firma in care abia asteptam sa imi treaca preavizul sa dispar de-acolo cat de repede se poate, in conditiile in care altii tocmai primeau cadoul de 15 ani in firma… deci, asta este. Vorba lui Lennon: Whatever gets you through the night.

Daca asta este un exemplu de piata muncii “incorecta”, eu as contra ca acest exemplu face piata muncii si mai “corecta”, pentru ca si oamenii care au nevoie de si se potrivesc cu asemenea firme au posibilitatea sa aiba fix acest gen de angajatori. Poate pentru ei e mai bine asa, pentru mine nu a fost, dar le respect alegerile si accept ca sunt diferite fata de ale mele.

Bloc citat

Cum explici urmatoarea afirmatie , o firma in perioada de 6 luni sustine interviuri saptamanal si 2-3. deci 2x4x6 = dar doar o angajare daca tot vorbim de corectitudine?
Ciudat e asa fac mai multe firme!

Pai, dupa cum am spus si in raspunsul meu initial, angajarile sunt niste procese care nu ar trebui evaluate doar pe niste rapoarte de numere.

Daca o anumite firma are 50 de interviuri si angajeaza un singur om pana la urma, asta nu imi spune mare branza. Au fost foarte multi candidati si doar 1 post, iar firma a avut de unde alege? Au fost 49 de candidati absolut varza si unul cat de cat serios, si l-au ales pe acela? Au un client care e extrem de pretentios si refuza candidati pe banda rulanta? Nu stiu, si nu am de unde sa stiu doar din niste numere.

Iar legat de corectitudine… nu imi dau seama, indiferent de care este motivatia din spatele cifrelor de angajare, ce legatura are asta cu corectitudinea. Daca ai zice ceva de genul “au intervievat fraieri 6 luni in continuu pana cand a venit nepotul directorului X, iar acela a fost angajat, caci de altfel lui ii era dedicat postul”, atunci as putea sa zic ca nu, intr-adevar, procedura nu a fost corecta. Dar altfel am mult prea putine informatii ca sa pot sa emit o parere generala.

Eu de exemplu ma gasesc destul de des in situatia descrisa (nu chiar 6 luni de interviuri, adica de regula gasim mai repede de atat), insa exista situatii in care pur si simplu ai multe interviuri pana sa poti lua pe cineva.

Procesul de angajare va fi mereu subiectiv. Ai fost intervievat in ziua când soția/soțul s-a certat de dimineață, Guess what, o să-l pici. Asta e, mergem la următorul.

1 Like

In anul 3 am facut practica, mentorul meu de la firma unde am facut-o mi-a zis urmatoarele:

La servici intri in papucii de serviciu, acasa in papucii de acasa

Parerea mea este ca problemele de acasa trebuie sa ramana acasa si problemele de la serviciu trebuie sa ramana la serviciu, Eu, cel putin fac acest lucru.

@LevelCoding, am mai fost pe la interviuri si am fost respins. LA unele fara a primi un feedback.
Asta este. Move on !
Motivele de respingere sunt diverse. Cel mult vei primi pe mail clasicul “Ne-ati impresionat cu cunostintele dvs, dar am hotarat sa continuam cu un alt candidat” :stuck_out_tongue:
Eu am patit asa ceva. :grinning:

La ultimul interviu pe care nu l-am avut nu m-au intrebar la ce nivel sunt cu chestia X, ci m-au intrebat cum as aborda o problema, cum as actiona intr- situatie etc. Si cateva intrebari de Linux


Uneori este vorba si de soft skills :slight_smile:

1 Like

Apropos de angajare:
O firma avea un teanc de cv-uri primite si trebuia sa faca interviurile.
Directorul intra si ia o mana de cv-uri spunand:
“Nu avem nevoie de oameni ghinionisti!”

6 Likes

Good luck with that. Majoritatea oamenilor no să poată să facă asta, și trebuie să fi pregătit și pentru asta - omul supărat din $motive, dar cu care trebuie sa interacționezi.

6 Likes

Aceeași afirmație mi-a atras și mie atenția (mai ales folosirea cuvântului “serviciu” care mi se pare că sună așa de urât) și voiam să fac observația pe care ai făcut-o și tu. Sunt de părere că acest concept de work-life balance e o utopie. Work-life integration e un concept mai viabil și mai sănătos.

În general sunt foarte strict cu mine însumi și țin minte că, în primele luni de după angajare încercam să fac deliberat această separe, până când patronul companiei la care lucrez, sociolog la bază (am învățat foarte multe pe partea de soft-skills de la acesta) mi-a spus că nu voi reuși niciodată să realizez o separare între cele două planuri.

1 Like

@horia141 ai dreptate, este destul de greu. Pt mivel meu acest work-life integration imi iese destul de bine. Sa vedem mai departe. Mai vin suparat la serviciu, dar nu las problemele sa ma acapareze astfel incat sa nu imi pot face treaba.

Sa ma duc la munca suna cam comunist. Cel putin nu mi-a venti alt sinonim pt munca

Suna mai bine acest lucru. :slight_smile:
Inclusiv team lead-ul echipei mele mai face ceva pt munca de acasa

2 Likes

Daca stii si iti place programarea procedurala te muti frumos pe Golang si e alta categorie ca si php.

La mine work-life balance e ca am proiectul instalat doar pe laptop-ul de la munca (pe care il folosesc rar acasa), iar pe calculatorul de acasa nu mi-l instalez.

In opinia mea nu mai esti junior cand ai facut deja un proiect, doua pe o anumita nisa. Pana atunci poti sa fii programator beton cu 10 ani experienta in php, daca n-ai facut un CMS, ceva plugin-uri ecommerce cam greu stii cu ce probleme te vei intalni la arhitectura.

1 Like

Nu am făcut un CMS și nu am scris plugin-uri ecommerce. :frowning:

4 Likes

Ai facut altceva mai smecher, putini fac asa ceva cu php. :joy: