Vladimir Primac este Inginer QA la compania Pentalog și profesor universitar la USM, unde predă din pasiune studenților pentru a oferi un transfer maxim de cunoștințe și experiență direct de la locul său de muncă. Este mândru de studenții lui și este plăcut surprins când aceștia ajung și ei la rândul lor specialiști IT sau chiar mentori.
Vladimir, când ai înțeles că tehnologiile informaționale sunt pentru tine?
Calculatorul niciodată nu mi-a fost străin, deja de la vârsta de 11–12 ani îmi plăcea sa instalez sisteme de operare sau să instalez echipamentele periferice la un calculator.
Dar momentul serios, în care am înțeles că îmi doresc o carieră a fost atunci când eram clasa a 12 și după ce am vorbit cu mai mulți oameni din IT și aceștia au spart stereotipurile despre acest domeniu, am înțeles ca programarea nu e doar despre a sta toată ziua la calculator. Totuși, cea care ma inspirat a fost prodecana de la Facultatea de Fizică și Inginerie pe care am cunoscut-o la ziua ușilor deschise la USM.
Cum a fost studenția ta la USM?
În primul an universitar învățam cu totul și cu totul diferit față de ceea ce mulți dintre noi își imaginau că face un programator. Erau obiecte ca fizica generală, ecuații diferențiale, analiză matematică și algebră superioară, care credeam că niciodată nu vor avea vreo conexiune cu viitoarea mea carieră, de aia și mulți colegi au abandonat universitatea. Totuși, mai apoi am înțeles că aceste obiecte construiesc o logică importantă pentru un programator.
P.S. Obiectele de studii enumerate mai sus sunt perfecte în special pentru cei care doresc să meargă în domenii ca AI, ML sau Big Data, la sigur aceștia vor fi fericiți că au învățat acele obiecte pentru că le va fi mult mai ușor la locul de muncă.
Care au fost primele tale experiențe reale de programare?
Am avut ocazia să fiu administrator de sală de calculatoare la USM cât și în paralel să mă ocup de website-ul facultății, care prin anii 2010–2011 încă era inexistent. Datorită profesorilor de la universitate am ajuns la un proiect unde trebuia să dezvoltăm un software pentru punctele de testarea tehnică a mașinilor, care se utilizează și până în ziua de azi, acest software fiind utilizat și de Inspectoratul General de Patrulare, această experiență fiind o secțiune din CV meu de care sunt foarte mândru.
Cum ai început domeniul de testare?
Cred că toate mi se trag de la compania în care mi-am făcut stagiul de practică, unde și am fost angajat ca tester manual pe o perioadă de un an. Ulterior am decis să devin angajat al companiei Allied Testing unde am lucrat încă 6 ani, unde balanța era înclinată mult mai mult spre automatizare.
Ce este domeniul de testare?
Testarea sau Quality Assurance este domeniul care se ocupă de controlul calității unui produs software dezvoltat deja. Acest lucru se poate întâmpla prin două metode, fie manual sau automat. Ulterior testerul, comunică erorile echipei de dezvoltatori care trebuie să le rezolve, iar aplicația este re-testată până erorile sunt eliminate.
Există o idee greșită că manual testing este apăsatul aleator pe butoane și ulterior vezi ce se întâmpla, gresit. În primul rând testerul indiferent care ar fi el, manual sau automat, este membru al echipei, el interacționează cu toți și trebuie implicat chiar din momentul proiectării aplicației pentru că el cunoaște și poate preconiza din prima unde ar putea apăra erorile sau momentele cele mai vulnerabil.
Testarea automată este atunci când scrii cod pentru anumite scenarii de testare care înlocuiesc activitățile umane repetitive.
Ce cunoștințe sunt necesare pentru a deveni tester?
Înainte testerii manuali care erau angajați de multe ori nu aveau experiență în IT sau cunoșteau vag acest domeniu, dar acum lucrurile s-au schimbat. Este nevoie de a înțelege deja conceptele de testare, de a face minim un curs de testare, a cunoaște limba engleză și calități foarte bune de comunicare.
Testerii, 30–40% din timpul lor petrec comunicând, deci nu trebuie să subapreciati acest capitol.
Testerii care folosesc automatizarea trebuie să dețină lucrurile enumerate mai sus, dar plus la toate să cunoască un limbaj de programare, spre exemplu: Java. Ei scriu cod pentru anumite scenarii, unde un program la rândul său este cel care și testează aplicația.
Cât de important este acest domeniu și va fi o cerință de specialiști și pe viitor?
Sigur, spre exemplu, 80% din utilizatori a unei aplicații ar putea să o șteargă dacă le apare 3 erori sau probleme tehnice într-o perioadă scurtă de timp. Chiar dacă multe domenii sunt trecute în detrimentul inteligenței artificiale, omenirea niciodată nu va pune responsabilitatea pe umerii acesteia în domenii ca medicină spre exemplu. Astfel, chiar manual testerii vor fi mereu necesari pentru că automatizarea testării nu poate fi 100%. Chiar și eu ca QA Automation tester, 30% din testările care le fac sunt manuale și 70% sunt automatizate, deci este un mix, raportul poate să se schimbe pe viitor, dar niciodată nu va ajunge chiar zero pentru testarea manuală.
Testerii sunt ultimii care oferă produsul final, deci pe umerii lor cade o responsabilitate enormă dacă nu au fost atenți la greșelile colegilor dezvoltatori, deci nu văd cum ar putea acest departament să dispară în viitor.
Care sunt relațiile dintre testeri și developeri, există o anumite tensiune?
Noi suntem mereu ‘dark side’ și mereu ducem o ‘’bătălie’’ cu developerii. Sigur că glumesc, ei sunt cei care se gândesc cum să facă ca un produs să funcționeze, iar noi ne gândim ce poate să nu funcționeze și ce erori ar putea apărea.
Comunicarea este foarte importantă dintre aceste departamente pentru că odată ce identificăm anumite erori, aplicația trece același ciclu, de rezolvare a erorii și re-testare până când totul este ok.
Cum arată o zi din viața unui QA?
Este un mix dintre comunicare cu colegii și lucru deja de sinestătător. În fiecare zi avem câte un meeting de tip daily stand-up unde ținem la curent și ceilalți membri ai echipei cu succesele noastre. Ulterior, putem să avem și alte meeting-uri, acestea pot fi diferite, atât cât cu scopul de a informa dezvoltatorii despre erori sau invers, dezvoltatorii doresc să introducă noi funcționalități și noi testerii trebuie să cunoaștem acest lucru.
Cariera în QA este rigidă sau ai oportunitatea să avansezi și pe alte poziții?
Sigur, daca ești manual tester, poți învăța un limbaj de programare și să treci în tabăra celor care automatizează testare.
Ulterior dacă îți place mai mult partea de leadership poți avansa ca Team Lead, dacă ești vizionar și poți anticipa viitoarele cerințe ale clienților poți deveni Product Owner și desigur mai sunt și alte poziții, deci este loc pentru a crește și a găsi un loc de muncă în dependență de calitățile tale.
Ce cărți ai recomanda celor care doresc să înceapă?
Cele mai bune cărți sunt cele scrise de ISTQB Certification după parerea mea. Pentru QA Automation nu veți găsi o carte care să conțină răspunsuri la toate întrebările, de aia recomand citirea mai multor cărți legate de tehnologiile sau activitățile conexe ale testării automatizate, din păcate trebuie să cunoști multe lucruri, nu neapărat foarte aprofundat, dar trebuie.
Este domeniul de QA unul plin de rutină?
Nu aș zice, orice domeniu în sine are rutină. QA este foarte incert, sa ai fantezia sa privești un produs altfel decât alții și să ai o gândire critică și analitică care te pune mereu în priză, e ceva normal pentru acest domeniu. Testerul trebuie să fie un fel de perfecționist pentru că acesta trebuie să atragă atenție maximă atât cât la partea vizuală a unui produs IT cât și la funcționalitatea codului. Adițional, developerii mereu crează funcții noi, care la rândul lor vin cu erori noi. Dacă aș compara testarea manuală cu cea automatizată, cea manuală implica mai multă rutină, dar totuși cu timpul crești și vin alte provocări.
Top sfaturi pentru cei care doresc o carieră în QA sau în IT
- Alegeți viitorul job în dependență de skill-urile pe care le aveți și în dependență de ce vă place. Nici un salariu, cât de mare nu ar fi în limite reale nu va face ca să vă iubiți jobul. Fiind entuziasmați veți avansa și mai ușor în carieră.
- Timpul din cadrul universității trebuie valorificat la maxim. Atunci e perioada cu cel mai mult timp liber, unde poți învăța cel mai mult, iar de competențele și cunoștințele învățate atunci, ar putea depinde viitorul vostru job și salariu.
- Nu există o sursă absolută de informare, încercati-le pe toate: youtube, cărți, universitate, zile de orientare în carieră, networking etc.
- Fii gata să înveți constant pentru că tehnologiile sunt în continuă schimbare, dacă dorești să fii competitiv pe piața muncii, fii adaptabil și să fii deschis la noi schimbări.
Fii open-minded pentru că: Minds are like parachutes: they function only when they are open.
Ți-a plăcut interviul cu Vladimir?
Vezi mai multe materiale de ghidare în cariera IT aici. Până în luna octombrie vom posta săptămânal astfel de interviuri și vom organiza webinare LIVE unde vei putea pune întrebări direct specialiștilor IT.