
În etapa actuală de dezvoltare a industriei software-ului, putem observa o diversitate de roluri de producție. Numărul acestora crește, iar clasificarea devine din ce în ce mai complexă, și, desigur, procesul de selecție a specialiștilor și gestionarea potențialului uman devine mai complicat. Tehnologiile informației (IT) reprezintă un domeniu al resurselor umane foarte calificate și al deficitului de personal. Aici, procesul de formare a cadrelor și nevoia de a lucra sistematic cu potențialul uman sunt de multe ori mult mai eficiente decât selecția directă prin intermediul resurselor online.
Articolul abordează problemele relevante pentru specialiștii în resurse umane din companiile IT: relațiile cauză-efect în evoluția rolurilor de producție, consecințele interpretării greșite a conținutului rolurilor pentru activitatea de resurse umane în ansamblu, precum și posibilele variante de eficientizare a selecției specialiștilor.
Producția IT pentru cei neinițiați
Cine este cine în IT – aceasta este o temă de discuție în diferite forumuri. Ea există de atâta vreme cât întreaga industrie IT, adică de la apariția pe piața de consum a primelor companii de dezvoltare software la începutul anilor '90. Și de la acea vreme nu a existat un consens asupra acestei întrebări, ceea ce creează dificultăți și reduce eficiența muncii în domeniul resurselor umane. Să încercăm să ne lămurim.
Pentru mine, tema rolurilor de producție în domeniul IT a devenit relevantă și interesantă de când am început să lucrez într-o companie IT. Am investit mult timp și energie nervoasă pentru a înțelege procesul de producție. Aceste cheltuieli au depășit așteptările mele și costurile de adaptare la procesele din alte domenii: educație, producție materială, mică afacere. Am avut conștiința că procesele sunt complexe și neobișnuite, deoarece, în general, oamenii sunt mai adaptați la lumea materială decât la cea virtuală. Dar a existat o rezistență intuitivă: părea că ceva nu este în regulă, că nu ar trebui să fie așa. Procesul de adaptare a durat probabil un an, ceea ce, în viziunea mea, reprezintă o perioadă considerabilă. În final, mi-am format o imagine destul de clară asupra rolurilor cheie în producția IT.
În prezent, continui să lucrez la acest subiect, dar la un alt nivel. În calitate de lider al centrului de dezvoltare al unei companii IT, trebuie adesea să interacționez cu studenți, profesori universitari, candidați, elevi și alții care doresc să participe la crearea unui produs IT pentru a promova marca angajatorului pe piața muncii dintr-un nou teritoriu (orașul Yaroslavl). Această comunicare nu este ușoară din cauza nivelului scăzut de informare al interlocutorilor despre cum este organizat procesul de dezvoltare a software-ului (SW) și, ca urmare, a neînțelegerii subiectului discuției. După 5-10 minute de dialog, încetezi să mai primești feedback și începi să te simți ca un străin, a cărui discuție necesită traducere. De obicei, printre interlocutori se găsește cineva care trage concluzii în dialog și enunță mitul popular din anii '90: „Oricum, toți IT-iștii sunt programatori”. Sursele de apariție a mitului sunt următoarele:
- Industria IT se dezvoltă rapid, în aceste condiții toate sensurile și principiile fundamentale sunt în stadii de formare;
- în condiții de incertitudine, este dificil să existe, astfel că o persoană încearcă să-și faciliteze înțelegerea necunoscutului, creând mituri;
- oamenii sunt mai obișnuiți cu percepția lumii materiale decât cu cea virtuală, ceea ce face dificilă definirea noțiunilor care se află dincolo de percepția lor.
Încercările de a combate acest mit amintesc uneori de lupta cu morile de vânt, deoarece există mai multe aspecte ale problemei care necesită o abordare aprofundată. Specialistul în resurse umane trebuie, pe de o parte, să aibă o imagine clară a rolurilor de producție în compania IT, atât în varianta ideală, cât și în cea reală, pe de altă parte, să înțeleagă cum și când poate fi utilizat cel mai eficient resursa internă a companiei, iar în al treilea rând, ce metode reale pot ajuta la creșterea nivelului de informare al participanților pe piața muncii și vor sprijini dezvoltarea mărcii angajatorului. Să analizăm aceste aspecte mai în detaliu.
Ciclul de viață al software-ului ca fundament al rolurilor de producție
Nu este un secret că, în general, toate rolurile de producție din orice companie IT își au originea în ciclul de viață al software-ului. Prin urmare, dacă ne propunem să convenim asupra unui punct comun de vedere cu privire la această întrebare în întreaga industrie IT, trebuie să ne bazăm exact pe ciclul de viață al software-ului ca pe o fundație semantică acceptată și clar înțeleasă de toți. Discutarea anumitor variante de implementare a rolurilor de producție se încadrează în sfera relației noastre creative cu ciclul de viață al software-ului.
Așadar, să examinăm etapele incluse în ciclul de viață al software-ului, utilizând metodologia RUP ca exemplu. Acestea sunt linii bine definite în ceea ce privește conținutul și terminologia. Procesul de producție începe mereu cu modelarea afacerii și formarea cerințelor și se finalizează (în mod condiționat, bineînțeles) prin consultanța utilizatorilor și îmbunătățirile software-ului pe baza «dorintelor» utilizatorilor.

