Cum să fii un programator proactiv

soft-skills

(Werner Banyacskay) #1

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!


(Red) #2

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

Got it.


(Werner Banyacskay) #3

Don’t take it too far. :slight_smile:


(István F.) #4

Ș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ă.


(Werner Banyacskay) #5

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.


(Red) #6

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ă).


(István F.) #7

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…


(Ionuț Staicu) #8

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


(Werner Banyacskay) #9

@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.


#10

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


(Werner Banyacskay) #11

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.


(Red) #12

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


(Andrei Avram) #13

Nu-i sar in cap pentru ca:

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


(Red) #14

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.


(Werner Banyacskay) #15

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: