Newsgroup: it.lavoro.informatica
Titolo: Perché i programmatori non sono pagati in proporzione alla loro produttività

  Mi ricorda un po' un classico anni '80: "The Tao of Programming", di
Geoffrey James.
http://www.johndcook.com/blog/2009/12/23/why-programmers-are-not-paid-in-proportion-to-their-productivity/
 I programmatori raggiungono il massimo quando evitano di scrivere
codice.  Potrebbero capire che il problema che gli ï¿œ stato chiesto di
risolvere non ha bisogno di essere risolto, che il cliente non ha
veramente bisogno di quello che chiede.  Potrebbero sapere dove trovare
del codice riutilizzabile o rieditabile che risolva il loro problema.
Potrebbero imbrogliare.  Ma proprio quando sono al massimo della loro
produttivitï¿œ nessuno dice: "Uau!  Sei stato 100 volte piï¿œ produttivo che
se lo avessi fatto per la via tosta.  Meriti un aumento."  Nel migliore
dei casi dicono: "Buona idea!" e se ne vanno.  Ci vuole del tempo per
apprezzare uno che ï¿œ solito avere di tali intuizioni che fanno
risparmiare tempo.  O, per metterla negativamente, potrebbe volerci
molto tempo per capire che gli altri programmano con strepito e furia ma
che non producono nulla.
  L'immagine romantica dell'ï¿œber-programmatore ï¿œ quella di uno che
lancia Emacs, pesta sui tasti come una mitragliatrice e tira fuori da
zero un prodotto finale esente da difetti.  Un'immagine piï¿œ accurata
sarebbe quella di uno che fissa silenziosamente lo spazio per alcuni
minuti e quindi dice: "Hmm.  Credo d'aver giï¿œ visto una cosa del genere."
  Mentre nel tipico ufficio di ditta di servizi professionali
informatici ti chiedono la lista delle cose che hai fatto nelle ultime
due ore per valutare la tua efficienza, produttivitï¿œ e rendimento per il
*loro* "investimento" sulla *loro* "risorsa umana".
  Beninteso, di fancazzisti ce ne sono ovunque, come pure di
scaldasedie-tastieristi-mitragliatori.  Ma il fatto che lo sviluppo
abbia un'aspetto creativo e che come tale deve maturare nei tempi e nei
modi piï¿œ consoni al programmatore e non a quelli del direttore di
dipartimento che gira con tabelle e cronometro in mano proprio non va
giï¿œ a un sacco di persone.  E che i tempi "morti" siano spesso i tempi
piï¿œ produttivi e che costituiranno il piï¿œ grosso risparmio di tempo in
tutto l'arco di progettazione e sviluppo del progetto pure non va giï¿œ a
chi misura la produttivitï¿œ in linee di codice al giorno/ora o parametri
simili.  E non entro nel merito dell'ambiente di lavoro e delle mansioni
idiote che sono scaricate su uno che "evidentemente hai del tempo
libero, visto che non hai fatto niente per mezz'ora".





  Mi ricorda un po' un classico anni '80: "The Tao of Programming", di
Geoffrey James.
http://www.johndcook.com/blog/2009/12/23/why-programmers-are-not-paid-in-proportion-to-their-productivity/
 I programmatori raggiungono il massimo quando evitano di scrivere codice.
 Potrebbero capire che il problema che gli � stato chiesto di risolvere
non ha bisogno di essere risolto, che il cliente non ha veramente bisogno
di quello che chiede.  Potrebbero sapere dove trovare del codice
riutilizzabile o rieditabile che risolva il loro problema.  Potrebbero
imbrogliare.  Ma proprio quando sono al massimo della loro produttivit�
nessuno dice: "Uau!  Sei stato 100 volte pi� produttivo che se lo avessi
fatto per la via tosta.  Meriti un aumento."  Nel migliore dei casi
dicono: "Buona idea!" e se ne vanno.  Ci vuole del tempo per apprezzare
uno che � solito avere di tali intuizioni che fanno risparmiare tempo.  O,
per metterla negativamente, potrebbe volerci molto tempo per capire che
gli altri programmano con strepito e furia ma che non producono nulla.
  L'immagine romantica dell'�ber-programmatore � quella di uno che lancia
