Cum anul 2024 tocmai a debutat, sunt sigur că pe lângă obiectivele legate de activitate fizică, slăbit, mersul la sală și altele asemenea, foarte mulți și-au propus ca anul ăsta să facă pasul cel mare și să se apuce de învățat programare.
Astfel apare întrebarea: ce limbaj de programare să înveți?
În mod normal, aș zice că nu prea are importanță ce limbaj de programare alegi, limbajul e doar o unealtă folosită împreună cu multe altele în procesul de dezvoltare al aplicațiilor, dar știu că răspunsul la întrebarea asta e esențial atunci când nu ai niciun fel de altă experiență în programare sau IT.
Spun că nu prea are importanță pentru că toate limbajele de programare pentru care se găsesc cursuri online în prezent sunt destul de populare și există cerere suficientă pentru ele. Șansele să înveți un limbaj irelevant cu informații de pe internet sunt extrem de mici, dacă nu chiar 0.
Mai mult de atât, nu prea există limbaje de programare irelevante, orice limbaj învățat te ajută să asimilezi mult mai rapid cunoștințe despre altele. Problema e de fapt la piața forței de muncă și implicit cererea pentru limbajul respectiv.
Cum să alegi un limbaj de programare relevant
Cel mai bine e să abordezi problema asta în mod invers decât avem tendința să o facem în mod obișnuit și anume de la piața forței de muncă. Adică să te uiți pe marile platforme de recrutare și să cauți anunțuri de angajare ale căror titlu sună cam așa: limbaj developer, limbaj software engineer, sau chiar și fără a specifica un limbaj anume, simplu: developer sau software engineer.
O să vezi că de multe ori în titlul anunțurilor se specifică și senioritatea (junior, mid/middle, senior etc.) și ideal e să fii atent la cele care specifică junior dar nu toate companiile adaugă senioritatea în titlurile anunțurilor de angajare. În cazul ăsta, uită-te după nivelul de vechime cerut (0-2 ani / 2-5 ani / >5 ani etc.).
De obicei cam astea sunt intervalele echivalente pentru junior, middle și senior (în teorie, cel puțin).
Analizează atent numărul de anunțuri pe care îl găsești pe fiecare tip de limbaj în parte și fă-ți o statistică undeva. De preferat să nu cauți locuri de muncă în zona ta, dacă nu stai în apropierea unui oraș mare care să aibă hub-uri de tehnologie (adică multe firme care au sedii sau birouri).
S-ar putea să ți se pară că citești chineză la început dar dacă te documentezi puțin, atunci când o să deschizi un anunț vei putea să citești printre rânduri și să extragi informația care te interesează destul de rapid.
Îți mai ofer un pont, nu toate anunțurile de angajare specifică un limbaj de programare în lista de cerințe pentru potențialul aplicant, ci mai degrabă sună ceva de genul ăsta: Frontend developer, backend developer, fullstack developer, sau varianta cu “engineer”, frontend engineer etc. ai prins ideea. Termenii ăștia specifică o zonă anume dintr-un proiect software pe care viitorul angajat se va concentra, dar detaliile astea nu sunt importante pentru tine la momentul ăsta. Așa că dacă titlul sună în felul ăsta, caută în descriere termeni care să te ajute să-ți dai seama la ce limbaj face referire anunțul.
Uite aici o listă cu zeci de limbaje de programare, acordă atenție celor top 20 din primul tabel.
S-ar putea de asemenea ca anunțurile să nu fie bazate pe un limbaj anume, ci să se specifice doar ceea ce se numește “framework”, care e o unealtă care vine complementară limbajului. Îți las și pentru asta o listă făcută de mine cu frameworks grupate pe limbaje de programare, ca să poți face asocierea anunțurilor la un limbaj anume, dacă nu e specificat.
După ce ai făcut statistica asta, o să ai o vedere în ansamblu asupra cererii pe piață pentru fiecare limbaj de programare în parte, cu cât mai multe anunțuri pentru un limbaj anume, cu atât mai bine, dar asta nu e tot.
Cum alegi un limbaj de programare bine plătit
Un alt criteriu de care probabil ar trebui să ții cont este cât de bine se plătește. Așa cum vezi în raportul Stack Overflow de aici sunt diferențe destul de mari între limbaje sau tehnologii. Așa că aruncă un ochi prin statistica ta și prin raportul de salarii și vezi pe unde se situează cele extrase de tine.
Valorile pe care le vezi acolo sunt salarii medii anuale pentru mai multe țări și continente care cu siguranță vor diferi de cele din România, dar măcar îți faci o idee de poziția față de alte tehnologii (mai bine sau mai prost plătit).
Cum alegi un curs de programare
Uită-te și după cursuri pe care le poți cumpăra pentru limbajele pe care le-ai stabilit relevante. Probabil există suficient de multe pe piață dar înainte să cumperi unul uită-te prin curicula mai multora și vezi care din instructori ți se pare că explică mai bine. Există secvențe pe care le poți acceesa gratuit pe majoritatea platformelor pentru a testa cursul înainte să-l cumperi.
Lucrul ăsta te ajută foarte mult, pentru că îți poți face o idee atât despre cum explică instructorul respectiv, cât și calitatea video și audio la care este înregistrat cursul. Degeaba ai un instructor care explică extraordinar de bine, dacă a folosit un microfon prost și sunetul e de slabă calitate și cu tot felul de interferențe și zgomote pe fundal. În egală măsură, degeaba e înregistrat cu cea mai bună aparatură, dacă instructorul nu știe despre ce vorbește.
Uită-te după un curs echilibrat din punctul ăsta de vedere, altfel te vei frustra foarte tare pe parcurs, mai ales că cele mai multe cursuri acoperă câteva zeci bune de ore.
Ideal, înainte să cumperi orice curs, caută tutoriale gratuite pe YouTube, așa cum am și eu pe mai multe tehnologii. Parcurge tutorialele alea ca să poți experimenta tehnologia respectivă, vezi dacă îți place, nu ca sintaxă ci mai degrabă ca și platformă, ce tipuri de aplicații poți face cu ea și dacă ți-ar plăcea să lucrezi pe tipul ăla de aplicații.
De asemenea, caută câteva generalități despre limbajul de programare respectiv, dacă nu găsești asta într-un tutorial gratuit. Vezi ce spețe acoperă, care sunt capabilitățile, pentru ce tipuri de aplicații se folosește, care sunt companiile care îl folosesc și la ce. Am deocamdată 2 video-uri de acest gen pe canalul de YouTube, unul despre C# și celălalt despre Java, te vor ajuta să-ți faci o idee despre ambele înainte să te îmbarci într-o aventură.
Am menționat până acum doar cursuri de programare online, fără asistența directă a unui mentor sau instructor, pentru că sunt modul ideal de a “încerca marea cu degetul”, fără să cheltui prea mulți bani.
Există și varianta cu cursuri de programare în format fizic la clasă, dar sigur vor costa mult mai mult, iar conceptele acoperite vor fi aceleași sau chiar mai restrânse decât în cazul unui curs de programare online.
Aplică toți pașii descriși anterior pentru tehnologiile pe care le-ai găsit relevante și alege una care te atrage cel mai tare. Nu-ți face griji, la punctul ăsta e imposibil să dai greș dacă ai făcut toată cercetarea despre care vorbesc, plus de asta o să vezi că limbajele de programare împărtășesc extrem de multe concepte între ele, așa că trecerea de la unul la altul o să devină din ce în ce mai lină după ce stăpânești unul.
C# limbajul de programare al anului 2023
Pagina cu lista de limbaje de programare pe care ți-am dat-o mai sus, e o listă întocmită de un index care analizează popularitatea limbajelor de programare în fiecare an, în general agregând o serie de indicatori cum ar fi căutările pe diferite motoare de căutare sau platforme de social media.
Am citit anunțul ăsta pe măsură ce scriam articolul și m-am gândit că e relevant pentru cineva care încă nu s-a hotărât ce să învețe: C# a fost declarat limbajul anului 2023, pentru că a avut cea mai mare creștere de la anul anterior, comparativ cu toate celelalte limbaje concurente.
C# este de câțiva ani într-o continuă ascensiune câștigând din ce în ce mai multă popularitate de la an la an. Popularitate pe care o merită din plin, pentru că pune la dispoziția programatorilor cele mai moderne capabilități de pe piață împreună cu o performanță care depășește cu mult alte limbaje de pe piață.
De-asta consider că C# e unul din cele mai sigure pariuri dacă vrei să te apuci de programare în 2024.
Atât pentru azi, ne auzim data viitoare.