Skip to main content

Termenii tehnici pe care ar trebui să-i știe orice recrutor IT

recrutare it




Pentru cineva fără background tehnic, să asiste la o discuție între programatori este ca și cum ar auzi o limbă străină. În cele mai multe situații sociale, poți scăpa ușor dacă zâmbești politicos și îi rogi pe ceilalți să vorbească mai pe înțelesul tău. Însă dacă ești un recrutor care trebuie să angajeze candidați pentru un rol tehnic, nu ai de ales: trebuie să te familiarizezi cu termenii tehnici și să înveți să-i folosești.

Din fericire, nu trebuie să ai o înțelegere profundă a domeniului tehnic. Este suficient să înveți câteva noțiuni de bază și să știi ce anume să evaluezi la candidați.

Pentru asta, am lucrat la acest ghid de termeni tehnici prietenos pentru recrutori. Aici vei regăsi cei mai utilizați termeni din domeniu, de la varietatea de roluri tehnice până la cele mai cunoscute limbaje sau tehnologii. Parcurgându-l, vei reuși să înțelegi mai bine prin ce se diferențiază unii candidați IT de ceilalți și cum să îi identifici pe cei de care ai nevoie.

3. Termeni tehnici de bază
4. Programe și instrumente

1. Principalele roluri din IT

Web Developers (Programatori Web sau Dezvoltatori Web)

Un Web developer este un programator care ia un design de site - creat în prealabil de o echipă de web design - și îl transformă într-un website perfect accesibil și funcțional.

Acesta se poate ocupa doar de o parte a produsului web (front end sau back end) sau poate fi un Full stack developer (care are cunoștințe și de front end, cât și de back end).

Front-end Developer (Inginer de Front-end)

Front-end developerul este cel care dezvoltă partea site-ului web cu care interacționează utilizatorii. Practic, atunci când intri pe un site aproape tot ce vezi ține de partea de front end development: de la așezarea în pagină, butoanele pe care apeși sau meniurile prin care navighezi, toate au fost dezvoltate de către un Front-end developer.

Tehnologii folosite

Un Front-end developer va folosi ca limbaje de bază HTML, CSS și JavaScript. Pentru a munci mai eficient, Front-end developerii experimentați știu să lucreze și cu tehnologii precum libraries și frameworks ca Angular, jQuery, React.js și Bootstrap. Acestea îi ajută să pornească de la o bază pe care pot construi sau să folosească elemente create deja, pentru a nu le face de la zero.

Back-end Developer (Inginer de Back-end)

În timp ce programatorii de front end sunt responsabili de partea produsului cu care interacționează utilizatorii, programatorii de back end se ocupă de partea de servere. Asta înseamnă că ei dezvoltă codul și programele care operează serverele și bazele de date.

Tehnologii folosite

Back-end developerii folosesc o gamă variată de limbaje asociate cu serverele pentru a construi programe complexe. Printre cele mai populare limbaje se numără PHP, Python, Java, Ruby și JavaScript.

Pentru managementul bazelor de date, programatorii back-end ar trebui să știe să lucreze în tooluri precum MySQL, Oracle sau SQL Server.

Full stack developers

Un Full stack developer se ocupă atât de partea de front-end, cât și de cea de back-end. Un astfel de programator poate dezvolta un proiect de web development cap-coadă.

Tehnologii folosite

Tehnologii front-end:

Limbajele front-end fundamentale: HTML, CSS, JavaScript
Framework-uri precum: jQuery, Angular, React
 
Tehnologii back-end:

Cel puțin un limbaj de programare de back-end precum Java, Python, Ruby, Node JS ori framework-ul .NET
Una dintre tehnologiiile pentru lucrul cu baze de date: MySQL, Postgres, MongoDB, și/sau SQLServer
De asemenea, un full stack developer are cunoștințe minime de design UI/UX

Web Designers

Web designul se ocupă de tot ce ține de estetica și utilizabilitatea unui site - de la culorile folosite, la felul în care sunt așezate elementele și până la fluxul de utilizare.

Tehnologii folosite:

Web designerii trebuie să aibă aptitudini tehnice și de proiectare, wireframing și prototipare cu ajutorul diferitelor instrumente digitale.