Emacs, pesta sui tasti come una mitragliatrice e tira fuori da zero un
prodotto finale esente da difetti.  Un'immagine pi� accurata sarebbe
quella di uno che fissa silenziosamente lo spazio per alcuni minuti e
quindi dice: "Hmm.  Credo d'aver gi� visto una cosa del genere."
  Mentre nel tipico ufficio di ditta di servizi professionali informatici
ti chiedono la lista delle cose che hai fatto nelle ultime due ore per
valutare la tua efficienza, produttivit� e rendimento per il *loro*
"investimento" sulla *loro* "risorsa umana".
  Beninteso, di fancazzisti ce ne sono ovunque, come pure di
scaldasedie-tastieristi-mitragliatori.  Ma il fatto che lo sviluppo abbia
un'aspetto creativo e che come tale deve maturare nei tempi e nei modi pi�
consoni al programmatore e non a quelli del direttore di dipartimento che
gira con tabelle e cronometro in mano proprio non va gi� a un sacco di
persone.  E che i tempi "morti" siano spesso i tempi pi� produttivi e che
costituiranno il pi� grosso risparmio di tempo in tutto l'arco di
progettazione e sviluppo del progetto pure non va gi� a chi misura la
produttivit� in linee di codice al giorno/ora o parametri simili.  E non
entro nel merito dell'ambiente di lavoro e delle mansioni idiote che sono
scaricate su uno che "evidentemente hai del tempo libero, visto che non
hai fatto niente per mezz'ora".
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Mi ricorda un po' ...
Fangala ad AIOE, che mi dava errore ad ogni invio e invcece me li
accettava tutti.


 dei casi dicono: "Buona idea!" e se ne vanno.  
Due cose.
Primo, per essere un buon programmatore bisogna essere pigri. Solo un
pigro cerca tutte le strade alternative alla strada più ovvia, che
però è solitamente anche la più faticosa.
Secondo,  il risultato di solito non è apprezzato in modo speciale se
non è ottenuto "sputando sangue" in modo evidente (es. nottate, Natale
in ufficio).
Il colmo in IT è che se uno è incapace ed ha bisogno di ore ed ore di
straordinari per risolvere un problema, alla fine di frequente prende
più soldi di uno che lo risolve in 8 ore!!!

 per� � solitamente anche la pi� faticosa.
LOL!!
Applausi!!
Caspita, senza renderti conto mi hai appena detto che sono uno
SPLENDIDO programmatore!!!
-- 
Ciao!
Luca

 libero, visto che non hai fatto niente per mezz'ora".
vero, ma attenzione a non confondere il bravo programmatore che sa
riutilizzare funzionalita' esistente (che comprende perfettamente) con
il cazzone che vive di copy & paste di codice che non comprende
minimamente..

 che non producono nulla.
