Cum să fii un programator proactiv

Salutare,

Am scris un scurt articol despre proactivitate la lucru, pentru programatori. Am întâlnit des această lipsa în primul rând la mine, dar și la alții.

Sper să vă ajute!

7 Likes

Step 1: Do your own tasks.
Step 2: Do everyone else’s too.

Got it.

1 Like

Don’t take it too far. :slight_smile:

Și cine te plătește să fii proactiv ?
Nu prea am auzit de clienti care pot fi puși să plătească o lună de refactoring pe ceva ce nu se vede.

Eventual tu poate poți fi proactiv, dar nu vei găsi nici un tester proactiv. Cineva trebuie să îl/ii plătească să îți testeze codul refacturat ca să se ducă pe prod. Eventual poate îl poți mitui cumva, dar nu cred că e o idee bună.

Nu e vorba de bani. Proactivitatea ține de tine ca persoană, nu de cât ești plătit.

Probabil că nu ai clienți care te-ar plăti o luna pentru refactoring, dar poate nu asta e soluția. Poate soluția este ca la fiecare task care îl ai de facut, să îți iei un timp în plus sa faci puțin refactoring; și în timp, puțin cu puțin se adună. Pana la urmă, business-ul trebuie să meargă.

Contează cum lucrezi tu. Dacă tu îți impui standarde înalte, dar iei in considerare și contextul și business-ul, și echipa, nu cred ca vei avea probleme sa faci o treabă bună.

Cred că asta poate fi o discuție larga, pentru că depinde de la context la context; dar ca și principiu, cred că toată lumea are libertatea să facă o treabă de calitate, în limita contextului.

3 Likes

Ce-mi plac discuțiile astea ipotetice.

Hai să zic cum e în realitate: Dacă aș modifica formularul ăla care își încarcă elementele via JavaScript de nu știe nimeni care câmp de unde vine și aș face 2 formulare mari și late cum trebuia făcut de la început, atunci va trebui să rescriu toată aplicația. (Formularul minune e pe prima pagină).

1 Like

Pe frontend refacturarile intra la redesign, totul trebuie testat, plănuit, poți modifica un var în const dar cam atât dacă nu s-a lucrat cu Angular/React/Vue si chiar și așa trebuie să refacturezi o componentă întreagă. Fără documentație riști să îți faci rost de muncă neplătită și apar conflicte cu project ownerul, cu testerii…

Singura soluție elegantă e de multe ori doar rescrierea totală a mai multor pagini complexe.

Dacă e vorba de un proiect personal say freelancing e cea mai mare glumă să te întorci la cod scris in trecut…

Refactor = schimbi cod fără a schimba funcționalitate. În cazul nostru, design. Deci cum faci redesign dacă nu schimbi design? :slight_smile:

2 Likes

@RedGuard si @isti37, va recomand sa va uitati la acest video, legat de rescrieri totale.

De asemenea, probabil ca n-am explicat eu bine ce inseamna sa fii proactiv. Stephen Covey explica mult mai clar si simplu.

4 Likes

Pe un programator proactiv il putem asocia ca si figura de stil cu o gaina care cloceste zilnic o multime de oua?

Nu.

Un programator proactiv este un programator care decât să se plangă de cod, ia inițiativa și scrie cod cât de bine poate el, indiferent de colegi, mediu și presiuni. El are principii legate de cum programeaza si cum lucrează în echipă, și aplică principiile alea indiferent de situație.

4 Likes

Și a doua zi toți îi sar in cap că a modificat codul și nimeni nu mai știe cum să continue.

Nu-i sar in cap pentru ca:

Ii pasa de echipa. De proiect. Trece totul printr-un filtru de context.

4 Likes

Bottom line-ul ar fi că nu poți corecta un typo in codul altcuiva fără să înștiințezi toată echipa plus managerii. Altfel mai mult încurci. Pui doi oameni și fiecare are o altă idee de implementare, darămite când sunt 4,6 sau zeci de dezvoltatori implicați în codebase.

Nu ar trebui sa existe conceptul de “codul altcuiva”. Codul trebuie să fie deschis oricărui membru din echipă.

E normal să fie mai multe idei de implementare, doar să fie înțelegere în echipă.

Daca e chiar așa nașpa situația, poate nu ești în firma potrivită. :slight_smile:

4 Likes