Dacă facem un excurs istoric la sfârșitul secolului trecut (așa cum se știe, a fost perioada «automatării insulare»), putem observa că întregul proces de creare a software-ului era gestionat de un programator-dezvoltator. Aici se află rădăcinile mitului că fiecare specialist IT este un programator.
Odată cu complicarea proceselor de producție, apariția platformelor integrate și trecerea la automatizarea complexă a domeniilor, precum și reingineria proceselor de afaceri, devine inevitabilă apariția de roluri specializate, legate de etapele ciclului de viață. Astfel, apar analistul, testerul și specialistul în suport tehnic.
Diversitatea funcțiilor pe exemplul rolului de analist
Analistul (cunoscut și ca inginer-analist, formulare, metodolog, analist de business, analist sistem și altele) ajută la „împerecherea” cerințelor de business cu tehnologiile necesare implementării acestora. Descrierea cerințelor pentru dezvoltator — aceasta este funcția principală a unui analist abstract. El acționează ca un liant între client și dezvoltator în procesele de formare a cerințelor, analiză și proiectare software. În condiții reale de producție, lista funcțiilor analistului este determinată de modul de organizare a producției, calificarea specialistului și specificitatea domeniului modelat.

O parte a analistilor se află mai aproape de client. Aceștia sunt analistii de business (Business Analyst). Ei înțeleg profund procesele de business specifice domeniului și sunt ei înșiși experți în procesele ce necesită automatizare. Prezența unor astfel de specialiști în cadrul companiei este extrem de importantă, mai ales atunci când se automatizează domenii complexe din punct de vedere metodologic. În special, pentru noi, ca automatizatori ai procesului bugetar al statului, este esențial ca în rândul analistilor să se afle experți în domeniul respectiv. Aceștia sunt angajați foarte bine pregătiți, cu o educație solidă în economie și experiență în instituții financiare, ideal în calitate de specialiști principali. Experiența de lucru în domeniul specific, nu doar în IT, este extrem de importantă.
Cealaltă parte a analistilor este mai apropiată de dezvoltatori. Aceștia sunt analistii sistemici (System Analyst). Sarcina principală a lor este identificarea, sistematizarea și analizarea cerințelor clientului pentru a determina dacă acestea pot fi satisfăcute, pregătirea specificațiilor tehnice și descrierea cerințelor. Ei înțeleg nu doar procesele de business, ci și tehnologiile informației, cunosc bine capabilitățile software-ului livrat clientului, au abilități de proiectare și, în consecință, înțeleg cum să comunice cel mai bine interesele clientului dezvoltatorului. Acesti angajați au, în mod obligatoriu, o educație în domeniul TIC și o gândire tehnică inginerescă, iar experiența în IT este de preferat. La selectarea acestor specialiști, va fi un plus evident dacă au abilități de proiectare utilizând instrumente moderne.

