Category: technologie

Cum poti sa devii test automation engineer?

In ultimii ani, testarea automata este din ce in ce mai des folosita, ceea ce a generat un numar foarte mare de job-uri pentru care companiile depun eforturi in gasirea candidatilor potriviti.  Surse din industrie spun ca cererea de candidati calificati depaseste oferta existenta pe piata.

Ce inseamna asta?

Inseamna ca nu exista un moment mai bun decat prezentul sa iti faci upgrade carierei si sa investesti in dezvoltarea ta profesionala.

De ce sa faci trecerea catre zona de test automation?

  • Ar trebui sa faci aceasta trecere in primul rand daca iti doresti sa treci in zona de programare. Persoanele care scriu teste automate, scriu cod. De aceea multi Test Automation Engineeri  care fac testare automata pe o perioada lunga de timp, ajung in cele din urma sa faca trecerea complet catre programare.
  • In al doilea rand, gradul de dificultate al muncii depuse de catre cel care face testare automata este ridicat si acest lucru se reflecta un valoarea salariului platit pentru astfel de roluri. De foarte multe ori, un Senior Test Automation Engineer are acelasi salariu ca un programator. Si este normal sa fie asa pentru ca ambii scriu cod: unul scrie codul aplicatiei si altul scrie codul care testeaza aplicatia intr-un mod automat.

Ce ar trebui sa stii ca sa devii test automation engineer?

  • Ar trebui sa ai cel putin bazele testarii manuale.Un Test Automation Engineer bun este o persoana care intelege arhitectura unei aplicatii si intelege foarte bine procesele de testare. In acest sens ai nevoie de cunostinte legate de : Test cases, Test Design,  Agile,DevOps, SQL , Continuous delivery, etc. Daca nu lucrezi deja in industria IT ca si tester manual, aceste baze le poti obtine fie prin studiu individual cautand resurse pe internet, fie prin varianta mai simpla accesand un curs de testare.
  • Ai nevoie sa inveti un limbaj de programare.Daca esti incepator atunci recomandarea este sa urmezi un curs de programare pentru a putea invata corect bazele programarii. Fireste ca de unul singur, prin studiu individual folosind resursele de pe internet  te poti perfectiona, dar nu poti invata bazele, principiile si bunele practice intr-un mod corect, daca acestea nu iti sunt explicate. In acest caz, vei ajunge sa copiezi solutii de pe internet, insa fara  a intelege cu adevarat ce a stat la baza acelei abordari. In ceea ce priveste limbajul de programare, cele mai populare si usor de invatat pentru incepatori (si din perspectiva resurselor de testare automata disponibile) sunt Java si Python.
  • Ai nevoie sa inveti programele specifice folosite in testarea automata.Sunt foarte multe programe disponibile pe internet. O parte pot si accesate in mod gratuit, iar pentru cealalta parte este nevoie de o investitie financiara. Si in acest caz, utilitatea poate fi diferita, variind de la foarte bune la inutile. Un mod foarte simplu de a iti valida alegerea facuta poate fi daca te uiti la job-urile de test automation ce fel de programe au in cerinte. Vei intelege astfel care sunt cele mai folosite si in acelasi timp poate fi un bun indicator al toot-urile pe care sa iti doresti sa le intelegi cum functioneaza.

O sursa la fel de buna de inspiratie in alegerea unui program pot fi chiar cei care au deja experienta in testare automata. Ei pot sa iti spuna ce programe folosesc, plusurile si minusurile pe care ei le vad folosindu-le constant.

  • Ai nevoie sa inveti cum sunt construite si cum functioneaza aplicatiile atat din interior cat si din exterior.
  • Cateva din intrebarile la care ar trebui sa poti raspunde sunt:
    • Care au fost limbajele de programare utilizate pentru a dezvolta aplicatia?
    • Pe ce platforma este consturita aplicatia?
    • Ce baze de date implica?
    • Exista API-uri sau servicii web conectate la diferite parti ale sistemului? Daca da, cum se face aceasta conectare?
    • Care sunt caracteristicile si funcționalitatile asteptate de la aplicatie?
    • Care este procesul de CI (continuous delivery) al aplicatiei?

