fbpx

Ce trebuie sa cunoasca un Programator pentru a se angaja in IT?

Transcript video:

Salut și bine ai venit la un nou video iti multumesc că te afli aici vreau să te anunț că acest video pe care urmează să îl urmărești face parte dintr un live pe care l am făcut recent pe canalul meu de YouTube, este o secțiune care am considerat că este importantă și care cred că este important să fie auzită de cât mai mulți oameni și tocmai de aceea dacă vrei să fii la curent cu ceea ce urmează,cu următoarele live uri și să fii și tu prezent acolo astfel încât să adresez întrebarea pe care tu o pui nu uita să dai subscribe chiar acum acestui canal, dă un like la acest video și îți doresc spor la vizionat și mai ales la aplicat. 

Salut Ramon am și eu o întrebare:” cât de mult contează să ai cunoștințe și de GIT și GITHUB văd că în ziua de azi pe lângă un limbaj de programare se mai caută și GIT și GITHUB?”

 Da, pentru cei care vă gândiți uite aș vrea să încep o carieră în domeniul la IT sau aș vrea să mă angajez la un moment dat în IT sau lucruri de genul, vă rog să vă puneți următoarea întrebare: „îmi ajunge un limbaj de programare?” adică dacă știu Java bine sau Sau C++ bine, s-a învățat bine C++ la liceu îmi place foarte mult,, mă pot angaja?”

De obicei răspunsul e nu, pentru că nu ajunge, este ca și cum ai spune am făcut un curs de engleză, am studiat cuvintele și verbele în engleză și mai știu din când în când să leg câte o propoziție, pot să ajung să devin un traducător în limba engleză? 

Sanse sunt să nu și și în materie de traducători există un nivel de începător un nivel mediu și un nivel avansat, la fel și în IT ce ești tu ca IT-ist?

Ești un traducător dintre o anumită problemă și mai degrabă soluția la problema respectivă intr-un limbaj pe care calculatorul poate sa îl înțeleagă, dar pe lângă zona asta există și alte component.

 Nu ești singur când lucrezi în domeniuL IT, nu ești doar tu, nu sunt doar eu RAMON lucrez la o companie și fac software development la compania respectivă, așa ceva doar la companiile super mici există, dar în rest nu există așa ceva de obicei dacă vorbim de multinaționale, dacă vorbim de companie mari și foarte mari vorbim de echipe și există echipa de developeri și în cadrul sau departamentul de software development. 

 în cadrul departamentului de software development există 5 sau 7 echipe de exemplu și fiecare echipa are între 5 și 7 oameni înseamnă că departamentul în sine are probabil 40 de oameni sau 50 de oameni și atunci toți oamenii respectivi trebuiesc organizați în așa fel încât să ajungă să dezvolte software, ca software ul RESPECTIV să fie pus pe piață clientul să îl folosească și automat compania să fie plătită pentru acele servicii sau produse pe care le oferă clientului și putem să ne uităm la orice fel de aplicație pe care noi o avem pe telefon marea majoritate cam așa funcționează modelul. 

Poate unele companii au 5 programatori într-un department, poate alte companii au 10000 de programatori într-un department, s-ar putea să exagerez și nu prea .

Companiile super mari: Amazon, Adobe, Facebook și multe altele au volumul ăsta, Google au chiar mai multi programatori, poate în diferite țări și despre un alt nivel vorbim acolo, dar în general un departament de 40 de oameni, împărțit în mai multe echipe, șase echipe.

 Oamenii ăștia, pe lângă că scriu cod,ei  trebuie să se organizeze, de obicei asa stau lucrurile în zona de software mai ales în lumea actuala : tinde tot mai mult către o metodologie de dezvoltare de tip Agile.

 Adică avem un proiect pe care noi trebuie să îl dezvoltăm, în cadrul acestui proiect avem: proiectul se împarte în mai multe bucăți, se împarte în patru bucăți, fiecare bucată o putem defini ca fiind un Sprint, de obicei un Sprint durează aproximativ două săptămâni,

 Timp de două săptămâni echipa care este formată din șase oameni: doi oameni care coordonează, să zicem un manager al echipei și un manager al proiectului, și încă patru oameni care fac development, de fapt trei oameni care fac development și unul care face testare.

 Aceștia trebuie să se organizeze și trebuie să aibă toate ustensilele ca să poată face asta. 

In perioada aceea de timp în cele două săptămâni oamenii aceștia se întâlnesc în fiecare zi și spun: ok, hai să vedem ce facem astăzi, ce am făcut, ce facem astăzi, ce ne poate împiedica  și încep și builduie software.

 Ei bine software ul respectiv trebuie să fie salvat și organizat într- un anumit loc pentru că Georgică din echipă poate să lucreze la o componenta a software ului, Ionică din echipă trebuie să lucreze la o altă componentă și Costel trebuie să lucreze la altă component. 

 Să zicem că persoana asta, să zicem că dezvoltăm o platform, să zicem că persoana asta de aici trebuie să dezvolte secțiunea de login a platformei, persoana asta de aici dezvoltă secțiunea de dashboard și ce vede utilizatorul și persoana asta de aici dezvoltă secțiune de analitice și ceea ce vede utilizatorul în secțiunea de analitice și apoi mai există un tester care trebuie să testeze fiecare dintre elementele acestea.

 Ei bine tot codul respectiv în momentul în care este scris, de obicei se scrie o bucată de cod, codul apoi este implementat și este lansat în piață este lansat către utilizator asta poate să fie într-un stadiu Alfa sau Beta, s-ar putea să nu fie neapărat final pentru că programatorii nu știu, nu sunt atotcunoscători, companiile nu sunt atotcunoscătoare.

 Ele pur și simplu intră în piață,îl întrebă pe utilizator și vor să vadă efectiv ce vrea utilizatorul și apoi programatorii se conformează cu ceea ce are nevoie utilizatorul și caută să dezvolte software ul respective, asta în formatul ideal, iar în contextul ăsta este folosit GIT și GITHUB ca o modalitate de a stoca codul într-u un mod organizat și eficient pe lângă faptul că faci backup la cod, pe lângă faptul că acest cod este distribuit la nivel de echipa, este un deposit.