Cu toate că web designerii se preocupă mai degrabă de ceea ce văd utilizatorii pe ecran, și mai puțin de mecanismele din spate, mulți au și cunoștințe de HTML, CSS și JavaScript. Acest lucru îi ajută să creeze mai ușor mock-upuri pentru aplicațiile pe care vor să le implementeze.

Web Designerii lucrează uneori și cu servicii de template precum WordPress sau Joomla!, cu ajutorul cărora pot crea site-uri folosind teme predefinite (fără a fi nevoie să scrie linii de cod). Aceștia pot fi la rândul lor specializați pe anumite nișe, precum UX design, UI design sau Visual design.

User experience (UX) Designer

Un UX Designer are ca focus experiența de utilizare a produselor web, făcându-le utile, plăcute și accesibile utilizatorilor. Acesta creează planul de dezvoltare a unui produs în funcție de audiența care îl va folosi, în urma unei munci de cercetare și targetare.

De aceea UX Designerii trebuie să cunoască metodele și instrumentele de studiere a comportamentelor utilizatorilor, pentru ca apoi să-și transpună ideile în interfața de utilizare a produsului.

User interface (UI) Designer

Un UI Designer se ocupă de interfață și de elementele de design ale unui produs web. Practic, acesta creează partea vizuală a produsului, astfel încât să fie plăcut și ușor de înțeles și navigat.

Designul UI se suprapune adesea designului grafic - educația în acest domeniu și experiența în proiectele de dezvoltare a produselor sunt un mare avantaj pentru designerii UI.

Diferența dintre un UX designer și un UI designer este așadar una subtilă: UX designerul face mai degrabă munca de cercetare pentru a construi fundația produsului, iar UI designerul se concentrează mai mult pe partea estetică.

Visual Designer (UI/UX Designer)

Un Visual designer este de fapt o combinație între UX și UI designer. Ca parte din jobul său, acesta face mai întâi cercetări asupra utilizatorilor, apoi pune în aplicare concluziile sub formă de machete, wireframe-uri și prototipuri.

System administrator (Administrator de sistem)

Administratorul de sistem este persoana responsabilă cu menținerea, configurarea și operarea sistemelor unei organizații (în special a serverelor de lucru).

Network administrator (Administrator de rețea)

Administratorul de rețea este responsabil de toate sistemele care alcătuiesc rețeaua de dispozitive a organizației (atât hardware, cât și software). Altfel spus, acesta se asigură că toate calculatoarele, dispozitivele și aplicațiile din companie comunică între ele.

DevOps Engineer (Inginer DevOps)

Un inginer DevOps este un generalist IT care face legătura dintre echipele de dezvoltare (Dev) și echipele IT operaționale (Ops).

În general, echipele de dezvoltare sunt cele care se ocupă cu aducerea de noi funcționalități, în timp ce echipele operaționale se ocupă de menținerea stabilității produsului lansat.

Ca și concept, DevOps se referă la unificarea și automatizarea celor două procese, iar inginerii DevOps sunt esențiali în combinarea codului, mentenanța și managementul aplicației. Aceștia monitorizează întregul ciclu de dezvoltare a unui produs, de la scrierea codului inițial și implementare până la mentenanță și update-uri.

Tehnologii folosite

În practică, un inginer DevOps poate avea diverse responsabilități în funcție de organizație, astfel că și cunoștințele tehnice pe care trebuie să le aibă pot varia.

În esență, acesta trebuie să știe să folosească o varietate de tehnologii și instrumente, pentru a putea acoperi partea de creare a unei infrastructuri de dezvoltare, a mediilor de testare, pentru monitorizarea funcționalității produsului și mentenanța acestuia.

2. Principalele limbaje

Ca o definiție simplă, limbajul de programare este folosit pentru a scrie programe sau aplicații. Și, ca orice limbaj, acesta are câteva componente cu ajutorul cărora poate transmite mesaje – cu singura diferență că un limbaj de programare transmite mesaje către computer, nu către alți oameni.

Mai precis, limbajul de programare este un set de:
Iată care sunt cele mai des întâlnite limbaje:

HTML

HTML (Hyper Text Markup Language) este unul dintre cele mai căutate limbaje pentru un Web developer.

De obicei este primul limbaj învățat de programatori, fiind esențial pentru a construi „scheletul” unui site (folosind HTML se pot formata texte, adăuga imagini și defini culori).