Acestea sunt doar cateva puncte si pot varia in functie de complexitatea aplicației testate.

De unde poti incepe?

Sa incepi ceva nou este intodeauna dificil. La fel ca si mersul pe bicicleta, la inceput este mai dificil si mai nesigur, dar pe masura ce exersezi devii din ce in ce mai bun.

Incearca sa fii informat si sa afli care sunt noile technologii, incearca sa te conectezi cu oameni care fac deja asta si cere sfaturi. Urmeaza cursuri care te invata de la zero si iti dau astfel un start foarte bun in directia aceasta. Un astfel de curs gasesti aici !

Este important sa profiti de acest context in care se afla piata IT si sa perseverezi in dezvoltarea skill-urilor tale care te pot ajuta sa accesezi roluri din aceasta industrie.

Ce face un software tester?

Un software tester, sau QA analyst sau software test engineer este o persoana la fel de importanta in procesul de dezvoltare a unui produs cum este si un dezvoltator, sau programator sau software engineer.

Cele doua roluri sunt complementare in ciclul de viata al unui produs software.

Programatorul este responsabil pentru scrierea codului sursa al programului respectiv, iar testerul este persoana care se asigura de integritatea, calitatea , eficienta si buna functionalitate a codului scris.

Mai pe scurt, un tester software se ocupa cu verficarea unui program, sau a unei parti a unui program cu scopul de a identifica eventuale deficiente de rulare.

Aceste deficiente pot fi cauzate de: erori de design, intelegere gresita a cerintelor clientului, erori de programare, etc.

In general in industria IT ne referim la membrii echipei de testare sub titulatura de QA (Quality Assurance).

Aceasta este o denumire generica, iar in realitate vom intalni testeri care sunt specializati pe anumite tipuri de testare, sau care au diferite roluri in cadrul echipei de testare sau a echipei de proiect.

Ca si structura generala (care poate avea mici variatii de la companie la companie) a unei echipe de QA, cel mai des intalnim urmatoarele roluri:

 

Structura tipica a unei echipe de QA

In functie de cat de mare este echipa de QA, aceste roluri se pot granula in specializari pe diverse tipuri de testare (performance tester, uat tester, security tester , etc) sau nivele de senioritate (junior, regular, senior, expert).

Aceste diferentieri se fac pentru a defini cat mai bine care sunt competentele si responsabilitatile fiecaruia.

Responsabilitati generale ale unui tester software

In general o mare parte a proceselor si responsabilitatilor sunt comune.

Ca si termini generali, cand ne referim la responsabilitatile de zi cu zi ale unui tester ne gandim la urmatoarele aspect:

  • Crearea si documentarea scenariilor de test
  • Executia testelor conform test planului si a strategiei de testare asumate la nivel de produs sau companie
  • Analiza si raportarea rezultatelor procesului de testare
  • Analiza si raportarea deficietelor (defecte) gasite in procesul de testare

Un tester are cunsostinte foarte bune legate de metodele de design al scenariilor de test, modelelor de test aplicabile in functie de aplicatia testata, metodelor de executie a testelor si nu in ultimul rand abilitati de comunicare foarte bune.

 

Cum am pus in diagrama de mai sus, intalnim foarte des doua ramuri clar differentiate in ceea ce priveste cariera de tester software.

Prima este zona de testare manuala a aplicatiilor si cea de a doua este zona de testare autoamata a acelorasi aplicatii.

QA Manual Tester

Acest tip de testare se bazeaza pe executarea scenariilor de test intr-un mod manual. Adica exact cum procedeaza un utilizator final cu aplicatia.

Spre exemplu, daca testam un magazine online, un scenariu tipic de test presupune parcurgerea de la crearea unui cont pana la adaugarea in cos a unui produs si incercarea platii.