Per i sistemisti ï¿œ anche peggio.
Nessuno si accorge di quando le cose funzionano, anzi, lo si tende a dare 
per scontato e a ignorare del tutto il fatto che, se funzionano, c'ï¿œ 
qualcuno che le sta facendo funzionare. Quando qualcosa va storto, tutti 
pronti a strillare "dov'ï¿œ la mia e-mail?", "perchï¿œ non va il sito?", "la 
rete ï¿œ lenta!" o simili, ma mai uno che ti chiami per dire, o anche solo che 
pensi tra sï¿œ, "ehi, qui va tutto come un orologio, abbiamo dei sistemisti in 
gamba!".
Il bravo sistemista ï¿œ quello che ha *molto* tempo libero, perchï¿œ una volta 
che i sistemi funzionano, non hanno bisogno della sua continua supervisione; 
ï¿œ quello che ha messo in piedi un buon sistema di monitoraggio per 
individuare i problemi appena si presentano, ï¿œ quello che ha i backup pronti 
per l'uso in caso di bisogno, ï¿œ quello che ha messo su (compatibilmente con 
il budget a disposizione!) sistemi che siano affidabili normalmente e che 
siano ridondanti per quando qualcosa va storto. Il bravo sistemista non ha 
bisogno di fiondarsi in ufficio a mezzanotte in caso di problemi, ma ha la 
possibilitï¿œ di intervenire a distanza (se non ï¿œ andato a fuoco il CED, 
s'intende). Il sistemista *veramente* bravo dovrebbe avere il 90% del tempo 
libero; ovviamente, sarebbe anche bene che ne investisse una parte per 
studiare, mantenersi aggiornato e testare nuovi sistemi, ma appunto 
dev'essere tempo *libero*.
Invece il sistemista non viene mai apprezzato quando le cose funzionano, 
anzi, non se ne nota proprio l'esistenza; quando qualcosa va male ï¿œ colpa 
sua; e gli vengono riconosciuti dei bonus solo quando ï¿œ costretto a fare 
straordinari o a intervenire di notte o di domenica... tutti sintomi che, 
appunto, come sistemista non vale granchï¿œ (e/o l'azienda non gli ha dato i 
mezzi per operare al meglio).
Massimo

 "investimento" sulla *loro* "risorsa umana".
In Italia "Ditta di servizi professionali informatici" = "body-rental"
investimento che viene loro richiesto = 0 (circa. In realta' mettono un
annuncio su internet e aspettano che qualcuno risponda)
Produttivita' = 0 (nel senso che loro semplicemente prendono un
programmatore, come fosse una cassa di arance, e cosi' come gli arriva lo
rivendono a qualcun altro). Se questi fossero pagati sulla base della
produttivita' guadagnerebbero meno di niente. Per questo non interessa
retribuire la produttivita'.
Ciao,
Marco.


 minimamente..
Certo, verissimo. Il bravo programmatore che sa dove mettere le mani per
fare presto e bene quello che serve al cliente scrivendo la minima
quantit� di codice nuovo � un creativo, un alto artigiano della sua
arte. � uno che ha scritto codice giorno dopo giorno per diversi anni
con sua soddisfazione. Quelli che si concentrano sui dettagli, sulle
strutture, funzioni, classi, relazioni ecc. ecc. per tirare fuori il
programma completo dopo notti insonni sono quelli che hano visto ancora
poco codice (tanto del proprio che degli altri) per apprezzarlo in
questa sua funzione: quella dell'ispirazione, del riutilizzo e
dell'adattamento. Gli spara-mitragliate da tastiera sono i giovani
programmatori che hanno pi� energia che esperienza, i "meditatori" della
programmazione sono i programmatori di vecchia data che guardano al
problema da una prospettiva di pi� ampio raggio. Ossia, sono portati a
pensare pi� in termini di "Ha senso questo?  Come organizzo il tutto?"
che in termini di: "Come si fa questo nel linguaggio X?"

 minimamente..


 libero, visto che non hai fatto niente per mezz'ora".
...tempo fa mi e' capitato di vedere un spezzone di film girato (negli anni 
20?)
alla catena di montaggio della Ford T.
Allucinante la frenesia con cui venivano eseguite in tempi brevissimi tutta 
una serie di
operazioni di grande manualit�.
Guardate, ad esempio, quelli che costruivano le ruote in legno...:-)
http://www.youtube.com/watch?v=Iejyyn3ikAQ
ciao
fm

 Il sistemista *veramente* bravo dovrebbe avere il 90% del tempo libero;
  Da scolpire sull'ingresso della sala macchine a caratteri d'oro