CSS

CSS (Cascading Style Sheets) este al doilea cel mai important limbaj folosit în Web Development, fiind obligatoriu în dezvoltarea front end.

Codul CSS este de obicei combinat cu cel HTML: în timp ce HTML îi spune paginii web ce conținut să afișeze, CSS îi spune cum să o facă și în ce stil. Dacă HTML este esențial în construirea website-urilor, CSS le face să arate bine, dinamice și interactive.

JavaScript

JavaScript este folosit în completarea codurilor de HTML și CSS pentru a adăuga funcționalitate site-urilor web. Practic, acesta definește felul în care se comportă un site și poate fi folosit pentru a genera elemente interactive și pentru a controla felul în care funcționează elementele create cu HTML și CSS.

De exemplu, JavaScript poate fi folosit pentru a crea hărți actualizate în timp real, filmulețe interactive sau jocuri online.

Framework-uri de JavaScript

Folosind framework-uri de JavaScript (JavaScript frameworks sau JS frameworks), programatorii accesează o structură deja existentă pentru codul pe care îl scriu.

Există mai multe tipuri de JavaScript frameworks, în funcție de nevoi, însă cele mai cunoscute sunt:
  • Angular
  • Backbone
  • Ember
  • ReactJS

Front End Frameworks

CSS și front end frameworks (cel mai popular dintre acestea fiind Bootstrap) fac pentru CSS ce face JS Frameworks pentru JavaScript: oferă niște puncte de pornire pentru eficientizarea procesului.

Din moment ce la CSS elementele inițiale sunt aceleași indiferent de proiect, framework-urile sunt foarte utile pentru că definesc aceste elemente pentru a nu fi scrise mereu de la zero.

XML

XML (Extensible Markup Language) este un format de documente pentru web care este mai versatil decât HTML. În timp ce HTML are doar anumite etichete predefinite pentru a descrie elementele dintr-o pagină, XML permite definirea unor etichete noi de către programatori.

PHP

În trecut, PHP era esențial pentru web development. Deși popularitatea sa este în scădere, PHP continuă să fie un limbaj folosit frecvent de Back-end developers.

Java

Java este un limbaj esențial pentru mulți dezvoltatori de back end, fiind scalabil și ușor de întreținut (este folosit inclusiv pe site-uri mari precum eBay sau Amazon).

Python

Este unul dintre cele mai ușor de învățat limbaje pentru că are puține particularitați și o sintaxă simplă, care poate fi înțeleasă chiar și de cei fără experiență în programare.Poate fi folosit pentru a crea conținut web dinamic, aplicații, pluginuri sau randare 2D și 3D.

Ruby

Ruby este un limbaj foarte eficient, permițând dezvoltarea programelor de la zero cu foarte puține linii de cod. Ruby a devenit popular în framework-ul Ruby on Rails, un framework pentru full stack developers care este folosit mai ales de start up-uri și de programatorii începători.

SQL

SQL (Structured Query Language) este un limbaj folosit pentru lucrul cu bazele de date. Folosind SQL se pot modifica tabele și structuri din bazele de date, sau se pot adăuga, edita sau șterge date. Este un limbaj util pentru gestionarea bazelor de date care conțin milioane sau chiar miliarde de date, dar și pentru gestionarea sau crearea de servere.

Este un limbaj folosit în roluri precum SQL developer, data analyst, business intelligence (BI) analyst sau database administrator (DBA).

C și C++