O altă variantă de analiști sunt scriitorii tehnici (Technical Writer). Aceștia se ocupă cu documentarea în cadrul proceselor de dezvoltare a software-ului, pregătesc manuale pentru utilizatori și administratori, instrucțiuni tehnologice, materiale video de formare etc. Sarcina lor principală este de a transmite utilizatorilor și altor părți interesate informații despre funcționarea programului, de a descrie lucruri tehnice complexe într-un mod concis și clar. Scriitorii tehnici, în majoritate, stăpânesc bine limba română, au o educație tehnică și o gândire analitică. Pentru astfel de specialiști, cele mai importante sunt abilitățile de a redacta texte tehnice clare, corecte și detaliate conform standardelor, precum și cunoștințele și stăpânirea instrumentelor de documentare.
Astfel, vedem aceeași rol (și, de altfel, aceeași poziție în organigramă) – analist, dar în diferite sale manifestări practice. Căutarea specialiștilor pentru fiecare dintre ele are particularitățile sale. Este important de știut că aceste tipuri de analiști trebuie să aibă adesea abilități și cunoștințe incompatibile într-o singură persoană. Unul este umanist, înclinat spre munca analitică cu volume mari de documente textuale, cu o exprimare dezvoltată și abilități de comunicare, celălalt este un „tehnician” cu o gândire inginerescă și interese în domeniul IT.
Să angajăm pe cineva din exterior sau să formăm intern?
Pentru un mare jucător din industria IT, eficiența recrutării directe din resursele online scade pe măsură ce proiectele cresc. Acest lucru se întâmplă, în special, din următoarele motive: adaptarea rapidă la procesele complexe din interiorul companiei devine imposibilă, iar viteza de învățare a instrumentelor specifice este mai mică decât viteza de dezvoltare a proiectului. Prin urmare, pentru specialistul HR este important să știe nu doar pe cine să caute în exterior, ci și cum să valorifice resursele interne ale companiei, din cine și cum să formeze un specialist.
Pentru analiștii de afaceri, experiența de lucru în procesele reale ale domeniului este extrem de importantă, așa că recrutarea din exterior este mai eficientă decât dezvoltarea internă în cadrul companiei. În acest context, este esențial ca specialistul HR să cunoască lista organizațiilor care pot fi surse ale acestui capital uman și să se concentreze pe căutarea CV-urilor din aceste surse.
Pentru închiderea unor posturi precum analist de sistem și arhitect de software, pe de altă parte, procesul de formare a resurselor umane interne este extrem de important. Aceste specializări trebuie să se dezvolte în condițiile mediu de producție real și în funcție de specificul respectivei organizații. Analiștii de sistem (System Analyst) evoluează din analiștii de afaceri (Business Analyst), scriitorii tehnici (Technical Writer) și inginerii de suport tehnic (Technical Support Engineer). Arhitecții de software (Software Architect) apar din proiectanți (System Designer) și dezvoltatori de software (Software Developer) pe măsură ce acumulează experiență și își lărgesc orizontul. Această situație permite specialistului HR să utilizeze eficient resursele interne ale companiei.
Intersectarea, unificarea și evoluția rolurilor de producție
Există o altă întrebare complicată din punct de vedere al implementării în procesul de producție – stabilirea unor limite clare între roluri. La prima vedere, ar putea părea evident: implementarea s-a încheiat, s-au semnat documentele pentru introducerea software-ului în exploatarea industrială și totul a fost predat echipei de suport tehnic. Totuși, adesea apar situații în care clientul, din obișnuință, continuă să comunice activ cu analistul, văzându-l ca pe o „baghetă magică”, chiar și după ce sistemul a fost implementat și formal a început etapa de întreținere. Totuși, din perspectiva clientului, cine poate răspunde mai bine și mai repede la întrebările legate de utilizarea sistemului decât analistul care a colaborat cu el pentru a stabili cerințele? Aici apare problema suprapunerii parțiale între rolul inginerului de suport tehnic și cel al analistului. În timp, lucrurile se reglează, clientul se obișnuiește să comunice cu echipa de suport tehnic, dar la începutul exploatării software-ului, o astfel de „tranziție internă” nu este întotdeauna realizabilă fără stresuri din ambele părți.