Acest scenariu se executa manual, prin deschidera intr-un browser a magazinului respectiv si parcurgerea tuturor pasilor de test folosind mouse-ul si tastatura. Exact cum facem oricare dintre noi cand comandam un produs online.

Testerul manual este specializat in a gasi defecte acolo unde testarea automata nu poate, bazandu-se pe experienta, pe abilitatile de observare si pe ceea ce in industria IT numim “Tester mindset”.

Acest “tester mindset” se invata si reprezinta un mod de a gandi scenariile de test si executia lor in functine de unde este cel mai probabil a se gasi defecte.

De obicei ne referim la acest mindset sub forma : Testerul intodeauna se gandeste cum sa “strice” programul testat.

Responsabilitatile de zi cu zi ale unui tester manual pot include:

  • Parcurgerea documentatiei primite de la client pentru a intelege cerintele si nevoile clientului
  • Comunicarea continua cu clientul
  • Scrierea de scenarii de test
  • Raportarea defectelor gasite
  • Ajutarea programatorilor in reproducerea defetelor
  • Executarea scenariilor de test
  • Raportarea progresului testarii
  • Contribuirea la definirea strategiei de test sau a planului de testare

Aceste sunt cele mai comune, dar in functie de specificul si stadiul proiectului sau de nivelul de senioritate al testerului se pot adauga sau scoate din responsabilitati.

 

QA Automation Tester

Acest tip de testare se bazeaza pe scrierea de programe (scripturi) care in mod automat (programatic) sa execute scenarii de test.

Daca ne referim la acealsi scenariu de mai sus in magazinul online, un test automat presupune scrierea de cod sursa, care sa simuleze parcurgerea acelorasi pasi fara utilizarea mouseului sau a tastaturii. Totul se face prin simulare programatica.

Testerul automat este cel mai aproape de dezvoltator ca si profil pentru ca ambii scriu cod sursa, difernta fiind ca unul (dezvoltatorul) scrie un program, iar testerul automat scrie un program cu care testeaza programul scris de dezvoltator.

Este foarte des intalnit in idustria IT ca  foarte multi QA Automation testeri sa faca pasul catre cariera de dezvoltator dupa o perioada.

De ce avem nevoie de acest profil cand dezvoltam software? Pentru ca de cele mai multe ori numarul scenariilor de test cresc pe masura ce produsul software se dezvolta sin oi functionalitati sunt adaugate.

Astfel avem nevoie de o modaliate de a testa cat mai repede ce a fost deja dezvoltat pentru a ne asigura ca noile functionalitati adaugate nu strica vechile functionalitati. Astfel testarea autoamata ajuta testerul manual sa se concentreze pe testarea functionalitatilor noi in loc sa piarda timpul cu retestarea celor vechi.

Cateva dintre responsabilitatile  de zi cu zi pot include:

 

  • Scrierea de teste automate folosind diverse limbaje de programare si framework-uri (instrumente specifice cu ajutorul carora se scriu si executa testele)
  • Executia testelor automate
  • Analiza rezultatelor testelor
  • Mentenanta testelor automate
  • Raportarea defectelor intalnite
  • Analiza de programe noi pentru testare automata.

 

QA Lead/ QA Manager

Acestea reprezinta roluri de management de echipa. Sunt roluri de coordonare a caror principala responsabiliate este aigurarea la nivel de companie a unui proces si strategie de testare in conformitate cu standardele companiei.

In general aceste pozitii sunt ocupate de catre testerii care au ajuns la un nivel de senioritate de expert si care demonstreaza deasemenea si abilitati de coordonare.

Ca si responsabilitati generale putem enumera:

  • Pregatirea strategiei de testare la nivel de companie au proiect
  • Recrutarea de personal (testeri)
  • Alocarea testerilor in functie de competente si senioritate pe proiecte
  • Definirea de indicatori de calitate
  • Reprezentarea echipei de QA in sedintele de management
  • Supervizarea activitailor de testare si raportarea lor catre managementul superior
  • Identificarea de noi procese de testare si ajustarea proceselor naturale.

