De stabilit bareme pe care să nu le atingă nimeni e ușor, dar nu e productiv.
Nu asta fac; stabilesc bareme pentru niste nivele si apoi stabilesc tinte de atins in functie de nevoi. Am in vedere nu programatori, ci vreo 300 de oameni care conduc proiecte de dezvoltare cu furnizori externi. Pentru asta trebuie sa aibe un nivel minim de competenta, ori de baza ori mediu daca proiectul e complicat si important. Problema mea e ca am gasit domenii in care baremul pentru avansat (intr-un sistem in 4 trepte, basic-proficient-advanced-expert) era foarte simplist. Nu exista barem si tinta de expert pentru ca nimeni nu e programator si nivelul exista doar pentru a fi clar ca "advanced" nu e limita cunostintelor.
Exemplu: pentru un proiect mediu in SharePoint (cam 500.000 USD, sa zicem) recomandarea pentru persoana respectiva e proficient in SharePoint si basic in SQL daca exista si custom databases; daca nu are cunostintele respective vine furnizorul cu o oferta aiuritoare gen pret triplu, hardware de 2 ori mai mult decat e nevoie si care nu se integreaza corect cu restul sistemelor (fara single sign on e cel mai raspandit caz) etc. Pentru asa ceva daca omul stie macar sa programeze un pic in VB cat sa inteleaga codul scris de furnizor, sa stie ce e un memory leak, care sunt API-urile si obiectele de baza din SharePoint (daca poti sa scrii intr-o lista SP dintr-o aplicatie .net si ce iti trebuie pentru asta) e o cerinta de bun simt.
Dar daca stie sa faca asta si pretinde ca e SharePoint guru black belt code-fu master e aiurea si de-aia vreau un barem rezonabil care sa spuna: nu, esti proficient, taci si fa-ti treaba in continuare.
Partea faină e că ăia medii/slabi nu-s foarte interesați de programare și au mai mult timp liber, așa că se promovează mai mult. Și devin șefii ălora care fac treabă, iar asta e dezastruos.
Sau au o cariera cu alt curs, nu neaparat ca se promoveaza mai mult. Am o colega, mi-a fost intern la inceputuri, acum e un nivel peste mine, dar s-a mutat in alta zona, alta tara si a avut alte oportunitati de cariera; e fata buna si competenta, faptul ca a avansat mai rapid si mai sus a fost doar o conjunctura favorabila si fara nici un context negativ.
Partea frumoasa e ca atunci cand a venit nu stia ce e o baza de date relationala, dupa vreo 2 ani rula queries complexe peste weekend (lua cate 8-10 ore executia) si a invatat tot ce trebuie sa stie si chiar mult peste cei de nivelul ei. Exista si cazuri fericite, asta e morala. Da, la fiecare caz fericit stiu inca 5 din alea de care zici mai sus, dar asta e viata.
Sau e cazul unora care se pricep la management mai mult decat la programare si atunci fac o treaba mai buna in jobul ala. Am un coleg de echipa din Manila care are ca punct forte project management, dar nu e prea bun pe parte tehnica. Cine crezi ca a fost pus sa faca tot ce tine de PM in proiectele curente pentru toata echipa? Acum toata lumea stie care e expertiza fiecaruia in echipa si nu isi pune nimeni problema "de ce e x PM si y e doar team member cand y stie mult mai multe decat x despre SAP?". A intrebat cineva, apoi ne-am obisnuit sa punem in documentatia de initiere a proiectelor: X e PM, Y e technical lead, Z e user experience specialist - nu au mai fost intrebari vreodata.
Face cineva un split? Cred ca gasim un loc potrivit sa punem asta.