fbpx

De multe ori am fost intrebat: “Ce trebuie sa stiu pentru a ma angaja in IT, ca programator?”

Tocmai de aceea ti-am pregatit un articol, dar si un video, ca sa ai si tu raspuns clar la intrebarea de mai sus. 

Aceasta intrebare am primit-o intr-un Live pe care putea participa oricine. Initial lucrurile nu duceau catre programare, ci catre GitHub, pana mi-am dat seama ce se afla in spatele intrebarii… care e “problema” originala: 

Din cate vezi, intrebarea are niste substraturi. 
Hai sa le discutam pe rand:

“Ajunge daca stiu un singur limbaj de programare?”

Aici iti raspund facand o paralela:

In primul rand, daca tu cunosti doar un singur limbaj de programare, nu prea exista sanse ca sa te angajezi. E ca si cum ai vrea sa devii traducator in limba engleza, dar tu cunosti doar cuvintele de baza, fara sa stii cum se compune corect o propozitie. 

Tine minte: Te poti angaja in IT, chiar daca esti la inceput de drum!

Doar ca aici, in IT si in programare, tu esti un “traducator” de concepte, nu-i asa? O problema necesita o solutie, iar tu ca si programator scrii prin cod rezolvarea, intr-un limbaj pe care calculatorul sa-l poata prelucra.

“Voi lucra singur pe un proiect intreg?”

Nu vei fi singur in acel proiect. Asta inseamna ca nu trebuie sa cunosti absolut totul de la A la Z despre proiectul la care vei lucra in acel moment. Bineinteles, daca este un proiect mediu sau mare, ar fi imposibil sa lucrezi singur pe el.

Intr-adevar exista firme mici, firme care accepta proiecte mici sau mau scurte care nu necesita efort mare din partea lor, iar acolo e posibil sa existe un singur om (in general un programator senior) pe intreg proiectul, insa aceste cazuri sunt foarte rare.

Atunci cum sta treaba?

In general in companiile medii si in cele mari oamenii lucreaza in echipe. 

De exemplu pentru proiectul X exista mai multe echipe de developeri din departamentul de software development. Se aleg una sau mai multe echipe care se vor ocupa de proiectul X. 

Ei bine, ei nu se vor apuca de proiect ad-hoc. Nu parcuge toata lumea cele 1000 de pagini cu descrierea si cerintele proiectului, apoi nici nu se pun la masa si incep cu initierea variabilelor :)) Nu! 

Un exemplu de mod lucru

De exemplu daca acel proiect X se dezvolta pe modelul agile, inseamna ca un proiect de 8 saptamani se va imparti in sprint-uri a cate 2 saptamani. Va exista un manager al proiectului si unul al echipei. Presupunem ca echipa este formata din 7 membri. Dintre acestia cei 2 sunt managerii, 4 vor fi programatorii, iar unul va fi tester-ul. 

Cu totii vor organiza in fiecare dimineata intalniri a cate 15-20 de minute in care se vor organiza, asa zise huddle-uri sau daily standup-uri. 

Aici discuta ce au rezolvat ieri, de ce resurse au nevoie, de ce se apuca astazi, cine pe ce colaboreaza si cum vor testa codul, functionalitatea ei. La finalul fiecarei intalniri vor sti cine la ce componenta va lucra, la ce vor avea nevoie de ajutor, de informatii suplimentare despre produs, ce i-ar putea impiedica, etc.

Scopul e simplu: toti oamenii implicati sa se organizeze astfel incat sa dezvolte produsul / soft-ul cerut de catre client in timp util.

Un programator nu este a tot stiutor! Si este foarte bine asa

Software-ul proiectului va fi scris de mai multi oameni din echipa.

De exemplu daca proiectul X este despre a dezvolta o platforma, atunci:

O persoana din echipa va dezolta sectiunea de login, alta va dezvolta sectiunea de dashboard si ce vede utilizatorul, iar o alta persoana dezvolta tot ce tine de analitice, tot pentru utilizator. Testerul verifica si analizeaza codul intai separat, iar apoi impreuna (dupa ce au fost integrate), ca toate aceste sectiuni de mai sus sa functioneze corect. 

Dar cum poate o echipa sa lucreze pe un singur cod?

Git si GitHub sunt folosite ca o modalitate de a stoca acel codul, organizat si eficient, deci versionarea codului. Unele firme folosesc GitHub, altele folosesc GitLab, Bitbucket, etc. Fiecare membru dezvolta o alta “bucatica” din el, ceea ce si-a propus la intalnirea de dimineata.

Mai multe despre Git si GitHub gasesti aici in acest articol.

Acum intelegi de ce ai nevoie de un astfel de tool si de cunostinte in zona asta, in a lucra cu ea?  De ce nu ajunge un singur limbaj de programare?

Urmareste intregul video aici:

Ce trebuie sa stie un PROGRAMATOR pentru a se angaja in IT

Inainte de toate, focus pe a cunoaste limbajele de programare, de exemplu Java, C++ si Python. Apoi invata sa lucrezi cu cel putin un framework al lor. De exemplu, poate la Python vei invata scripting, call-uri rest api-uri si web scaping. Poate la Java vei sti sa construiesti back-end a unei platforme, iar cu C++ sa faci algoritmica. 

Pe langa una sau mai multe limbaje de programare, ca sa te poti angaja in IT, ai nevoie sa stii bazele (cel putin) de Git, cunostintele generale, ca sa poti lucra in echipa. 

Nu te angaja in IT de doar de dragul banilor

Ideea nu este sa te uiti la bani, ci la modul in care te dezvolti tu. Deoarce cu cat cresti mai mult (ca soft skills, tehnic si pe baza indicatorilor de performanta stabiliti la angajare) cu atat vei atrage salariul potrivit, pe merit. Banii ar trebui sa fie doar o consecinta a job-ului, nu o momeala pentru care renunti la orice altceva.

Cauta sa faci ceea ce iti place, inclusiv atunci cand vorbim de programare. A te angaja in IT nu inseamna sa te duci dupa bani, atunci cand tu stii ca vei face ceea ce iti place.

Cam asta ar fi raspunsul pentru intrebarea principala de astazi.

Vezi cat de complex poate fi un singur raspuns?!

Cum sa te angajezi pe Retelistica in doar 3 luni

INCEPE RECONVERSIA PROFESIONALA IN SECURITATE IT,PORNIND DELA ZERO, CHIAR DE ACUM!

Iti ofer 3 Lectii Gratuite practice despre Securitate IT prin care sa iti arate cum sa faci asta

 

Intra pe mail pentru a citi prima lectie