Acestea sunt responsabilitatile comune, care se regasesc indiferent de specificul companiei in care opereaza echipa de QA.

 

 

Ce reprezinta un ”load balancer”?

Acest articol face parte dintr-o serie, in care ne propunem sa explicam in termeni cat mai simpli, o parte din notiunile folosite in industria IT.

Pentru ca o mare parte din termenii folositi in industrie sunt in limba engleza si nu au neaparat o traducere exacta in limba romana. De aici si confuzia multora in ceea ce priveste semnificatia multora dintre acesti termeni.

Asadar, astazi vom vorbi despre “Load balancer

Cand ne referim la termenul de “load balancing”, ce vrem sa spunem este procesul prin care se face distributia traficului pe care serverele aplicatiei noastre il primesc de la consumatorii ei.

De ce avem nevoie de load balancing ?

Pentru ca aplicatiile din zilele noastre sunt accesate concomitent de un numar foarte mare de utilizatori in acelasi timp. Acest lucru pune presiune pe serverele aplicatiei si poate cauza un timp de raspuns mai mic asupra actiunilor utilizatorilor finali, ceea ce inseamna o nemultumire a acestora legata de modul in care aplicatia raspunde la comenzi.

Sa luam exemplu Instagram, unde sute de mii sau milioane de oameni cer sa acceseze fotografii in acelasi timp.
Serverul trebuie sa fie capabil sa raspunda cu fotografia ceruta in cel mai scurt timp posibil.

Ca acest lucru sa se intample dezvoltatorii adauga din ce in ce mai multe servere care sa proceseze aceste requesturi cat mai repede.

Astfel avem nevoie de o modalitate de a distribui aceste request-uri, catre toate serverele aplicatiei, si aici apare nevoia de load balancing.

Un load balancer se intrepune intre utilizatorii finali si serverele aplicatiei cu scopul de a :

  • Distribui requesturile venite din partea utilizatorilor pe mai multe servere
    • Sa asigure disponibilitatea si accesibilitatea aplicatiei prin distributia cererilor doar catre serverle care le pot gestiona (nu au load mare, nu sunt offline, etc)
    • Permite adaugarea si scoaterea de servere din ecosistemul aplicatiei in functie de cerinte
    • Automat redirecteaza toate requesturile cand un server trece offline catre restul serverelor

Mai jos o sunt cativa algoritmi care se folosesc pentru load balancing:

Round robin : Acest tip de algoritm permite ca requesturile sa fie distribuite secvential catre fiecare server in parte.

Weighted Round Robin : Acest alogritm functioneaza la fel ca metoda round robin, doar ca in cazut acesta, fiecarui server I se atribuie o pondere, si serverul cu o pondere mai mare va primi mai mult trafic iar serverul cu o pondere mai mica ba primi un trafic mai mic.

Least connection : Acest algoritm ia in considerare incarcarea serverului, astfel, traficul va fi distribui pe baza numarului de sesiuni active. Serverul cu cele mai putine sesiuni active va fi favorizat in a primi traficul.

Weighted least connection:  Acest algoritm este construit pe baza technicii de mai sus, doar ca in plus fiecarui server I se atribuie o pondere. Daca doua servere detin acelasi numar de sesiuni active, atunci se ia in considerare si ponderea, iar traficul va fi directionat catre serverul cu ponderea mai mare.

Least response : Acest algoritm ia in considerare atunci cand redirectioneaza traficul catre un server, care este serverul cu cel mai mic timp de raspuns si care are cele mai putine sesiuni active.

Acestia sunt doar cativa algoritmi care sunt folositi, in general difera in functie de cum sunt construite applicatiile din punt de vedere architectural.

