Industria software este o industrie creativă. Această declarație e destul de comună și se întâmplă uneori să fim chiar noi cei care o repetăm. Iar dacă nu o repetăm, cel puțin o acceptăm ca pe un adevăr evident chiar dacă nu ne gândim la ceea ce înseamnă cu adevărat.
Putem începe cu un exercițiu. Întreabă orice profesionist IT căruia îi pasă de dezvoltarea lui profesională ce fel de mediu de lucru își dorește. Răspunsul va fi uneori foarte direct: mediu creativ. În alte cazuri vei auzi despre un mediu în care să se țină cont de ideile mele sau să am parte de multe provocări și de proiecte variate. Toate comunică aceeași dorință. Persoanele care lucrează în IT caută un canal de exprimare iar prezența provocărilor și depășirea barierelor, reale sau imaginare, personale sau externe, sunt principalul nostru mijloc de exprimare.
La o analiză mai aprofundată vom constata însă ca percepția asupra creativității în industria IT este distorsionată. Atât programatorii cât și ceilalți profesioniști IT sunt creativi prin natura lor, dar realizează arareori acest lucru sau cum se aplică de fapt creativitatea în activitatea lor zilnică. Tema cea mai comună este cea a creativității ca domeniu al managerilor de produs și antreprenorilor. Singura concluzie logică dacă urmărim această temă este că dacă suntem în căutarea unei căi de exprimare ar trebui să sărim cu toții în trenul inovației și să contribuim cu tot felul de idei! Trebuie să mă întreb cine ar mai rezolva toate provocările tehnice dacă am face cu toții asta.
Această viziune limitată asupra creativității, ca și atribut manifestat exclusiv prin idei de produs, este un prim pas către o percepție distorsionată. Dacă faci acest pas și îl urmezi cu alții poți ajunge foarte ușor pe un traseu de nemulțumire și neîmplinire.
Așa că hai sa dărâmăm niște mituri!
Creative Jack este un profesionist IT care își trăiește visul și are cel mai bun job pe care și l-ar fi putut dori vreodată. Lucrează într-unul din cele mai inovatoare medii din lume, pentru o companie care ține la angajații săi și îi încurajează mereu să gândească în afara tiparelor.
Jack își parchează mașina electrică monopost în parcarea companiei și se îndreaptă spre clădirea principală. În holul de la intrare este întâmpinat de o pancartă mare suspendată deasupra recepției:
"Sometimes you find yourself in the middle of nowhere. And sometimes in the middle of nowhere you find yourself."
Se oprește o secundă încercând să se regăsească pe sine, apoi își continuă drumul. Trece pe lângă sala de conferință "Spirit" unde, fiind luni, practicanții fac Yoga. Se oprește în Salonul Îndestulării (noi l-am numi bucătărie) unde își toarnă o cafea și schimbă câteva vorbe cu Anne, noua administratoare Mongo. Ajuns într-un final în biroul său Jack se tolănește pe fotoliul amorf și începe să se gândească la felul în care va schimba astăzi lumea.
Mitul mediului de startup drept catalizator unic al creativității este foarte răspândit. El provine din confuzia creată de atotprezența Inovației și goana după aceasta. Mediul ideal prevede inspirație atârnată pe fiecare perete și este conceput în așa fel încât fiecare angajat să devină următorul Steve Jobs. Cum altfel să fii creativ dacă nu printr-un torent constant de idei sublime?
Nu e nimic rău într-un mediu de lucru mai excentric care să stimuleze acest gen de creativitate. De fapt trebuie să recunosc că mi-aș dori acum și la biroul meu o bucătărie numită Salonul Îndestulării. Dar este oare inovația încurajată de aceste locuri singurul fel de creativitate pe care îl găsim în IT? Este aceasta singura formă prin care putem să ne exprimăm?
În căutarea unui răspuns trebuie să ne reamintim că rolul nostru principal ca ingineri este de a rezolva probleme. Nu suntem cu toții manageri de produs sau antreprenori, dar nu suntem nici scriitori de cod, executanți de teste sau instalatori de pachete de sistem. Noi rezolvăm probleme concrete prin aplicarea judicioasă a cunoștințelor și practicilor inginerești. Procesul prin care rezolvăm aceste probleme este unul inerent creativ.
Hackerul care găsește găuri de securitate este cu siguranță creativ. La fel și arhitectul software care proiectează un sistem elegant, ușor de întreținut și de extins. Poți să-ți înzecești performanța dacă partiționezi datele exact cum trebuie între sistemele de stocare pe care le folosești. Administratorul de sistem care tocmai a automatizat un proces care necesita ore de muncă manuală, a reușit acest lucru doar pentru că și-a amintit de acel pachet pe care l-a folosit pentru un alt proiect acum câțiva ani.
Deci da, software-ul este într-adevăr o industrie creativă. Ar trebui să îți pese de produsul pe care îl construiești sau întreții. Ar trebui să încerci să înțelegi problemele reale cu care te confrunți ca să poți veni cu soluții cât mai bune. Ar trebui să contribui la viziunea produsului dacă ai înclinații în acest sens, dar dacă nu încerci să te îndrepți conștient spre management de produs nu uita care îți sunt punctele forte. Cunoștințele tale sunt cele mai potrivite pentru abordarea provocărilor tehnice, iar aceste provocări îți dau ample oportunități să fii creativ.
Hai să ne întoarcem pentru moment la prietenul nostru creativ.
Mintea lui Jack galopează în timp ce se adâncește în fotoliu. Are nevoie de o idee, ceva care să scoată în evidență platforma de video sharing la care lucrează, să o facă să cucerească imaginația oamenilor. Cu ochii ațintiți către lampa cu lavă artificială, urmărind cum se formează și dezintegrează ciudatele forme bulbucate, Jack are un moment de claritate! Ideea lui ia naștere și acum știe exact ce are de făcut.
Acestui mit i-am căzut personal în capcană. Totul a pornit de la interesul meu moderat pentru artă. Fiind o persoană tehnică nu am experiență personală în creație și nici nu am mulți prieteni artiști. În consecință nu mi-am putut nicicum explica felul în care artiștii pot să creeze aceste lucruri pe care eu nu le-aș fi putut concepe niciodată. Singura explicația posibilă era că așa funcționează inspirația. Și totuși, ai încercat vreodată să te uiți la un perete încercând să găsești o soluție la o problemă? Nu prea funcționează, nu?
Deși pare diferită, problema lui Jack în căutarea acelei idei sublime pentru platforma de video sharing este de fapt foarte asemănătoare cu cea a unui pictor care încearcă să pună prima pensulă pe pânză sau a lui Anne administratoarea care încearcă să găsească o metodă eficientă de sharding pentru infrastructura de Mongo. E vorba de acea primă acțiune care paralizează scriitorii în aceeași măsură cu programatorii. De unde să încep? Ce să fac prima oară? De această problemă ne lovim invariabil, mai puțin în cazul unei sarcini de rutină pe care am mai făcut-o de nenumărate ori.
Și totuși cum funcționează? Păi, inspirația provine mai degrabă din experiență, exercițiu, și găsirea unei atitudini potrivite decât dintr-un fulger divin de la Zeus. Trebuie să ne construim o fundație vastă de cunoștințe. Trebuie să ne expunem permanent la idei noi și să rămânem deschiși. Trebuie să exersăm ceea ce am învățat în scenarii de rutină, astfel încât să putem să ne bazăm pe cunoștințele dobândite atunci când avem nevoie de ele în scenarii noi.
Iată cum poți ajunge la acea soluție de Mongo sharding fără priviri lungi către perete:
Puține probleme necesită o soluție complet nouă. Creativitatea este însă necesară și în combinarea de elemente existente într-un mod inovator sau a aplicării unei soluții cunoscute într-un proiect particular. Acest fapt e valabil atât pentru programatori cât și pentru pictori, scriitori sau manageri de produs. Cu alte cuvinte, creativitatea nu cuprinde doar inventarea a ceva nou ci și aplicarea inovatoare a unei abordări într-un context specific. În ambele aplicații sunt necesare cunoștințe, experiență și o atitudine deschisă.
Mintea unui profesionist IT este reglată pentru a cuprinde sisteme, iar sistemele sunt încadrate de reguli, stări și presupuneri. Această înclinație poate fi dezavantajoasă în tentativa de a fi creativi.
Spațiile problemă în care operăm conțin adesea mai puțin limite și constrângeri decât am crede la prima vedere. Se poate întâmpla să confundăm presupuneri cu limite și constrângeri imutabile. Uneori e greu să identificăm aceste false limite dar tocmai această capacitate duce la soluții creative. Un profesionist IT care pune presupunerile sub semnul întrebării poate găsi soluții inovatoare pe care alții le-ar fi ratat complet.
Anne lucrează frenetic pentru a găsi bug-ul de stocare ce se manifestă în fiecare săptămână cu regularitate. Nu reușește nicicum să-i dea de capăt. După nenumărate ore de debugging în proceduri stocate, găsește cauza în cel mai neașteptat loc cu putință. Trecând pe lângă camera serverelor, Anne vede o persoană care spală geamul din ușă. În spatele său, mătura se sprijină de router-ul principal.
"Auzi Bob", întreabă Anne, "cât de des vii pe aici să cureți geamurile?"
"Păi, în fiecare vineri!" explică Bob cu mândrie. "Nu ratez nici o săptămână."
Presupunerile vin în multe forme și depistarea lor nu e deloc ușoară. Mă uit în locul potrivit? Încerc oare să rezolv problema reală? Totul poate fi chestionat, de la cerințe la resurse, de la infrastructură la orice altă variabilă "imutabilă". Da, e posibil ca managerul tău să-ți fi zis acum 3 luni că nu există nici cea mai mică posibilitate de a adăuga un nou membru echipei, dar ar fi bine să-i spui și ei dacă între timp ai obținut informații care îți confirmă că un DBA ar reduce la jumătate timpul de livrare al proiectului. S-ar putea își schimbe poziția.
Prima creatură mitologică este mediul de startup inovator, unde inspirația atârna pe fiecare perete. Aceasta este Mecca în special a celor care cred că ideile de produs sunt limita creativității în IT. Alții reușesc să depășească această iluzie și caută să se exprime prin soluții la probleme tehnice, activitate pentru care au atât înclinație cât și cunoștințe. Dar și aici îi pândește o capcană.
A doua himeră este falsa diversitate. Mulți programatori își doresc o diversitate cât mai mare de proiecte și tehnologii. Îndrăznesc să afirm că această dorință este adesea înșelătoare. Nu contest că expunerea de acest fel este utilă în mai multe etape din dezvoltarea profesională, dar haideți să explorăm motivația. Oamenii caută aceste condiții pentru că își doresc să aibă oportunități de a învăța. Aș argumenta că diversitatea de probleme de rezolvat este cel puțin la fel de importantă ca și diversitatea de proiecte și tehnologii. Fiecare este importantă din alte motive, dar trebuie să evităm capcana falsei percepții că o multitudine de proiecte în tehnologii diferite ne oferă automat oportunități de învățare și creștere.
"Am nimerit-o!" strigă Jack năvălind din biroul său.*
O ia la fugă spre biroul CEO-ului cu respirația sacadată de surescitare. Abia poate să își suprime entuziasmul când sare în biroul din colț, imitație de junglă tropicală.
"Johnny, am nimerit-o! Știu exact ce va duce VCShare pe locul 1! Avem nevoie de un software de recunoaștere facială ca să detectăm toate fețele din video-uri și să le înlocuim cu fețe de pisici. Dacă facem asta ne va exploda KPI-ul fundamental de medie-pisici-per-video!"
Creative Jack e un tip ok și ideea lui cu pisici chiar s-ar putea să funcționeze. Aș vrea totuși să propun o alternativă.
Haideți să fim creativi pragmatici. Hai să nu gonim după cele două himere și să ne amintim că inovația nu este limita creativității. Avem nenumărate feluri de a învăța și de a ne exprima în aria noastră de expertiză. Creativitatea nu vine din intervenție divină; provine mai degrabă din curiozitate, cunoștințe și capacitatea de a chestiona reguli și presupuneri. De fapt - și chiar nu există un mod mai blând de a spune aceasta - provine din tine și din cât de mult efort ești dispus să depui pentru munca ta.
Un ultim gând în încheiere. Deși creativitatea este o calitate importantă pentru orice profesionist IT, ea nu este nici pe departe singura. E nevoie de perseverență, răbdare, capacități foarte bune de comunicare și o etică bună de lucru printre multe altele. Nu dispera dacă descoperi că nu ești extraordinar de creativ. Ca și orice altceva, creativitatea poate fi exersată și învățată, dar mai important este că s-ar putea să îți descoperi alte puncte forte care o compensează pe deplin.