C este limbajul pe care s-au bazat zeci de limbaje de programare de-a lungul timpului (inclusiv Java, Javascript sau C#). Cunoștințele de limbaj C sunt foarte utile programatorilor care vor să învețe limbaje mai avansate.

C++ este o versiune actualizată a limbajului C, fiind un limbaj scalabil, cu ajutorul căruia se pot crea aplicații care consumă multe resurse (cum ar fi aplicații pentru desktop sau jocuri cu grafică complexă). De aceea este un limbaj foarte popular în industria de gaming.

C# (C sharp)

C# este un limbaj care a fost gândit ca competitor pentru limbajul Java, cu care este foarte similar. Este un limbaj potrivit pentru a crea aplicații de Windows, web sau pentru dispozitivele mobile. Este unul dintre limbajele folosite pentru a crea aplicații în framework-ul .NET.

Descoperă Mingle

mindit.io creează o experiență mai bună pentru candidați cu Mingle

Descoperă cum mindit.io a construit un proces de recrutare mai agil și a îmbunătățit experiența candidaților folosind Mingle.

Citește studiu de caz

3. Termeni tehnici de bază

Server web

Un server este un computer operat de la distanță care servește fișiere la solicitarea clienților. Un server web, deci, este un computer operat de la distanță care deservește site-ul web.

De exemplu, atunci când tastezi mingle.ro în browser contactezi de fapt serverul web care găzduiește acest site, astfel încât să poți comunica cu el pentru a solicita pagina web (ceea ce ai făcut deja pentru a vedea această pagină).

DevOps

Cuvântul DevOps vine de la „dezvoltare” și „operațiuni”, fiind o combinație între cele două. Este folosit pentru a descrie o abordare de development bazată pe integrarea și colaborarea dintre echipele de dezvoltare și cele de IT Operations.

În general, echipele de dezvoltare sunt cele care se ocupă cu aducerea de noi funcționalități, în timp ce echipele operaționale se ocupă de menținerea stabilității produsului lansat.

Ca și concept, DevOps se referă la unificarea și automatizarea celor două procese. Astfel, DevOps permite lansarea rapidă de noi funcționalități și optimizări, menținând în același timp funcțional produsul existent.

Agile

Agile este o metodologie de lucru care presupune dezvoltarea și lansarea unui produs incremental, mai degrabă decât lansarea variantei finale dintr-o dată. Metodologia Agile este orientată către utilizatori și feedbackul primit de la aceștia, fiind un mod de lucru flexibil și dinamic.

Waterfall

Waterfall este o metodologie de lucru apărută înaintea Agile. Folosind abordarea Waterfall, fiecare etapă de dezvoltare este bine planificată și documentată și poate începe abia după ce s-a finalizat etapa anterioară. Testarea și optimizarea au apoi loc abia după finalizarea dezvoltării.

Big data

Acest termen este folosit pentru a descrie volume mari de date care pot fi folosite strategic pentru a lua decizii mai bune pe termen lung.

Cloud computing

Cloud computing presupune livrarea unor produse software în cloud, nu prin instalarea sau descărcarea pe calculator.

On-premise

On-premise se referă la acele produse software pentru care utilizatorul trebuie să își gestioneze singur propriul centru de date.

SaaS (Software-as-a-Service)

SaaS (software în cloud sau aplicație cloud) este un software care este disponibil în cloud, de obicei printr-un model de abonament. Utilizatorul nu trebuie să-și facă griji cu privire la deservirea sau întreținerea produsului sau a bazei de date, deoarece primește o soluție gata făcută, administrată integral de furnizor.

Open source

Este un termen folosit pentru a descrie produsele software al căror cod de bază este gratuit și accesibil altor dezvoltatori. Codul open source este dezvoltat de o comunitate pentru a fi folosit de publicul larg. Acesta nu este dezvoltat de către companii cu scop comercial.

Framework

Un framework este un termen general care descrie o fundație pe care programatorii o pot folosi pentru a dezvolta programe software.

Cod sursă

Codul sursă se referă la lista instrucțiunilor citibile de către om scrise de un programator atunci când dezvoltă un program. Codul sursă este rulat printr-un compilator pentru a-l transforma în cod mașină, numit și cod obiect, pe care un computer îl poate înțelege și executa. Codul obiectului constă în principal din 1 și 0, deci nu poate fi citit de om. Codul sursă este scris într-un limbaj de programare.

Debugging

Debugging este procesul prin care programatorul evaluează codul în scopul de a identifica erori sau comportamente nedorite.

Clean Code

În programare există anumite standarde când vine vorba de redactarea și organizarea codului. Clean code se referă la capacitatea de a scrie cod în mod organizat, ușor de parcurs de către alți programatori.

Database (bază de date)

O colecție de informații stocate și folosite de produsele software, organizate astfel încât să fie ușor accesibile.

Bază de date relațională

Un model de bază de date în care datele sunt stocate în tabele. Majoritatea bazelor de date folosite de aplicațiile moderne sunt relaționale.

OOP (Programare orientată pe obiect)

Este o metodă de programare care folosește concepte abstracte (cum ar fi clase și obiecte) pentru a reprezenta elementele din lumea reală. Aceste obiecte sunt capabile să trimită, să primească și să proceseze mesaje (date).

API 

API (Application programming interface sau Interfața de programare a aplicațiilor) se referă la un set de reguli și specificații cu ajutorul cărora două aplicații pot comunica între ele.

Cu alte cuvinte, API este interfața de interactiune cu o aplicație, descriind modul de comunicare cu aceasta.

De exemplu, de fiecare dată când folosești aplicația Facebook sau verifici vremea pe telefon, folosești practic un API.

SDK (software development kit)

Dacă API este o noțiune mai degrabă abstractă, care poate fi comparată cu un manual de utilizare, SDK este ceva concret. Acesta se referă la o colecție de tooluri de dezvoltare care pot fi folosite pentru crearea unei aplicații. Un SDK vine la rândul lui cu un manual de utilizare (API) cu detalii despre ce trebuie făcut pentru a-l folosi.

Markup

Este un tip de limbaj care folosește etichete pentru a defini diverse elemente. Folosește cuvinte standard (care pot fi citite de om), mai degrabă decât sintaxă de programare. Aici intră, de exemplu, limbajele HTML sau XML.

4. Programe și instrumente

AWS

AWS este acronimul pentru Amazon Web Services, o platformă în cloud care oferă diverse servicii folosite de programatori pentru a implementa aplicații web (de exemplu stocare de date, management de rețele etc)

Bootstrap

Bootstrap este o bibliotecă gratuită de resurse pentru proiectarea de site-uri web şi aplicaţii web. Aceasta conţine şabloane de design HTML si CSS pentru orice, de la meniuri de navigaţie, butoane, imagini, fonturi, formulare şi alte componente de interfaţă, precum şi extensii JavaScript.

jQuery

jQuery este o platformă de dezvoltare JavaScript, cu pluginuri și extensii care ușurează dezvoltarea JavaScript. Practic, în loc ca un programator să codeze totul de la zero, poate găsi în jQuery elemente gata făcute, pe care le poate personaliza apoi folosind JavaScript.

MySQL

MySQL este un sistem de gestionare a bazelor de date SQL, fiind folosit în principal pentru aplicațiile online. Baza de date MySQL este folosită în principal ca mijloc de a stoca date pentru aplicații mari, bazate pe web.

GitHub

GitHub este o platformă folosită pentru găzduirea codului scris de programatori, pentru a-i ajuta să lucreze împreună pe proiecte și să poată urmări versiunile anterioare de cod.

De exemplu, dacă un programator vrea să construiască pe ce a lucrat până la un moment dat sau să colaboreze și cu alte persoane, nu poate ține codul doar pe calculatorul său pentru că ar fi dificil de accesat și urmărit.

Mulți programatori folosesc GitHub pentru a-și stoca ceea ce au codat și a-și crea un portofoliu pe care să-l poată distribui și cu alte persoane.

Kubernetes

Kubernetes este cel mai popular instrument pentru automatizarea managementului componentelor unei aplicații. Acesta permite administrarea tuturor serverelor, clusterelor și a altor componente dintr-un singur loc, indiferent unde se află mașinile sau componentele aplicației.

Apache

Este cel mai popular server web din lume. Acesta permite unui calculator să găzduiască unul sau mai multe website-uri.

AI

AI (Artificial Intelligence sau Inteligență artificială) se referă la sisteme sau la mașini care imită inteligența umană pentru a efectua diverse activități, și care se pot îmbunătăți iterativ pe baza informațiilor pe care le colectează. Se numește Inteligență Artificială pentru că reprezintă inteligența mașinilor și a roboților, spre deosebire de cea naturală a oamenilor și animalelor.

Machine Learning 

Machine Learning (ML sau Învățare automată) este, de fapt, folosirea inteligenței artificiale într-un mod în care oferă sistemelor abilitatea de a învăța singure, dar și oportunitatea de a deveni mai bune fără a fi asistate de programatori umani.

Altfel spus, ML se concentrează pe dezvoltarea de programe care pot accesa singure date și le și pot folosi pentru propriile nevoi de învățare.

Ca orice soft, crearea algoritmilor de tip machine learning poate fi efectuată în programe precum Python, Java sau chiar C++.

Deep Learning

O variantă mult mai avansată a procesului de ML este cel de deep learning (DL). Spre deosebire de ML, procesele de învățare în profunzime sunt construite cu scopul de a analiza date în mod continuu, pe baza unei structuri logice, similare cu modul în care funcționează conștiința umană.

Deep learning nu caută să eficientizeze, cât să înțeleagă informațiile pe care le primește și să învețe să ia decizii în mod independent. Prin contrast, machine learning are un obiectiv mult mai bine definit și caută calea cea mai eficientă spre îndeplinirea lui.

E rândul tău

Ca recrutor IT, nu trebuie să înveți să programezi sau să ai o înțelegere profundă a conceptelor de IT. Însă e necesar să poți înțelege termenii tehnici de bază și să poți purta discuții în jurul acestora. Aceste cunoștințe te vor ajuta să înțelegi abilitățile tehnice necesare pentru un rol și să identifici candidații care le dețin, să porți o conversație cu aceștia și să le poți răspunde la întrebări.

Descoperă Mingle

mindit.io creează o experiență mai bună pentru candidați cu Mingle

Descoperă cum mindit.io a construit un proces de recrutare mai agil și a îmbunătățit experiența candidaților folosind Mingle.

Citește studiu de caz

Comments

Top articole pentru HR

10 modele de e-mailuri esențiale în recrutare

85% dintre recrutori  apelează la e-mail drept canal principal de comunicare și interacțiune cu aplicanții. E-mailurile de recrutare sunt principalele – dacă nu singurele – modalități prin care poți contacta potențialii candidați, de aceea este atât de important ca acestea să fie bine formulate.  În timp ce modelele de e-mail pot fi o armă secretă foarte valoroasă în economisirea timpului, acestea trebuie personalizate cu grijă pentru a adresa nevoile individuale ale candidaților. Un  studiu efectuat de IBM  relevă că mai mult de 20% dintre candidați nu se simt bine informați în timpul procesului de recrutare, ceea ce contribuie la o experiență de angajare neplăcută. Dacă e-mailurile pe care le folosești în timpul recrutării sunt incomplete sau sunt percepute drept mesaje standard, candidații ar putea ajunge să se simtă mai degrabă ca o povară decât ca potențiali angajați valoroși.  Modelele de e-mail sunt totuși un bun punct de plecare pentru simplificarea sarcinilor repetitive care v

Care sunt cele mai bune întrebări de interviu și cum să evaluezi răspunsurile

Fie că ești un intervievator cu experiență sau te afli la început de drum, cel mai probabil îți dorești să găsești întrebările potrivite pentru toate tipurile de interviu pe care le susții. De la întrebările generale până la cele specifice postului, sunt multe opțiuni din care să alegi. 

Oferta de angajare: 5 moduri de a o îmbunătăți (și un model gratuit)

E o greșeală comună în recrutare să te bazezi pe faptul că, odată făcută oferta de angajare, candidatul perfect o va accepta. La urma urmei, este foarte probabil ca acesta să fie și candidatul perfect al altcuiva. Pentru ca oferta ta să rămână competitivă și să te ajute să angajezi cei mai buni oameni, trebuie ca întregul proces de ofertare să fie la fel de bine gândit ca cel de recrutare. 

Ghid de interviu: cum să susții un interviu structurat

Pentru a lua cea mai bună decizie de angajare, ai nevoie să evaluezi candidații în mod egal și să îi compari cu ușurință. Pentru asta, interviul structurat este cel mai bun instrument pe care îl poți folosi. Acesta îți permite să adresezi tuturor candidaților un set prestabilit de întrebări pe baza cărora să compari răspunsurile în mod obiectiv. În acest articol am inclus un ghid complet pentru susținerea unui interviu structurat, de la elementele pe care acesta trebuie să le conțină și până la pașii pe care să-i iei pentru a-l defini.  Ce este un interviu structurat? Interviul structurat este acel tip de interviu pentru care stabilești încă de la început întrebările pe care le vei adresa candidaților, ordinea lor și sistemul de notare pe care îl vei folosi pentru a îi evalua.  În cadrul unui astfel de interviu, întrebările adresate sunt strâns legate de cerințele de bază ale rolului, așa cum reies din descrierea acestuia. Răspunsurile la aceste întrebări sunt apoi notate folosind un s