Ce reprezinta “Technology stack” sau “Tech stack”

Acest articol face parte dintr-o serie, in care ne propunem sa explicam in termeni cat mai simpli, o parte din notiunile folosite in industria IT.

Pentru ca o mare parte din termenii folositi in industrie sunt in limba engleza si nu au neaparat o traducere exacta in limba romana. De aici si confuzia multora in ceea ce priveste semnificatia multora dintre acesti termeni.

Asadar, astazi vom vorbi despre “Technology stack”, “Tech stack” sau “Application stack”

In interiorul industriei IT, folosim zilinc aceasta expresie pentru a ne referi la technologiile care sunt folosite intr-un anumit proiect.

Exemplu : Care este tech stack-ul proiectului tau ?

Intrebarea se refera la :

Care sunt limbajele de programare  si bazele de date care sunt folosite in interiorul proiectului.

Care sunt technologiile folosite in interiorul aceluiasi proiect si care sunt produsele software care sunt folosite pentru dezvoltarea produsului.

Putem spune ca este o sumarizare a technologiilor folosite pentru crearea unui produs software.

In general, atunci cand recruteaza, companiile se refera direct la tech stack-urile folosite pentru a recruta candidati.

Cateva categorii care compun un tech stack sunt (nu va faceti griji pentru denumirile in engleza, le vom explica in articole ulterioare):

Limbajele de programare : Aceste sunt alese in functie de specificul aplicatiei pentru care se dezvolta, daca este doar pentru aparate mobile sau de orice tip, in functie de zona de dezvoltare, daca vorbim de partea de server sau de partea cu care utilizatorul final interactioneaza (UI = user interaction; website sau interfata unei aplicatii).

Exemple de limbaje de programare populare sunt : Java; Python, JavaScript, Ruby, Swift, C#, C++, Go, PHP

Servere si load balancing  : Acestea reprezinta partea de server, partea de distributie a continutului in cadrul retelei, partea de rutare si de cache (datele “cache” sunt informatii transmise de catre un website sau o aplicatie care sunt ulterior stocate, pentru a fi folosite mai tarziu)

Servicii populare in aceasta categorie sunt : AWS, Google Cloud, Azure, Apache, Ngnix, CloudFlare

Stocare si cautare de date : Aceasta parte este reprezenta de catre bazele de date si alte tipuri de aplicatii care iti permit sa stochezi si sa cauti in acele stocuri de date. Spre exemplu date legate de produsele unui site de cumparaturi, sau datele legate de comportamentul unui user care mai tarziu iti permit sa imbunatatesti aplicatie pe baza acestui comportament.

Produse populare in aceasta categorie sunt : MySql, MongoDD, Cassandra, PostgresSql, Azure SQL, RedShift, Oracle

Frameworks pentru zona de backend :  Simplist spus, framework este o colectie de limbaje, librarii si alte utilitati care sunt folosite de catre programatori pentru a crea aplicatii. Tot simplist, backend se refera la zona de management de contiut a aplicatie. Este compus din mai multe parti (server, baza de date, aplicatie).

Produse populare in aceasta categorie sunt : Spring, Django, Laravel, RubyOnRails, .Net

Frameworks pentru zona de frontend : Simplist spus frontend se refera la zona de interactiune cu userul final. Website-ul sau interfata unei aplicatii.

Produse populare in aceasta categorie sunt : AngularJs, React, Flutter, Boostrap, JQuery, EmberJS

Monitorizare : In aceasta categorie intra produsele folosite pentru a tine sub observatie performanta si modul in care o aplicatie se comporta in momentul in care este folosita. Se iau in considerare diverse tipuri decomportamente (performanta, scalabilitate, etc). Ele analizeaza intreaga aplicatie de la bazele de date pana la zona de interactiune cu utilizatorul final.

Produse populare in aceasta categorie sunt : DataDog, Nagios, Zabbix, Dynatrace, AppDinamics

