Privind dincolo de CV: Ce atuuri şi abilităţi ar trebui să aibă un tânăr inginer software?
De la start-up-uri promiţătoare care deschid noi căi de dezvoltare cu aplicaţii inovatoare până la giganţi tehnologici consacraţi, care conturează noi orizonturi prin prisma tehnologiilor viitorului, industria tech şi de dezvoltare de software rămâne unul dintre lideri când vine vorba de nevoia şi cererea de forţă de muncă, iar găsirea inginerilor de software talentaţi aduce provocări pentru toţi jucătorii din ecosistem. Ce atuuri şi abilităţi ar trebui să aibă un tânăr inginer care păşeşte pe piaţa muncii în acest domeniu, în paralel cu pregătirea tehnică de bază?
În ceea ce priveşte abilităţile tehnice, un inginer software la începutul carierei ar trebui să aibă o înţelegere fermă a unuia sau mai multor limbaje de programare. Acestea ar putea include cele utilizate pe scară largă precum Python, JavaScript, Java sau CĂĂ. Alegerea limbajului de programare va depinde, desigur, de cerinţele postului şi de aria de specializare a inginerului. Aceste limbaje de programare sunt instrumentele brute cu care inginerii software creează şi modelează soluţii digitale”, a spus într-un interviu pentru BUSINESS Magazin Manuela Şerban, director HR în cadrul companiei locale Rinf Outsourcing Solutions (rinf.tech), specializată în dezvoltare de software, consultanţă şi BPO, cu afaceri de 29,3 mil. euro în 2022, plus 30% faţă de 2021.
În plus, o înţelegere fundamentală a structurilor de date şi a algoritmilor este esenţială pentru un tânăr inginer software, consideră reprezetanta
rinf.tech, adăugând că aceste cunoştinţe reprezintă piatra de temelie a rezolvării eficiente a problemelor şi permite programatorilor să-şi optimizeze performanţa şi să producă linii cod curate şi organizate.
„La fel de importantă este stăpânirea aşa- numitelor version control systems, în special Git. Version control este un skill esenţial în programare, în special pentru cei care lucrează în cadrul unei echipe în care modificările la codul sursă trebuie gestionate într-o manieră structurată şi uşor de urmărit. Mai mult, programatorii începători ar trebui să fie adepţi în testarea şi remedierea muncii lor. Scrierea de teste solide şi diagnosticarea defecţiunilor programelor fac parte din rutina unui programator, ajutând la asigurarea livrării de produse software de calitate. În plus, familiarizarea cu frameworkurile şi librăriile relevante pentru limbajul de programare ales poate fi un impuls semnificativ, sporind adesea productivitatea şi oferind componente preconstruite care accelerează dezvoltarea de software.”
Abilităţile nontehnice, la fel de importante ca cele tehnice
Dincolo de cunoştinţele tehnice, programatorii trebuie, de asemenea, să deţină şi să îşi îmbunătăţească constant soft skillurile, adaugă Manuela Şerban. „Rezolvarea problemelor este principalul skill de care aceştia au nevoie pentru că se vor confrunta frecvent cu provocări care necesită soluţii inovatoare şi practice. O bună comunicare este un alt pilon al succesului în acest domeniu, permiţând colaborarea eficientă cu membrii echipei, eliminând diferenţele dintre părţile tehnice şi nontehnice. Time managementul este crucial datorită felului rapid în care se dezvoltă tehnologia. Abilitatea de a jongla cu mai multe taskuri, de a stabili priorităţi în mod eficient şi de a respecta termenele limită poate face diferenţa între un inginer bun şi unul excepţional. În plus, peisajul tehnologic este în continuă evoluţie, făcând din abilitatea de a învăţa continuu un skill necesar pentru a rămâne în contact cu noile limbaje, tehnologii şi metodologii de programare.”
Tehnologiile vechi îşi păstrează relevanţa
De asemenea, reprezentanta Rinf notează că şi înţelegerea tehnologiilor software mai vechi rămâne crucială pentru tineri, în ciuda ritmului rapid de inovare pe care l-au avut în ultimii ani, acestea fiind importante din mai multe motive. Spre exemplu, în multe industrii, precum cea financiar – bancară, sistemele vechi – cele construite cu tehnologii mai vechi – sunt încă în uz şi au nevoie de mentenanţă. „Tehnologii mai vechi s-ar putea să nu prezinte aceeaşi atracţie pentru programatori precum tehnologiile mai noi şi mai trendy, dar formează coloana vertebrală a numeroase aplicaţii cheie în domenii precum finanţe sau sănătate. Aceste sisteme necesită adesea mentenanţă şi upgrade, creând o cerere pentru profesioniştii familiarizaţi cu tehnologiile software mai vechi. Totodată, multe principii şi modele utilizate în programarea modernă îşi au rădăcinile în aceste tehnologii mai vechi. Învăţarea lor poate oferi un context valoros şi o înţelegere mai profundă a motivului pentru care anumite practici există astăzi. Este ca şi cum ai studia istoria — îţi oferă o apreciere pentru prezent prin înţelegerea trecutului”, a explicat Manuela Şerban.
Ea a punctat că în ultimii trei ani s-a observat o reactualizare a valorii unor limbaje de programare mai vechi. Spre exemplu, JavaScript, un limbaj vechi de peste două decenii, a devenit critic datorită creşterii aplicaţiilor web precum React.js şi Node.js. În mod similar, Python, un alt limbaj cu istorie, a crescut în relevanţă odată cu creşterea tehnologiilor precum data science şi machine learning.
„În plus, învăţarea tehnologiilor mai vechi poate îmbunătăţi abilităţile de rezolvare a problemelor. Le lipsesc adesea abstracţiile şi facilităţile limbajelor mai noi, solicitând programatorilor să înţeleagă problema la un nivel mai profund şi să vină cu soluţii eficiente.”
„Lucrând împreună, companiile şi instituţiile de învăţământ pot crea un ecosistem care să sporească abilităţile tehnice ale studenţilor şi să îi echipeze cu skillurile soft şi cunoştinţele practice de care au nevoie pentru a reuşi în cariera lor. Această colaborare este crucială în pregătirea forţei de muncă care este gata să facă faţă cerinţelor şi provocărilor industriei IT, care se află într-o continuă evoluţie.“
Manuela Şerban, director HR în cadrul rinf.tech
Cele mai importante tehnologii cu care tinerii ar trebui să se familiarizeze ar depinde cu siguranţă de domeniul lor specific de interes, a mai spus reprezentanta companiei locale, care numără peste 290 de angajaţi. Însă, există câteva domenii universale de cunoaştere care sunt benefice pentru întregul spectru al profesiilor tehnologice.
„În primul rând, abilităţile de a scrie cod au devenit fundamentale. Fie că este vorba de Python pentru data science şi AI, JavaScript pentru dezvoltare web sau Java pentru aplicaţii enterprise, înţelegerea a cel puţin unui limbaj de programare popular deschide diverse oportunităţi, dar promovează şi o mentalitate focusată pe rezolvarea problemelor. În al doilea rând, este important, ca programator, să fii familiarizat cu sistemele de analiză şi management al bazelor de date, precum şi cu principiile securităţii datelor. Domeniile mai avansate, cum ar fi machine learning şi data science, merită explorate pentru cei înclinaţi către aceste domenii.”
De asemenea, cunoştinţele de cloud computing sunt din ce în ce mai importante, având în vedere că furnizori mari precum Amazon Web Services (AWS), Microsoft Azure şi Google Cloud Platform oferă o gamă de servicii care susţin dezvoltarea şi implementarea de aplicaţii moderne. Astfel, înţelegerea modului de a utiliza aceste platforme este o abilitate foarte căutată. La toate acestea ar trebui adăugată cunoaşterea dezvoltării web, a cadrelor front-end şi back-end, a punctat Manuela Şerban. „Abilităţile de lucru cu API-uri şi înţelegerea protocoalelor de reţea pot fi, de asemenea, benefice.”
Cum completăm pregătirea universitară
În plus, pe măsură ce tehnologiile digitale pătrund în toate aspectele vieţii, nevoia de a proteja şi securiza activele digitale creşte. Pentru a ţine pasul cu nevoile jucătorilor din industria şi ecosistemul tech, o mulţime de universităţi din România şi din întreaga lume şi-au actualizat curricula pentru a răspunde mai bine cerinţelor actuale din piaţa muncii. Astfel, studenţii întâlnesc adesea o mare varietate de tehnologii şi discipline în cadrul universităţilor de profil, atât vechi, cât şi noi.
„Cu toate acestea, deoarece lumea ingineriei software este extrem de dinamică şi versatilă, educaţia universitară poate să nu fie suficientă, iar studenţii trebuie să urmeze cursuri externe sau să se alăture companiilor IT ca stagiari pentru a-şi spori abilităţile, pentru a obţine o mai bună înţelegere a businessului şi pentru a-şi asigura cariera în viitor.”
Provocarea de a găsi candidaţii şi inginerii software „perfecţi” este cu atât mai mare cu cât domeniul de aplicare al ingineriei software se extinde cu mult dincolo de industria IT&C, soluţiile şi tehnologiile demonstrând în ultimii ani (mai ales) că pot fi implementate şi utilizate în aproape toate sectoarele de activitate, dar şi în viata de zi cu zi. „În sectorul sănătăţii, de exemplu, suntem martorii unei revoluţii digitale. Dependenţa din ce în ce mai mare de dosarele electronice de sănătate, platformele de telemedicină, sistemele de analiză a sănătăţii şi instrumentele de terapie digitală a intensificat cererea pentru inginerii de software care pot ţine pasul cu provocările acestui domeniu vital. Sectorul financiar, de asemenea, este martorul unei transformări similare. Pe fondul creşterii serviciilor bancare mobile, a sistemelor de plată digitale şi a consilierilor robotici, inginerii software devin actorii principali în revoluţia FinTech”, a explicat Manuela Şerban.
Anual, aproximativ 10.000 de absolvenţi STEM (Ştiinţă, Tehnologie, Inginerie şi Matematică) intră pe piaţa forţei de muncă tech din România, aceştia reprezentând 30% din întregul bazin de absolvenţi din România, similar cu Finlanda, Austria şi Portugalia, potrivit celor mai recente date de la Eurostat.
„Fundaţia pentru o carieră în STEM începe în primii ani. Prin introducerea la şcoală a disciplinelor STEM într-un mod distractiv şi antrenant, mai mulţi elevi pot fi încurajaţi să urmeze aceste domenii. În plus, organizarea de competiţii, târguri ştiinţifice şi ateliere de lucru le poate stimula şi interesul. Mulţi studenţi nu sunt conştienţi de diversele opţiuni de carieră disponibile în domeniile STEM. Oferirea de îndrumare în carieră şi prezentarea cifrelor de succes din industrie poate ajuta studenţii să înţeleagă oportunităţile şi potenţialele beneficii. Bursele, granturile şi ajutorul financiar pot face programele STEM mai accesibile studenţilor care nu au mijloace financiare pentru a urma studiile superioare”, este de părere Manuela Şerban.
De asemenea, universităţile ar trebui să îşi actualizeze în mod continuu programele de studii pentru a reflecta nevoile industriei, asigurându-se că studenţii dobândesc abilităţile pe care le caută angajatorii. „Colaborările cu organizaţii pentru stagii şi pregătire practică pot fi, de asemenea, benefice. Femeile şi alte grupuri subreprezentate sunt adesea mai puţin întâlnite în domeniile STEM. Iniţiative specifice de sprijinire a acestor grupuri, cum ar fi programele de mentorat sau evenimentele de networking, pot contribui la creşterea incluziunii acestora. Guvernele pot juca un rol crucial investind în educaţia STEM, creând politici care favorizează cercetarea şi inovarea STEM şi oferind stimulente pentru ca studenţii să intre în aceste domenii.”
Reprezentanta rinf.tech a punctat faptul că aceste strategii sunt mai eficiente atunci când sunt implementate într-o manieră cuprinzătoare, coordonată, implicând şcoli, universităţi, guvernul şi sectorul privat. „Lucrând împreună, companiile şi instituţiile de învăţământ pot crea un ecosistem care nu numai că sporeşte abilităţile tehnice ale studenţilor, ci îi echipează şi cu cunoştinţele practice şi skillurile soft de care au nevoie pentru a reuşi în cariera lor. Această colaborare este crucială în pregătirea forţei de muncă care este gata să facă faţă cerinţelor şi provocărilor industriei IT, care se află într-o continuă evoluţie.”
Urmărește Business Magazin
Citeşte pe zf.ro
Citeşte pe mediafax.ro
Citeşte pe Alephnews
Citeşte pe smartradio.ro
Citeşte pe comedymall.ro
Citeşte pe prosport.ro
Citeşte pe Gandul.ro
Citeşte pe MediaFLUX.ro
Citeşte pe MonitorulApararii.ro
Citeşte pe MonitorulJustitiei.ro
Citeşte pe zf.ro