Sictir față de proiecte? Cum îl gestionați?

Vouă vi s-a întâmplat, sau vi se întâmplă să vă ia cu sictir orice proiect pe care intrați și pe care-l începeți? Sunt pe contract de muncă, corporație, lucrez pe web, PHP, destul de mult pe eCommerce în ultima vreme. Lucrez de 11 ani în domeniu, deci nu de azi de ieri. Știu câte ceva și am lucrat în proiecte destul de mari și pe tehnologii diferite dea lungul timpului.

Măi dar parcă simt așa o lehamite, de câțiva ani buni în coace. Fiecare client, cu business logicul lui, pe care foarte greu mă chinui să-l mai înțeleg, tot felul de prescurtări de trei, patru litere, care habar nu am ce sunt dar pe care în ultima vreme nici nu mă mai chinui să caut să văd despre ce e vorba. Se presupune că ar trebui să ști despre ce e vorba, dar parcă nu mă mai interesează. Workflow-uri ciudate, mai ales în eCommerce, dacă dai peste o arhitectură de microservicii, trebuie să pricepi de unde vin datele, încontro se duc, cine le prelucrează, care este user journey-ul, să-l reproduci, mai pune și cod legacy peste și efectiv nu mai am nici un chef să fac pe detectivul, să caut, să înțeleg. Efectiv mi-e mintea blocată.

Am două proiecțele personale la care lucrez în weekend-uri cu mare pasiune și sârguință, învăț chestii noi cu ele, programez de zor, deci nu pot spune că mi s-a urât cu programarea. Dar efectiv… dacă mă pui să înțeleg munca altora, procesul altora, îmi stă mintea-n loc. Nu mai am chef, sincer.

Țin de locul de muncă, fiindcă aduce bani în casă. Tocmai s-a născut fiumiu și mnah, nu pot să-mi iau liber să mă duc la munte, fiindcă mi s-a urât. Specific că-n timpul liber nici nu mai stau pe telefon, sau la TV, nu prea mai am tehnologie în jurul meu. Ies la plimbare cu ăsta mic, cu soția, mai muncesc prin casă, orice care nu-i legat de online. Înafară de muncă nu prea mă mai interesează ce tehnologii au mai apărut, ce se mai întâmplă în industrie, nimic. Îmi spun colegii, vezi că a apărut versiunea aia de Symfony. Vezi că au fixat aia. Vezi că a apărut nu știu ce serviciu care face aia. Și mă uit la ei câteodată cu o moacă din aia plată, de parcă vin de pe altă planetă.

Na, nu știu, voi ați pățit asta? Cum gestionați?

1 Like

Nu gestionam nimic, mergem mai departe. Fiecare job e asa. Ne facem treaba la servici si ne vedem de ale noastre acasa. Si daca ai si copil mic, s-a terminat cu viata ta. Eu nici jumatate de ora nu mai am libera pe zi de peste 3 ani.

Ahh, faină treabă. Dar nu-ți afectează asta performanța? Nu de alta, dar stau managerii pe capul meu, că nu mă implic, că nu-s proactiv, că ce se întâmplă, că ce obiective am, că să ne setăm, că uite, compania are platforme de learning și trebuie să avem un career path și îmi vine să închid apelurile în ultima vreme și să le zic că le scriu cod și să mă lase-n pace.


Noi…

Asta e momentul in care unii dintre noi rup pisica si pornesc ceva pe cont propriu. Bine, era mai smart sa-ti fi dat cateva sanse deja si sa vezi deja unele rezultate, urmand ca in acest moment doar sa faci full-focus pe ce a prins oarece tractiune.

Problema pe care o vad eu din ce ai explicat nu e neaparat ca trebuie sa faci pe detectivul (face si asta parte din programare) si ca pare ca acest tip de munca nu e inclus in estimari/remuneratie si ai un conflict mental de tipul “eu nu-s platit sa fac asta/de ce trebuie sa fac asta”.

L-as considera ca si hint pentru un posibil burnout. Daca se nimereste si cu lunile de bebeluseala ai cam pus-o…

2 Likes

Eu din ce văd tu îl gestionezi extraordinar de bine. Nu cred ca ai ce sfaturi să primești. Poate doar ce a zis @kleampa

E natural sa se intample asta. Avem nevoie de noi challange-uri la un moment dat.

La mine e invers. Eu vreau sa lucrez dar nu mă lăsa clientul.

Nu-s de acord. Si-l inteleg pe @razvi pentru ca si eu sunt frustrat de munca de detectiv. Eu dau vina pe stilul “nou” de programare in care scrisul de scump asa ca metodele sunt denumite scurt iar comentariile lipsesc total. Si pe “agile programming” care a stricat programarea planificata.

Dee curiozitate, prin alte echipe cum se evita bajbaiala prin cod?

1 Like