Acestea sunt doar cateva dintre categorii, dar care sunt printre cele mai importante de mentionat.

Acum ca sa ne facem o idee si mai clara, haideti sa vedem care sunt cateva dintre tech stack-urile catorva dintre cele mai uzuale aplicatii de zi cu zi :

SnapChat :

Limbaje de programare:  Java, Kotlin, Objective-C, Swift, JavaScript

            Frameworks: AngluarJs, JQuery, React, Boostrap

            Cloud: Google App Engine, Google Compute Engine, Google Cloud Datastore

            Baze de date: MySql, MongoDB, Redis

Netflix:

Limbaje de programare:  Java, Python, Kotlin, Swift, JavaScript

            Frameworks: NodeJS, React, Restify, RxJS

            Cloud: Amazon EC2, AMAzon S3, Amazon RDS, Amazon EMR etc

            Baze de date: MySql, PostgresSQL, Redis, Cassandra

Uber:

Limbaje de programare:  Java, Python, Objective-C, Swift, JavaScript, GO

            Frameworks: NodeJS, React, ExpressJS, BackboneJS

            Cloud: Amazon EC2, AMAzon S3, Amazon RDS, Amazon EMR etc

            Baze de date: MySql, PostgresSQL, Redis, Cassandra, MongoDB

Ce reprezinta ”SaaS”?

Acest articol face parte dintr-o serie, in care ne propunem sa explicam in termeni cat mai simpli, o parte din notiunile folosite in industria IT.

Pentru ca o mare parte din termenii folositi in industrie sunt in limba engleza si nu au neaparat o traducere exacta in limba romana. De aici si confuzia multora in ceea ce priveste semnificatia multora dintre acesti termeni.

Asadar, astazi vom vorbi despre “Saas” sau “Software as a Service

SaaS (Software ca serviciu) este unul din cele trei mari categorii ale cloud computing. Pe scurt, cloud computing este un concept care reprezinta un ansamblu distribuit de servicii, aplicatii si baze de date, pe care utilizatorul le acceseaza via internet, fara a avea nevoie sa le instaleze sau sa le configureze local.

O traducere in limba romana pentru termenul cloud computing nu exista.

Dar sa revenim. Cum spuneam, Saas este unul din cele trei mari categorii ale cloud computing, alturi de IaaS (Infrastructure as a Service = Infrastructura ca serviciu) si PaaS (Platform as a Service = Platforma ca serviciu)

SaaS ne permite sa utilizam aplicatii care nu sunt instalate la noi pe calculator, sau in reteaua noastra. Putem spune astfel, ca orice aplicatie care ofera un serviciu si pe care o accesam via internet reprezinta un SaaS.

Multi oameni folosesc deja SaaS fara sa stie ca o fac. Aplicatii ca Gmail, Hotmail, Yahoo, Google Docs, WordPress, Slack, toate sunt SaaS.

Chiar si Netflix este tot un SaaS. Netflix vinde un serviciu pe care il platesti sub forma de subscriptie lunara pentru a urmari filme si documentare care sunt licentiate (deci nu pot fi descarcate gratuit).

Tot ce tine de partea de hardware si software necesar pentru functionarea aplicatiei este gestionata de catre cei care pun la dispozitie aceasta aplicatie, din partea noastra neffind necesar sa instalam sau sa configuram aplicatia respectiva.

Aplicatiile SaaS sunt atat pentru scop personal cat si pentru bussines. Cum spuneam sim ai sus, Gmail este un exemplu foarte uzual pentru scop personal. Pentru firme, aplicatii gen Salesforce, Sap, sau diverse alte ERP-uri sunt foarte commune.

O confuzie des intalnita, este daca toate website-urile sunt SaaS ?, pentru ca sunt applicatii accesibile via internet.

Raspunsul simplu este nu. Raspunsul mai lung suna asa: Nu toate website-urile ofera servicii. Multe website-uri sunt doar pentru prezentare, sunt bloguri sau doar pentru impartasit idei si asa mai departe. Dar nu ofera un serviciu pe care utilizatorul final il foloseste.

