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.