Daca ai nevoie de comentarii sa înțelegi ce face o funcție, asta e un semn ca, codul e nasol.

Invers, ca sa nu se creada ca scriem cod nasol, nu comentam :slight_smile:

Eu tot spun ca poate asculta careva, comentariile sunt despre “why?” nu despre “what”. De ce ai pus a>0 in cod, nu despre “verific ca a e pozitiv”.

Sunt decizii de business care apar in story-uri si sunt intelese si implementate la momentul respectiv, dar peste 1 an (sau pentru noii veniti) nu au sens. De multe ori caut in model sa vad ce e atributul X, de ce e acolo si ce rol are. Mi s-a intamplat sa mi se raspunda “a, ala, nu il mai folosim”. Dar un @deprecated era greu de scris?

3 Likes

Mda, poate am avut nevoie să descarc toate astea undeva. Iar forumul îl citesc de ceva vreme, așa că am încredere că se nasc discuții interesante.

Ohh, da. Câte discuții interminabile am avut referitoare la a pune acel de ce în cod. Rezultatul acelor discuții, invariabil același: poluează codul și, hmm, oricum nimeni nu le citește. Și ce-a mai tare: dacă modifici ceva trebuie să modifici comentariul, și noi nu vrem, că e pierdere de vreme, fiindcă din nou, nimeni nu citește.

Exact asta e problema de care mă lovesc de fapt. Nu mai e nimeni să explice business logicul, poeții care au scris cod au plecat de mult așa că, dă-i și șapă. Ceea ce mă termină cu zilele. Fiindcă nu-mi mai poate sta mintea la logica de business și implementările clienților.

Mda, mă cam sperie bebelușeala… dar momentan e bine, doamne noaptea, colici n-a avut, mănâncă, crește, are cinci luni. O vacanță sigur n-ar strica. :joy:

Code review si regula e ca nu prescurtam nimic ce nu e dintr-o formula.

Sunt de acord ca comentariile sunt o pierdere de vreme, asta cu mici exceptii. Daca cineva nu le modifica cand modifica codul te induce grav in eroare. Cand scrii cod foarte optimizat si arata super urat obligatoriu un minim de comment.

In rest sunt n moduri in care sa scrii codul mai clar si sunt putine situatii in care trebuie sa explici in comentariu. Pur si simplu o functie bine numita explica 90% din ce face. Restul logicii o poti extrage in alte functii/constante si devine mult mai clar. Asta daca nu e ceva ce necesita optimizare maximă sau e o formula matematica/standard.

E o carte, The Subtle Art of Not Giving a Fuck. Trainingurile le faci rapid la misto ca sa ai orele necesare, nu ca sa te dezvolti tu neaparat, bine daca nu le stii si inveti. Faci acolo ceva agile sau kubernetes ca sa ai ce arata. La cate cursuri de agile sunt…

Nu te concentra pe tehnic ci pe soft skills, e mai greu de masurat.

Ecommerce sucks big time, legacy php la fel, poți cauta proiecte mai noi lejere.

1 Like

Nu ai tichete în JIRA aferente acelor commit uri, care să descrie businessul logic aferent?

Cred ca aici product owner are o vina. Cine scrie ticketele trebuie sa-si faca treaba.

Si bine ai facut. Eu nu reusesc sa fac tot ce faci tu nici pe departe.

Well, tie iti lipseste arhitectura aplicatiei sau aplicatiilor cat si specificatiile tehnice de implementare. Incearca sa le reconstruiesti, pe hartie, pe tabla, intr-o aplicatie de desenat diagrame, etc. Asta trebuia facuta de arhitecti dar din pacate in multe proiecte partea asta lipseste, se aduna un grup de developeri si numai ei stiu ce fac acolo. In proiectele serioase de aici se incepe, si exista documente de arhitectura in acest sens. Ar mai fi de ajutor daca ai avea teste unitare ca mai poti scoate de acolo comportamentul componentelor fara sa sapi prin toate…
Pe parte de microservicii eu mi-as face la fel, diagrame cu interconectarea lor, protocoalele de comunicatie, schemele de date, data exchange, etc, vazute ca black box intr-o prima faza pana destelenesti ce e acolo…
Asta daca anteriorii au mers pe o structura cat de cat ca daca ai cod spaghetti e vai de viata ta. Poate ar trebui sa te gandesti si la o refactorizare… :thinking:

Simplu imi amintesc cand eram aproape sa devin homeless

2 Likes

Cat de des schimbi proiectele? 2-3 ani pe acelasi cod e altceva fata un proiect diferit la fiecare 2 luni.

Cum ar fi sa faca cineva un app care, cu AI, atunci cand cineva e depresiv din diverse cauze la job, sa-i genereze un film in care personajul principal e leit lui si e homeless.

Dupa ce te uiti la film sa te simti revigorat, zambitor si cu putere de munca. vezi lumea ca se intreba daca ai fumat ceva.