Și atunci imaginează-ți că ai așa pipeline în care, ăsta este produsul tău și asta este linia de dezvoltare și atunci: un om din cadrul companiei lucrează pe bucata asta, un alt om lucrează pe bucata asta, un alt om lucrează pe bucata asta și toate aceste bucăți poți să aibă alte două sau trei versiuni care în termenii ăștia se numesc branțuri.

 Și atunci există un pipeline Master și apoi există mai multe bifurcații, care poț să aibă versiuni și subversiuni în funcție de pe ce se face development și atunci GIT și GITHUB sunt două componente foarte importante care merg mână în mână, care ajută programatorii să își țină trackingul codului lor, să aibă versionări ale codului.

Practic asta este versionarea codului: am versiunea 1 a codului, versiunea 1.1, versiunea 1.2 și mai multe feachures de-a lungul cărora există, și atunci ăsta este modul în care te organizezi și te ajută.

 Dacă știi un singur limbaj de programare, nu o să poți să fii deloc eficient, trebuie să înveți foarte bine să te folosești de astfel de unelte, de version control system.

 Poți să găsești cursuri sau tutoriale gratuite pe Google, am și eu câteva pe YouTube de GIT și GITHUB, sau dacă nu, scrie ce este GIT și o să găsești pe Google, primul articol cel mai probabil a fost scris de mine.

 Și  acolo vezi efectiv cum să folosești GIT și GITHUB, pe Linux în cazul ăla, cu cod python și tu practic îți iei codul și îl pui într-o platformă externă unde este securizat, este un singur punct central și oamenii aceștia toți raporteaza în punctul ăsta și punctul ăsta tine versiunile, ține backup-ul, ține toate distracțiile astea de aici, 

 Omul când vrea scrie sau când scrie codul sau când are nevoie de ultima versiune se conectează aici, descarcă codul, face actualizări apoi urcă la loc, apoi cineva poate să aprobe dacă codul ăla este bun și cam asta este o metodologie, cam ăsta e modul pentru partea de lucru de software development.

 și atunci ai nevoie de o astfel de unealtă, ai nevoie de cunoștințe pe zona asta pentru că altfel nu ești, cum să spun… nu prea poți să produci valoare în piață tu cunoscând doar the basics off un anumit limbaj.

 Ai nevoie de zona asta de versionare a codului, ai nevoie să înțelegi lucru în echipă pentru a fi diferit și pentru a putea într-adevăr să te integrezi fain în echipă, deci eu ce aș recomanda pentru cei care vă doriți să mergeți pe zona asta de software development indiferent că e vorba de site-uri , indiferent că e vorba de, pur și simplu software, indiferent că e vorba de game development, indiferent că e vorba de altfel de aplicații în general, o să folosești.

Poate că nu o să folosești GIT, poate că nu o să folosești GIThub pentru că mai există și altele, poți să îi folosești pe cei de la Gira că și ei o anumită versiune BITBUCKET, deci poți să folosești mai multe elemente pe zona asta, dar ce aș recomanda mai întâi: strict limbajul de programare cunoști, să zicem Java, cplusplus și python.

Bun, pentru fiecare dintre astea cunosc cel puțin un framework cu care eu mă pot juca și cu care pot să fac: fiecare din limbajele astea de programare au scopuri diferite de exemplu, pentru python mă pricep foarte bine să fac scripting, mă pricep foarte bine să fac calluri de… și mă pricep foarte bine să fac pe partea de python să fac web scraping și pot repede să mă mișc în python și și să îmi obțin anumite date de care eu am nevoie.

 și pot, de exemplu pe partea de Java, mă pricep foarte bine să construiesc backend, știu să construiesc backend, folosindu-ma de Spring Boot și să fac infrastructură backend a unei platforme și cu C++ știu să fac algoritmică sau altceva. 

Tu ai skilluri și ai knowledge pentru asta pe lângă asta mai adaug și studiez un pic zona de Angel și metodologii de lucru și apoi mai adaugi zona asta de Workflow de lucru în materie de software Developer și și mă refer în zona asta de versionare a codului.

 în general toate lucrurile astea le găsiți în platforma IT, repet dacă vreți puteți să aflați mai multe lucruri și acolo intru mai mult în detaliu pe zona asta.

 Vă las și un link în cazul în care sunteți interesați, deci cam asta ar fi sugeștia mea pentru astfel de lucruri.

Vrei sa inveti mai multe despre Programare?

Iti multumesc pentru interesul si atentia acordata acestui articol despre retele de calculatoare si elementele care compun o retea. Daca esti interesat sa inveti mai multe despre Programare, atunci iti recomand cursul „Introducere in Programare cu Java”, la care s-au inscris peste 500 de persoane.

Curs – Introducere in Programare cu Java

Notiunile explicate in aceasta carte te vor ajuta extrem de mult sa intelegi atat elementele teoretice cat si cele practice care au de a face cu retelele de calculatoare, internetul si cu configurarea echipamentelor Cisco. Click AICI pentru a afla mai multe.

Iti doresc mult spor in ceea ce faci,

Ramon Nastase

PS: poti arunca o privire si peste cartea de Programare cu Java scrisa de mine. CLICK AICI

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