Începuturi noi ca programator

Săptămâna viitoare încep primul meu job de programator, în mod oficial Junior Software Developer. Incă nu m-am obișnuit cu ideea că s-a întâmplat, sau că mă pot numi programator, cel puțin în ceea ce privește identitatea mea profesională. Dar, de asemenea, nu-mi pică bine să mă uit la site-ul meu și să văd „product manager”, o etichetă care nu mai e actuală.

De unde a pornit schimbarea 

De când am terminat facultatea, am lucrat aproape non-stop în strategie și product management timp de zece ani. Într-un fel sau altul, mereu mă ocupam de site-uri, aplicații sau alte proiecte interactive (de ex. un ecran interactiv la Art Basel). Doar că pe măsură ce lucram din ce în ce mai mult cu programatori, mi-am dat seama că e mult mai interesant să faci aplicații sau site-uri cu mâna ta, nu doar să le consumi pe ale altora sau să vorbești despre ele.

Calea către interviu 

M-am apucat să re-învăț să programez în Octombrie anul trecut, când m-am mutat în Olanda. Aveam experiența clasică din liceul de mate-info unde am învățat Pascal, C++ și Visual Basic, dar lumea s-a schimbat drastic de atunci, și nu o mai consideram utilă. Chiar și-așa, nu mai țineam minte mai nimic în afară de niște concepte de bază, fără aplicație practică.

Au trecut șase luni în care învățam olandeză și programat în paralel. Nu-mi aduc aminte mare lucru, pentru că atunci când nu eram obosită de olandeză, eram obosită de proiecte și concepte noi. Am completat primul proiect mai complex, un joc, că să învăț o tehnologie nouă (React), și am început altele care sunt încă în curs. 

În August m-am decis că vreau să lucrez din nou, și am zis să văd care e piața, mai ales pentru juniori, în miez de pandemie. Pe scurt, nu prea exista o piață pentru juniori, doar pentru oameni senior și gata-formați. Programatorii juniori erau o investiție pe care multe companii nu erau gata s-o facă. Există încă multă incertitudine economică, e foarte greu să educi un junior de la distanță și să sacrifici timpul unui om care ar putea să facă altceva, și în plus, mulți sunt juniori și neexperimentați din cauza vârstei. 

Am aplicat la câteva posturi de senior product manager, convinsă că n-o să iasă mare lucru din programare dată fiind situația juniorilor. Dar după două interviuri mi-am dat seamă că mă bântuie același haos care m-a făcut să îmi schimb traiectoria — companii care cresc foarte repede, oameni angajați în mod pripit, haos în modul de lucru, cale sigură către burnout. Înre timp a apărut o oportunitate aproape de nicăieri, aproape perfectă: o companie care căuta fix un junior să înlocuiască un freelancer pe termen lung, și de la care să preia ștafeta. Fix ce vroiam. Nu pot să atribui asta decât norocului. Am început să vorbim după ce am primit undă verde de la o cunoștință care lucrase deja cu proprietarul și viitorul meu șef.

Interviul în sine 

Au fost două părți: un ‘phone screen’ uzual în care am tatonat terenul ca să înțelegem mai mult unii despre alții: de ce am plecat din SUA, ce mi-a plăcut și nu, de ce m-am reprofilat pe programare, ce știu despre ecosistemul Atlassian (în care urma să lucrez).

A urmat un interviu tehnic cu prezență fizică, dar doar între mine și doi oameni în birou. Partea tehnică n-a fost deloc așa cum zic site-urile și podcasturile, sau cum m-au instruit prietenii și mentorii. N-au fost întrebări despre algoritmi, structuri de date, și nu mi s-a cerut să implementez seturi în JavaScript sau să fac aplicații în React de la zero. 

Am avut un exercițiu foarte specific companiei lor, în care trebuia să clonez o aplicație deja-existentă, să o modific, și să descopăr motivul pentru care n-o să funcționeze, chiar dacă fac totul conform instrucțiunilor. Pe scurt, era o înfundătură intenționată, și trebuia să mă gândesc la ce alternative ar putea exista (dar fără să trebuiască să le implementez).

Au fost nenumărate momente în care nu credeam că a decurs grozav. A durat mult până să recreez și să configurez mediul de lucru specific lor, dar pe laptopul meu. A trebuit să spun „Imi pare rău, nu înțeleg asta” sau „Poti să mă ajuți aici?” deși era neconfortabil în liniștea din birou, dar cumva a ieșit. Poate că adevăratul test nu era să vadă dacă pot să completez toți pașii, ci dacă mă scufund sau încerc să înot — dacă pot să pun întrebări atunci când mă blochez în loc să mă panichez sau să renunț. M-am panicat destul din alte motive pe parcursul exercițiului, dar am încercat să nu arăt asta.

Mai departe 

Nu știu dacă am sfaturi sau sugestii care să nu sune foarte generice pentru alți oameni la început de drum sau care se gândesc să schimbe carieră. Fiecare om, slujbă, companie și țara e altfel.

Mă bântuie în schimb niște gânduri de când tot citesc poștări de la juniori de pe forumuri sau site-uri de programatori:

  1. Durează foarte mult să înveți orice. Toată lumea se grăbește, încearcă să învețe prea mult deodată, sau se umflă în pene cât de mult nu dorm ca să codeze non-stop. Spoiler: e o strategie care nu duce la rezultate pe termen lung, indiferent de domeniu. Duce cu siguranță la burnout sau nefericire. Mai ales ca programatori, avem atât de mult de învățat zilele astea încât e imposibil să știi tot pe parcursul unei vieți sau cariere, darămite înainte de interviu.
  2. Salariul nu e cel mai important lucru din lume — mai ales la început. Contează mai mult să înveți într-un mediu de muncă prielnic, care să nu te exploateze mental sau să profite de naivitatea și dorința arzătoare de a lucra undeva, oriunde. 
  3. Pregătește-te pentru orice tehnologie. Nu te specializa prea devreme într-o tehnologie înainte să descoperi paletă largă de opțiuni. Până la urmă la interviu n-am folosit deloc limbajul sau framework-ul pe care l-am învățat. Aveam atitudinea de să vedem ce pică la examen dar realitatea n-a fost așa în mod intenționat. Am folosit cunostințe pe care le-am dobândit în slujbe anterioare (networking, în sensul de proxy-uri, nu ‘cunoscut oameni’) și sarcini administrative, de ‘igienă’  (de ex. cum să configurez descrierile unor aplicații în JSON și să inițializez un proiect Firebase).

Îți urez succes dacă te regăsești și tu în orice am scris mai sus, sau aplici pentru joburi pe timp de pandemie. E greu, dar nu imposibil.

2 Replies to “Începuturi noi ca programator”

  1. Ce găsești pe net cu structuri de date este pentru angajare în firme gen Amazon, Google, Facebook, nu pentru majoritatea firmelor. Iar testele tehnice pentru firmele mari sunt intenționat cu high barrier of entry ca să filtreze oamenii care nu își doresc din tot dinadinsul să lucreze acolo.

    Pentru joburi de frontend web este mai simplu, mai ales ca junior. Important este să vrei să înveți. Diferența de la an la an va fi enormă în primii ani.

Comments are closed.