Job: Când știu că o soluție e bună


Lucrez într-un domeniu în care o bună parte din timp îl petrec discutând soluții. Cu mine însumi sau cu ceilalți. Unele soluții vin ușor, altele necesită câteva meeting-uri, răbdare și stomac. Se întâmplă uneori să se lase și cu orgolii rănite. Un coleg n-a mai vorbit cu mine vreo două săptămâni doar pentru că n-am vrut să-i accept ceva modificări. Mai târziu îmi explicase că trebuia să meargă în concediu a doua zi și n-a vrut să mai modifice încă o dată codul.

M-am gândit zilele trecute la ce anume face ca o soluție să fie potrivită. Ce contează cu adevărat la sfârșitul zile și cum putem evita discuțiile inutile? Asta depinde de fiecare om. Cred că în orice carieră putem alege ce anume e important.

Pentru mine, de exemplu, cel mai important lucru e creșterea business-ului pentru care lucrez. Ca să mă simt împlinit după o zi de muncă trebuie să știu că am adus ceva valoare firmei. Deși în contract sunt programator, îmi place să mă consider mai mult un partner care ajută oamenii să-și dezvolte afacerea. De aceea la un interviu am mai mult o atitudine de “Cu ce pot fi de folos?” decât “Câte zile de concediu oferiți pe an?”

Ca să revin la soluții, de câte ori apare o abordare diferită, o trec prin următorul filtru: trebuie să economisească timp sau bani. Un refactor are sens doar dacă rezultă într-o soluție flexibilă prin care programatorii vor economisi timp. Un feature nou trebuie să-și datoreze existența doar dacă la un moment dat aduce sau economisește bani. Un cod curat e un cod inutil dacă nu aduce altă valoare, însă puțini programatori vor fi de acord cu asta pentru că ei nu se gândesc la business-ul care le plătește salariile ci mai degrabă la proiectul pe care lucrează.

Am regăsit această idee în articolul Why Most Unit Testing is Waste: “So one question to ask about every test is: If this test fails, what business requirement is compromised? Most of the time, the answer is, “I don’t know.” If you don’t know the value of the test, then the test theoretically could have zero business value. The test does have a cost: maintenance, computing time, administration, and so forth. That means the test could have net negative value.”

Data viitoare când te mai regăsești discutând prea mult pe o anumită soluție, merită să faci o pauză să te gândești dacă ideea la care nu vrei să renunți chiar aduce bani sau economisește timp. Dacă nu, e doar o soluție inutilă.

sursa FOTO