Intersecția rolurilor analistului și inginerului de suport tehnic apare atunci când fluxul de cerințe pentru dezvoltare se desfășoară în cadrul etapei de suport. Revenind la ciclul de viață al software-ului, observăm o discrepanță între condițiile reale de producție și stipulările formale conform cărora analiza cerințelor și formularea sarcinii trebuie efectuate exclusiv de către analist. Specialistul în gestionarea resurselor umane, desigur, trebuie să înțeleagă imaginea ideală a rolurilor din ciclul de viață al software-ului, acestea având limite clare. Însă, în același timp, trebuie să se țină cont de faptul că poate exista o suprapunere. Atunci când evaluăm cunoștințele și abilitățile candidaților, trebuie să ne concentrăm asupra experienței conexe; astfel, căutând ingineri de suport tehnic, este posibil să fie considerați și candidați cu experiență de analist și viceversa.
Pe lângă suprapunere, se observă adesea și o combinare a rolurilor de producție. De exemplu, un business analyst și un technical writer pot exista în aceeași persoană. Prezența arhitectului software (Software Architect) este esențială în dezvoltarea industrială mare, în timp ce proiectele foarte mici se pot descurca fără acest rol: aici funcțiile arhitectului sunt îndeplinite de dezvoltatori (Software Developer).
Schimbarea perioadelor istorice în abordările și tehnologiile de dezvoltare conduce inevitabil la evoluția ciclului de viață al software-ului. Global, desigur, etapele sale principale rămân neschimbate, dar au loc detalii suplimentare. De exemplu, odată cu trecerea la soluții web și creșterea posibilităților de configurare de la distanță, a apărut rolul specialistului în configurarea software-ului. În etapele istorice timpurii, aceștia erau implementatori, adică ingineri care își petreceau cea mai mare parte a timpului de lucru la locurile de muncă ale clienților. Creșterea volumelor și complexității software-ului a dus la apariția rolului de arhitect software (Software Architect). Cerințele de accelerare a lansărilor de versiuni și de îmbunătățire a calității software-ului au favorizat dezvoltarea testării automate și a dus la apariția unei noi rol – inginer QA (Quality Assurance Engineer) etc. Evoluția rolurilor în toate etapele organizației procesului de producție este semnificativ legată de dezvoltarea metodelor, tehnologiilor și instrumentelor.
Așadar, am analizat câteva aspecte interesante referitoare la distribuția rolurilor de producție în cadrul unei companii de dezvoltare software în contextul ciclului de viață al software-ului. Este evident că aceasta este o perspectivă internă, specifică fiecărei companii. Pentru noi toți, ca participanți pe piața muncii în industria IT și responsabili cu promovarea brandului de angajator, este cu atât mai importantă și perspectiva externă. Și aici există o problemă majoră nu doar în găsirea sensurilor, ci și în transmiterea acestei informații către publicul țintă.
Ce este rău în legătură cu „zoo-ul” pozițiilor IT?
Confuzia în mintea specialiștilor HR, organizatorilor de producție și diversitatea abordărilor duc la o variație foarte largă, aproape un „zoo” al pozițiilor IT. Experiența interviurilor și a contactelor profesionale arată că adesea oamenii nu au o înțelegere clară a încărcăturii semantice care ar trebui să decurgă din denumirile posturilor. De exemplu, în organizația noastră, posturile care includ termenul „inginer-analist” implică faptul că persoana este responsabilă de formularea sarcinilor. Totuși, se dovedește că nu este întotdeauna așa: există organizații de dezvoltare unde inginerul-analist este un integrator. O înțelegere complet diferită, nu-i așa?
În primul rând, „zoo-ul” pozițiilor IT reduce cu siguranță eficiența recrutării. Fiecare angajator, în procesul de dezvoltare și promovare a brandului său, dorește să transmită pe scurt toate sensurile care există în producția sa. Și dacă el însuși adesea nu poate spune cu claritate cine este cine, este natural că va transmite în mediul extern incertitudine.
În al doilea rând, „zoo-ul” pozițiilor IT creează probleme enorme în pregătirea și dezvoltarea cadrelor IT. Fiecare companie IT serioasă, axată pe formarea și dezvoltarea potențialului uman, nu doar pe „mulgerea” site-urilor de muncă, se confruntă mai devreme sau mai târziu cu necesitatea de a colabora cu instituțiile educaționale. Pentru cadrele IT foarte calificate, acest segment reprezintă universitățile, în special cele mai bune, care se află cel puțin în top 100.
Problema integrării cu universitățile în construirea unui proces continuu de pregătire a specialiștilor IT constă aproximativ în jumătate în lipsa de înțelegere din partea universităților a structurii interioare a companiilor IT. Acestea au o imagine foarte superficială despre acest subiect. De regulă, universitățile au mai multe specializări cu cuvântul „informatică” în denumirile lor, și adesea se întâmplă ca, în cadrul campaniei de admitere, accentul să cadă pe afirmația că toate specializările se referă, în esență, la același lucru. Și acest lucru se aseamănă cu a se baza pe un mit popular că toți cei din IT sunt programatori.
Experiența colaborării noastre strânse cu universitățile arată că specializarea „Informatică aplicată (pe domenii)” ne oferă personal pentru departamentele de metodologie și suport tehnic, dar nu pentru dezvoltare. În timp ce „Informatică fundamentală” și „Inginerie software” pregătesc o resursă umană excelentă pentru dezvoltatori. Pentru a nu direcționa un viitor student pe o cale inadecvata, este necesar să „disipăm ceața” care învăluie producția IT.
Se poate aduce totul la un numitor comun?
Se poate uniformiza rolurile de producție și ajunge la o înțelegere unică a acestora atât din interior, cât și din exteriorul companiei?
Desigur, se poate și trebuie, deoarece experiența colectivă acumulată de toate companiile de dezvoltare demonstrează existența unor concepte comune care unifică organizarea procesului de producție. Aceasta este o consecință a faptului că există un concept unanim acceptat al ciclului de viață al software-ului, iar rolurile de producție care apar în mod nou (Data Scientist, QA Engineer, Machine Learning Engineer etc.) sunt consecința clarificării și dezvoltării ciclului de viață al software-ului ca atare, corelată cu îmbunătățirea tehnologiilor și instrumentelor, dar și cu dezvoltarea și extinderea sarcinilor de afaceri.
În același timp, este dificil să se unifice rolurile de producție, deoarece IT-ul este una dintre cele mai tinere și în plină expansiune industrii ale economiei. Într-un anumit sens, acesta este un haos din care a apărut universul. O structură organizațională clară aici este imposibilă și inadecvată, deoarece IT-ul este un domeniu intelectual, dar foarte creativ. Pe de o parte, specialistul IT este un «fizician» intelectual cu gândire algoritmică și matematică dezvoltată, pe de altă parte, este un «liric» creator, purtător și promotor de idei. Așa cum artistul nu are un plan clar pentru a crea o pictură, el nu poate descompune imaginea în părți, pentru că aceasta nu va mai exista. El este stăpânul proceselor informaționale, care sunt în sine abstracte, intangibile, greu de măsurat, dar rapide.
Modalitățile de a construi o gestionare eficientă a resurselor umane în producția IT
Așadar, ce este important să știe un specialist în resurse umane pentru a construi o gestionare eficientă a resurselor umane în condițiile diversității rolurilor din producția IT.
În primul rând, orice specialist în resurse umane dintr-o companie IT trebuie să aibă o înțelegere a situației care este caracteristică exact pentru unitatea sa: cine și cu ce se ocupă, cine și cum se numește, și cel mai important - ce sens se dă acestor roluri în cadrul producției concrete.
În al doilea rând, specialistul în resurse umane trebuie să aibă o înțelegere flexibilă a rolurilor de producție. Adică inițial el își formează o înțelegere ideală despre acestea, care îi permite să se descurce singur în tot. Apoi, este necesară o imagine reală a producției: unde și în ce rolurile se intersectează, se unesc, ce percepție există asupra acestor roluri din partea conducătorilor de producție. Complexitatea pentru specialistul în resurse umane constă în a îmbina în minte situațiile reale și ideale, fără a încerca să restructureze forțat procesele pentru a se potrivi înțelegerei ideale, ci ajutând producția să își satisfacă nevoia de resurse.
În al treilea rând, este important să avem o înțelegere a posibilelor traiectorii de dezvoltare a anumitor specialiști: în ce cazuri poate fi eficientă recrutarea externă și când este mai bine să dezvoltăm un angajat în echipa noastră, oferindu-i oportunități de dezvoltare, ce calități ale candidaților le vor permite să se dezvolte într-o direcție specifică, ce trăsături nu pot fi compatibile la o singură persoană, ce este esențial pentru alegerea unei traiectorii de dezvoltare.
În al patrulea rând, să revenim la teza că IT-ul este un domeniu al cadrelor înalt calificate, unde pentru o gestionare a resurselor umane mai eficientă este inevitabilă integrarea timpurie cu mediul educațional universitar. În această situație, fiecare specialist HR trebuie să dezvolte nu doar abilități de căutare directă, gestionare a CV-urilor și interviuri, ci și să se familiarizeze cu mediul de formare universitară a specialiștilor: ce universități pregătesc cadre pentru companie, ce specialități din cadrul unor universități specifice acoperă nevoile de muncă și, ceea ce este important, cine se află în spatele acestora, cine coordonează și realizează formarea specialiștilor în universități.
Astfel, dacă dorim să demontăm mitul că toți oamenii de IT sunt programatori, trebuie să facem o serie de pași în această direcție și să acordăm o atenție specială universităților noastre, unde se pun bazele percepției viitoarei profesii. Cu alte cuvinte, este necesară o interacțiune constantă cu mediul educațional, de exemplu, utilizând formate moderne de colaborare în centrele de co-working, „punctele de fierbinte”, participarea la intensificări educaționale. Acest lucru va permite distrugerea reprezentărilor false despre întreprinderea IT, va spori eficiența muncii în resurse umane și va crea condiții pentru activități colaborative în pregătirea diverselor specialiști din branșa noastră.
Mulțumesc colegilor care au participat la pregătirea și menținerea relevanței acestui articol: Valentinei Verșinina și Iurii Krupin.
Sursa: habr.com
