E mișto să lucrezi cu programatorii

Woman programming on two monitors

Nu vreau să fiu înțeles greșit și eu mai scriu cod uneori așa că poate mai dau și eu greș din când în când, dar niciodată nu mi-am asumat că am scris un cod perfect.

Asta fiindcă nu mă consider programator chiar dacă mai cochetez cu asta.

E mai mult un hobby decât o meserie.

Meseria mea e alta.

Revenind la programatori.

Am niște clienți pentru care lucrez și cărora le-am pus pe picioare o serie de proiecte sau le-am făcut posibile idei.

Unele dintre ele au presupus și cod.

Nu mult, nu frumos formatat, nu frumos documentat ci suficient cât să facă treaba pentru care a fost scris.

N-am timp de pierdut ca să formatez la milimetru codul sau să scriu explicații pentru 10 fișiere cu maxim 30 de linii de cod fiecare.

Dacă nu ești în stare să le citești și să le înțelegi atunci poate că programarea nu e pentru tine.

Unul din clienții ăștia a achiziționat la un moment dat un sistem de gestiune.

ERP îi spun ăia mai fițoși dintre noi.

Foarte bun sistemul, făcea din fabrică 90% din ceea ce dorea omul.

Numai că și cu softul e uneori ca la mașini.

E mai bine s-o iei fără preșuri și casetofon sau boxe ca să pui ceva mai mișto nu să plătești scump varianta basic.

E cum zicea Dani, dai un ban dar merită.

Pentru restul de 10% din funcționalitate m-a întrebat pe mine de vorbă.

De exemplu, o chestie despre care firma care a vândut programul a spus că nu e posibilă am făcut-o posibilă cu două linii de SQL, vreo 20 de PHP și un cron.

Au fost vreo două zile de brainstorming și una de scris cod.

Problem solved.

Pentru celelate căutăm încă soluții.

Ele există, trebuie doar să lași deoparte gândirea de programator și să gândești ca o femeie.

Adică să lași deoparte logica ordonată și să gândești cu logica haosului, acolo unde orice e posibil.

Programatorii dedicați sunt de regulă incapabili să facă asta și de asta e plin internetul de meme-uri privind logica de programator.

Dar bat câmpii pe subiect și nu vreau să mă abat de la ideea din titlu.

În urmă cu câteva luni s-a luat decizia ca dacă sus la birouri unde e cald și bine ne-am apucat să automatizăm chestii atunci ar trebui s-o facem și jos în tranșee unde sunt băieții pe metereze.

Oamenii au vorbit cu furnizorul, iar furnizorul le-a propus o soluție cu niște PDA-uri ce se conectau la un Terminal Server și făceau treaba.

Le-am pus oamenilor Terminal Server și când a fost să-l configureze băieții care ofereau soluția respectivă au dat-o în colțuri pe principiul: la mine merge.

Dacă era să mă iau după ei n-aveam de ales decât să renunț la licența de Windows 2016 server cu tot cu Terminal Server pe care plătiseră oamenii ăștia aproape 1200 de firfizei și să pun un Windows 2012 server ca să meargă.

Fo’ real?!

Am modificat eu manual politica de grup și l-am făcut să meargă după vreo două ore de citit documentație.

Apoi, când băieții din tranșee au început să lucreze efectiv am identificat fel de fel de probleme și absurdități de genul, dacă X are deschis un document pe PDA Y poate să-l modifice și dacă îi dă apoi lui X eroare când să salveze… this is life.

I-am pus pe oameni să înceapă să corecteze chestii pentru că jucăriile pe care ni le-au vândut cu tot cu softul aferent costaseră vreo 15000 dă firfizei și nu păreau că fac treabă nici măcar de 1500.

Anumite absurdități le-au rezolvat din oficiu inițial, iar pentru altele au vrut să ne taxeze până când după ore pierdute la telefon cu ei și câteva experimente pe serverul nostru de producție au ajuns la concluzia că bo$$ ăsta e de fapt un bug.

No shit Sherlock!

După ce s-au apucat să corecteze chestii au început să împingă update-uri care au reparat chestii și au stricat chestii în același timp.

Desigur, au stricat fără ca noi să știm sau să ne dăm seama înițial.

Acum două săptămâni am avut parte de un episod dinăsta când ei au împins un update și mi-au dat pe mail un patch pe care să-l pun apoi manual pe server.

Nu ne-au informat că au împins update și le-am zis că patch-ul nu-l pun pe producție până nu sunt sigur că e totul OK.

Credeți c-am avut norocul ăsta?

Cum oamenii au împins update-ul fără să știm noi, lunea dimineața când lumea a venit la muncă nu mai mergea ERP-ul pe niciun post de lucru, deși posturile de lucru n-au treabă cu sistemul ăsta și e doar Terminal Serverul care interacționează direct cu sistemul ce fusese updatat și pentru care primisem patch.

csf?ncsf

A trebuit să pun manual patch-ul pe toate posturile de lucru și pe servere pentru că altfel nu putea să lucreze nimeni.

Eu am pierdut două ore făcând treaba asta, iar angajații au pierdut două ore la cafea răspândind COVID-ul între ei.

Asta cu răspândit COVID-ul între ei e noua definiție a socializării clandestine.

Că nu mai e voie acum nici să zâmbești nici să nimic.

Adevărul și calea e agorafobia conform unor savanți.

În fine…

Din moment ce oamenii ăștia au făcut chestii sistemul nostru de gestiune a început să aibă amnezie.