Cateva (doar cateva) exemple de tipuri de servicii sunt mai jos:

3 motive sa incepi o cariera in IT

U

nul dintre sectoare din economie care a suferit si sufera cel mai putin in situatiile de criza economica sau situatiile exceptionale cum suntem acum, in plina pandemie de Coronavirus, este secorul IT. Chiar din contra, in situatia creata de Coronavirus se pare ca sectorul IT beneficiaza de o crestere a joburilor datorate nevoii firmelor de digitalizare fortata.

Daca situatia curenta create de pandemia de Sars-Cov2, te-a facut sa te gandesti mai mult  la viitor, daca esti in cautare de posibilitati pentru o cariera noua si nu stii incotro sa te indrepti, atunci sectorul IT ar trebui sa fie in topul listei tale.

Iata mai jos cateva motive care sa te ajute daca vrei sa iei o decizie in acest sens:

Salariile sunt peste media pietei

Nu mai este un secret pentru nimeni ca in momentul de fata salariile sunt peste media pietei in setorul IT din Romania. Acest lucru se datoreaza atat unor masuri menite sa incurajeze dezvoltarea acestui sector, luate de catre govern (impozit diferentiat ) cat si datorita cererii foarte mari a fortei de munca in acest sector. Faptul ca ai nevoie de cunostinte specific ca sa poti activa in acest sector, mareste acest decalaj intre cererea de forta de munca si oferta care se regaseste in piata.

Un lucru de mentionat este ca in acest sector se pune un pret mai mare pe cunostintele candidatilor decat pe studiile lor. Astfel incat, un candidat care are o diploma de facultate de profil si un candidat care are doar un curs de specializare, au acealsi sanse de angajare.

Gasirea unui loc de munca mai usor decat in alte sectoare alea economiei

Exista un deficit de forta de munca, cel putin in sectorul IT din Romania,  ceea ce face gasirea unui loc de munca mult mai usor decat in alte sectoare.

Pentru cei care lucreaza deja in sectorul IT este un lucru obisnuit sa primeasca cel putin saptamnal invitatii de la alte companii pentru a discuta posibilitatea de a schimba jobul. Acest lucru se intampla pentru ca exista o cerere foarte mare din partea firmelor de a ocupa pozitiile pentru proiectele curente sau pe care le incep si nu sunt suficienti profesionisti pe aceste pozitii in piata. Acest lucru duce la aceasta vanatoare de talente in piata si implicit la salariile mari pe care cei din sectorul IT le primesc.

Multiple oportunitati de cariera

Majoritatea celor care nu lucreaza in sectorul IT, asociaza tot timpul acest sector doar cu zona de programare software. Oportunitatile de cariera in sectorul IT sunt multiple, doar si aceasta zona de software develoepement are o multitudine de oportunitati si roluri diferite. De la roluri in zona de management de personal, la roluri in zona de management de proiect, vanzari, operatiuni si asa mai departe. Si fiecare dintre cele deja enumerate are diferite niveluri de cariera si diferite directii in care se pot dezvolta.

Sectorul IT este un sector in care este foarte greu sa te plafonezi, dezvoltarea personala si oportunitatile de invatare si dezvoltare profesionala sunt parte integranta a acestui sector.

Cariera ta este ca o gradina. Poate sustine o sumedenie de energii vitale care devin o recompensa pentru tine. Nu esti obligat sa cresti o singura specie in gradina ta. Nu esti obligat sa faci un singur lucru in cariera ta..

Jennifer Ritchie Payette
Vrei sa incepi o cariera in IT si nu stii cum ?

Daca iti doresti sa incepi o cariera in sectorul IT dar inca nu stii cum sa incepi, noi te putem ajuta. Ne poti trimite un mesaj iar unul dintre expertii nostri in cariera te va contacta pentru o evaluare gratuita.