cubitali.  Ma poi quelli della direzione commerciale lo leggerebbero?
Pure lo facessero, lo capirebbero?

 
http://www.youtube.com/watch?v=Iejyyn3ikAQ
Ma Tempi moderni non era con Chaplin? Com'� he non lo vedo? Lo hanno gi�
mandato a spasso per scarsa produttivit�?

 
http://www.youtube.com/watch?v=Iejyyn3ikAQ
Ci aggungerei questo:
http://www.youtube.com/watch?v=MMz4ApUcWbY
Auguri di buone feste a tutti!

 mandato a spasso per scarsa produttivit�?
Letto nel pensiero? :-D

Quello che penso io e' semplice:
Piu' il lavoro e' complesso piu' e' difficile valutare
quanto una persona si sia impegnata e sia stata redditizia.
Quante volte avete passato giorni a farvi il culo senza concludere
nulla e quante volte in una giornata avete sistemato una marea
di casini e nessuno si poteva accorgere ne' della primo caso
ne' del secondo?? Per me e' sempre cosi'.
In informatica, anche se pagano come un lavoro molto meno
qualificato, e' davvero difficile capire che intoppi
o che problemi si siano presentati a meno di non lavorare
letteralmente gomito a gomito con chi ti valuta.
Ah! Ovviamente il farti sentire sempre come se non avessi dato
abbastanza fa parte della strategia di molte aziende, poi
sui tecnici e' cosi' efficace! Molti, sia bravi che meno bravi,
sembrano dei bambinoni che aspettano il "bravo" da papa'
(il capo(rale)) o sono cosi' guga guga a volte da portarsi
pure il lavoro a casa perche' loro "hanno passione" (e il
capo(rale) si frega le mani).

  I programmatori raggiungono il massimo quando evitano di scrivere codice.
E' proprio quello il problema. Tra un programmatore che in 15 minuti guarda 
nel suo repertorio di conoscenze e tira fuori qualcosa di gia' fatto o che 
con poche modifiche risolve il problema, e un programmatore che si mette 
subito a scrivere codice per due giorni per poi tirare fuori l'acqua calda, 
indovina un po' molte aziende chi preferiscono?
E non solo preferiscono il secondo, ma sono pure genuinamente convinti che 
sia piu' produttivo.

Marco ha scritto:

E' semplice: La vince sempre chi ï¿œ + ruffiano e simpatico di altri:
L'umiltï¿œ non paga in questo mondo lavorativo.

sia piu' produttivo.
finche' non arriva il bodyrentalaro....lui si' che glieli manda, quelli
produttivi !!!   e che gran risparmio !!!
ciao
fm 

 Due cose.
Sottoscritte completamente.

 che in termini di: "Come si fa questo nel linguaggio X?"
E' ben li' la differenza tra "junior" e "senior" :-)

"Luca Menegotto" ha scritto nel messaggio news:hgvobq$47t$1...@tdi.cu.mi.it...

E' un tipo di pigrizia strana per�, visto che per� dovrebbe essere 
interessato alle novit� che gli permettono di essere pigro... quasi quasi ci 
vedo un esempio di ricorsione... :-)

 vedo un esempio di ricorsione... :-)
Hai ragione. E' pigrizia verso le cose ordinarie, ma è forte attivismo
verso le cose meno conosciute, le strade alternative di cui sopra.
Nota però che non è questione solo di novità tecniche, ad esempio un
tool o linguaggio. A volte è questione di pensare, pensare e pensare.
E' uno scambio tra attività cerebrale pura ed attività cerebro-
manuale, più manuale che cerebro! :-)

 vedo un esempio di ricorsione... :-)
Camminerei per chilometri sulla banchina in metrò, per salire su con le
scale mobili. ∞

 quasi ci vedo un esempio di ricorsione... :-)
In effetti sono abbastanza d'accordo.
Ti spiego il mio ciclo:
- ho una roba da fare;
- non ho voglia;
- e' lunga, noiosa, l'ho fatta mille volte;
- vuoi vedere che non c'� una via pi� veloce per farla?
- toh, guarda, c'�; allora la faccio...
- torna al primo step.
:-)
-- 
Ciao!
Luca


Mi associo agli applausi per gli stessi motivi di cui sopra.