Băieții scanau chestii cu PDA-urile și din 80 de chestii apărau în stoc vreo 35, iar PDA-ul dădea eroare că nu poate să facă nimic.

A urmat o săptămână de sunat la programatori, de discutat cu programatori care erau mai preocupați să dea vina pe angajați decât să caute cauza adevărată a problemei și de „o să testez în dupamiaza asta pe sistemul meu de demo și-ți dau o soluție”, „am testat pe sistemul meu și la mine merge” și preferata mea „e foarte ciudat ce se întâmplă, la alți clienți nu am mai pățit așa ceva, nu știu ce poate să cauzeze treaba asta”.

Înițial am avut probleme doar cu ieșirile, dar pe măsură ce treceau zilele problema s-a acutizat și ne-am trezit cu probleme și pe intrări.

Și nu probleme dinastea rutinare ci discrepanțe de zeci de mii de euro între ce a intrat conform sistemului ăstora și ce intrase efectiv fizic.

Ori discrepanțele astea se traduceau prin telefoane la furnizor trăgându-l de urechi că a facturat toată marfa și a trimis jumate și răspunsuri de la furnizor de „ba pe a mătii! Ce faci bo$$ după atâția ani vrei să-mi tragi țeapă sau ce pula mea?”.

A urmat o zi mișto în care am petrecut 4 ore la telefon cu un programator care a verificat fix aceleași lucruri pe care le-a verificat și în urmă cu o săptămână și care deși făcusem cu el de două ori aceeași ieșire și a monitorizat tot procesul a concluzionat ceva de genul: „băi nu știu ce pula mea are, sigur nu faceți voi ceva greșit?”.

Azi lumea s-a recalcitrat de-a binelea pentru că s-a aflat de discrepanțele majore pe care le-a băgat în sistem țigănia asta și de faptul că ăia de la ERP au împins versiune, dar fără patch-ul ăstorlalți și asta s-a tradus din nou prin două ore de muncă în plus pentru mine și două ore de răspândit COVID pentru angajați.

Cum treaba s-a recalcitrat le-am spus băieților că șeful a dat ordin să revenim la pix și foaie ca pe vremuri și să vină să-și ia PDA-urile cu tot cu soft pentru că nu le vrem.

M-a sunat cel care cred că e șeful programatorilor și am stat și cu el vreo 4 ore la telefon revizând aceleași lucruri pe care le-am revizuit cu colegul lui aproape zilnic în ultima săptămână.

Mă rog, cu el n-am făcut experimente pentru că era cât se poate de clar că nu ne mai permitem experiemente cu serverul nostru de producție.

Bine, planul lui era să ne convingă să nu renunțăm la șandrama și cam atât.

Să ne găsească nouă vină cum ar veni.

Nu ne-a găsit chiar dacă a concluzionat de vreo câteva ori că sigur facem noi ceva greșit, deși vreo 3 luni n-am făcut nimic greșit ca să ne facă problemele astea.

A încercat apoi să dea vina pe angajați că poate de fapt mint ei.

I-am zis ceva de genul, like my dude, trei angajați să mintă și să facă aceeași chestie greșită după luni în care n-au greșit deloc? Apoi cât am făcut eu treburile astea cu colegul tău monitorizându-mă și eu am greșit și am mințit sau ce pula mea?

A tras să dreagă busuiocul cumva și a cerut să vorbească direct cu operatorii.

I-am dat numărul șefului de la tranșee și ăla l-a lămurit că mai au puțin și îi aleargă cu satârul din sat.

Apoi a vrut să-l sune și pe ăl de sus ca să se convingă el că într-adevăr vrem să renunțăm la șandrama și i-a explicat și ăla că practic nu ne-am nimerit 10 proști acolo în firmă și brusc nu mai știm să folosim un sistem pe care l-am folosit fără probleme timp de aproape 4 luni.

Anyhow!

În ziua următoare m-a sunat omul ca să mai verifice chestii și i-am zis că îi dau acces să verifice, dar că nu îi permit să modifice nimic și că n-am timp de el pentru că am pierdut atâtea zile cu ei la telefon fără să ajungem la o rezoluție și că noi oricum o să le dăm toată șandramaua înapoi.

După ce i-am închis nu i-a luat mai mult de 30 de minute ca să identifice problema, s-o rezolve și să mă sune ca să mă convingă să accept patch-ul și să încercăm totuși să mai lucrăm încă o săptămână cu patch-ul pus și dacă nu mai avem niciun fel de probleme să continuăm totuși cu ei, iar dacă o să mai avem probleme e suficient să le spunem și vin ei și-și iau înapoi PDA-urile.

I-am explicat omului că dincolo de o problemă tehnică vorbim de o problemă de atmosferă în companie și deși i-a zis șeful ăl mare că eu decid, eu nu am de gând să iau o decizie de unul singur înainte să mă consult cu departamentele afectate și să le cer lor acordul pentru proba pe care vor ei să o facă.

Abia atunci a înțeles și el că problema nu era de funcționalitate ci de feeling și mi-a explicat că: bo$$ voi sunteți singurii care lucrați cu 3 PDA-uri simultan și era acolo un conflict când lucrau două cu același grup de produse.

O treabă pe care evident pot s-o înțeleg, ce nu înțeleg e miserupismul inițial și aura aia de superioritate atunci când presupun că userul sigur a făcut ceva greșit.

Woman programming on two monitors