ITSimplified: Mitul programatorului genial
Există o percepție bizară asupra mediului IT, și mi-aș dori să o îndrept. Există o mantie de mitologie aruncată asupra tuturor celor care mânuiesc tastaturi și oamenii le acordă super-puteri mai ceva ca lui Prâslea cel voinic sau Harap Alb (comparația cu Făt Frumos nu e deloc exagerată).
Mitul programatorului genial nu e de azi, de ieri ci vine dintr-o realitate istorică. În anii ‘60 s-au făcut studii (deși se pare că ar fi unul singur, făcut într-o singură după amiază) legate de felul în care sunt folosite calculatoarele, și s-a observat că un programator care lucrează cu „batch processing” poate rezolva chiar de zece ori mai multe lucruri decât programatorii care lucrau interactiv cu calculatoarele.
În primul rând, e cât se poate de corect. Programatorul care folosea batch processing de fapt își pregătea toate lucrurile de făcut din timp și lăsa calculatorul să lucreze fără întrerupere. Modul interactiv de lucru era mult mai lent și mai anevoios. „Procesarea de loturi” cum e numită în română e un pas înainte în lumea programării, făcut în preistoria calculatoarelor, deci nu e deloc de mirare că lucrurile au avansat atunci așa. Studiul era ceva de genul: „cineva cu un Ford Model T ajunge de zece ori mai repede la piață decât cineva cu un car cu boi”. Comparația nu e deloc exagerată.
Dar mitul ăsta al programatorului genial a rămas: ideea că un programator e atât de bun încât zece alți programatori stau în spatele lui și nu reușesc să facă ce face și el. Unii îi spun „rockstar”, alții „ninja”, „divă”, „geniu”. Ați auzit despre ei, unii din voi poate chiar cunoașteți astfel de oameni (din auzite, astfel de oameni nu au prieteni printre pleavă). Recunoașteți programatorul acesta din articolele despre „tânărul programator român care a uimit pe XXX” (unde XXX e firmă mare de IT din State).
E un mit convenabil. Ziarele și televiziunile au despre ce să vorbească, și oricum nu le pasă de soarta celor pe care îi ridică la rang de geniu. Unele firme de IT idolatrizează genul acesta de programatori. Toată lumea crede că firmele mari adună în mod special numai astfel de genii, așa au reușit să ridice chestii precum Google Search Engine, Youtube, Amazon Cloud și alte chestii super-tari.
Realitatea însă e incredibil de dezamăgitoare. V-am povestit aici despre soarta lui Marc Tasman, considerat un geniu al calculatoarelor prin anul 1984. V-am spus de Budișteanu că o să fie un mare eșec comparat cu așteptările pe care oamenii le au de la el, la fel ca toți ceilalți programatori geniali pe care i-am cunoscut, cu care am lucrat sau pe care i-am urmărit.
Realitatea e că nu există o astfel de discrepanță între rezultate între programatori. Există programatori de două-trei ori mai buni decât ceilalți pentru că ceilalți au o atitudine de secretare plictisite când vine vorba de jobul lor. Dar mai departe nu, nu există o discrepanță atât de mare dată de „geniu”. Între doi programatori silitori, diferența de productivitate va fi mult mai mică chiar și în acele zone în care programatorul e considerat geniu. Realitatea e însă că programatorul „genial” este o povară pentru firma care îl angajează și foarte rar programatorul respectiv va reuși să producă la fel de mult ca un „negenial” care nu își ocupă timpul cu genialitate. Pentru că, serios, rezultatele genialilor sunt cel mult rizibile.
Programatorii ăștia RockStar sunt niște oameni cu ego-uri umflate, prea cool ca să facă lucruri normale pe care le fac toți ceilalți. Ei nu se apleacă asupra problemelor ridicate de un input-box care nu e focalizat corect și când trebuie, ei se apleacă asupra problemelor mari, importante, eventual cu litere mari alături de îngroșare (MARI, IMPORTANTE). Ei nu rezolvă problemele concrete, ci cele invizibile, cele adânci. Uneori, sau cel mai des, cele inexistente. Pentru că problemele inexistente nu le pot contesta calitățile, pentru că nu vor trebui să dovedească faptul că, în realitate, programatorul genial e la fel de mediocru ca și colegul de lângă el care nu e lăudat în fiecare zi pentru un rezultat la o olimpiadă sau ceva similar.
Să nu înțelegem greșit: există oameni mai buni decât ceilalți. Dar faptul că sunt buni îi forțează să se specializeze, și nu toată lumea poate să hrănească un astfel de dezvoltator cu lucruri de făcut special pe ceea ce știe el. Firmele mari pot profita de geniul lor, dar cel mult după ce teoretizează o soluție inițială, realitatea programării e că e mult de lucru fără prea multă gândire. „The grunt work”, așa o numesc eu. Majoritatea muncii de programator nu cere geniu, în consecință genialii se pierd în ea. Adesea au rezultate sub așteptări, și foarte rar se întâmplă ca ei să confirme.
Așa că mulți programatori geniali iau calea prezentărilor de IT. Își cizelează discursul și îi învață pe ceilalți cum să facă, pe principiul „cei care nu știu învață pe ceilalți”. Ajung foarte des să câștige mult mai mult din acele prezentări, mai mult decât din serviciul lor, pentru că ceea ce îi învață pe ceilalți are valoare în munca celorlalți. Și e un parcurs cât se poate de ok.
Cel mai mare pericol în legătură cu programatorul genial e însă să ajungi să îi dai mai multă importanță decât are, în ideea că „programatorul genial e de zece/o sută de ori mai bun decât cei de lângă el”. Dacă ar fi așa, cineva l-ar angaja pe Budișteanu (sau pe orice alt genial) și ar da afară 100 de oameni din firma lui, însă nu o să auzi niciodată de așa ceva.
Așa că atunci când citiți următorul articol despre copilul genial care „a uimit America”, „i-a făcut să crape de invidie pe cei de la Google”, „i-a făcut pe cei de la Amazon să avorteze spontan de uimire” sau orice altă prostie de genul ăsta, să știți că e un articol despre o dramă în desfășurare. E o dramă a unui copil care nu va reuși niciodată să facă față așteptărilor pe care le are societatea de la el, care o să-și ascundă incompetența cu disperare, o să-și demoleze orice șansă de a se integra cu cei din jurul lui pentru că asta va demasca faptul că nu e deloc genial. Copilul genial va deveni adultul înfumurat nesusținut de rezultate, și va începe ca Marc Tasman să-și facă selfies în fiecare zi, în disperarea de a face ceva ‘relevant’.
Programatorul genial e o dramă.