Michele SciabarràCorsoJava
testi corsi mailing
Symbian Java  Linux

Humor
-Psicopatologia Utenti Linux
-Documentario: Sistemista Linux
-Il Grande Mago Informatico
-Se le distro fossero ragazze
-La Calata Dei Barbari
-Programmatori al supermercato
-Clienti di ieri e di oggi
-Colloqui di Lavoro
-Il vero informatico 2005
-Regolamento per Software House
-Diario di un Open Source
-Non usate quel linguaggio
-Decifrare Offerta Lavoro
-Il lavoro in Italia
-I fantastici 4 degli SmartPhones
-Dalla Teoria Alla Pratica
-Cosa Vuole il Cliente
-Colloqui con gli utenti
-La Visione degli Esperti
-Di che pasta è il tuo codice
-Una Email Dal 2143

Tecnica
-JSF ClassLoader -Programmazione Cellulari Symbian
-L'invasione degli SmartPhone
-Intro Eclipse Video!
-ReadLine FrontEnd
-JspWiki

Opinioni
-C'era una volta il cellulare
-Business dell'OpenSource
-Le scuse del Linux World Expo
-Linux non è Comunismo
-Java e l'Open Source
-Chi ha scritto Linux
-Chi ha paura di XAML -Lavorare con Tanenbaum

Informazioni
-Questo sito
-L'autore








Scarica Omaggio
il Capitolo 2




Leggi Online
il Capitolo 6

Documentario: i Programmatori Web Open Source

Sono previste tre parti: php/java/web; ho scritto la prima parte: il programmatore PHP.

ATTENZIONE!!! Presa in giro violenta dei mestieri dell'Open Source - se siete un programmatore PHP con poco spirito potreste offendervi - anzi è sicuro che qualcuno si offenderà ;-) Io vi ho avvertito...


Per la serie "il mondo di Slash" il vostro Piero Diavola, detto BSD, vi condurrà per mano in una nuova puntata della appassionante serie "le specie dell'Open Source". Questa volta avremo l'insolita opportunità di esaminare dal vivo le specie di un gruppo di programminidi molto imparentati tra di loro: i Programmatori Web!

Il programmatore PHP

Il programmatore PHP è la specie più diffusa. E' carattezzata da una grandissima agilità di movimento. Il programmatore PHP medio ha una corporatura sottile, è infatti piuttosto magro e di solito giovane. Veste alla moda, ed è spesso sportivo. Ha una grande attenzione per le cose che sia veloci e rapide, fast food compreso (il McDonald è la sua fonte di cibo principale).

Questa caratteristiche rende molto difficile tenerli in cattività in un team, e soprattutto fargli scrivere le specifiche di quello che il cliente gli richiede. Quando un programmatore PHP viene sottoposto a stesura specifiche, ha una reazione sbalordita e confusa. Innanzitutto inizia a dire che è una perdita di tempo. Poi potresta che non le sa fare, infine dice che il suo mestiere è programmare, non fare il burocrate. Alle insistenze del capo progetto fa finta di sottostare, ma sotto sotto la sua repulsione alle specifiche è estrema, e mette in atto strategie di difesa.

La principale strategia per sfuggire alle specifiche solitamente è quella di sfruttare la sua capacità di movimento, e il programmatore PHP invece di scrivere specifiche scrive direttamente il programma finale. Quando il capoprogetto scopre la cosa, solitamente le reazioni sono due. O il programma è effettivamente quello che viene richiesto (o comunque se ne discosta poco), in tal caso il programmatore PHP viene aspramente rimproverato, ma poi si passa alla correzione dei bachi e il programmatore si salva. Per questa volta.

Più spesso comunque avviene che il programma non corrisponde alle aspettative. Il datore di lavoro scopre che la settimana di lavoro pagata per le specifiche è stata sprecata per fare un programma che non server. La situazione conflittuale che si genera viene affrontata in vario modo a seconda del contesto. In ogni caso il programmatore PHP subisce una serie di trasformazioni che, a seconda dei casi, sfociano in una mutazione in programmatore Java o Zope, oppure una mutazione di datore di lavoro, o ancora in una mutazione di mestiere (barman o bagnino sono i caso più frequenti).

Per capire comunque come il programmatore PHP abbia assunto queste caratteristiche, è necessario studiare come questa specie si è evoluta nel corso dei millenni. La rapidità di azione fulminea infatti è il modo in cui è sopravvissuto. Con le loro reazioni rapide sono riuesciti a trovare cibo nonostante la presenza dell'ambiente del più temuto predatore naturale: "il cliente indeciso".

Questo tipo di cliente ha una serie di caratteristiche terrificanti per qualunque altro programmatore: per esempio, ti fa cambiare le scritta tre volte al giorno (soprattutto quelle grafiche particolarmente elaborate), inoltre ti modifica gli accostamenti di colori nei font delle tabelle più annidate, e non riesce a decidere quali campi deve compilare nel modulo di registrazione (causando catastrofi sul database ad ogni cambiamento).

D'altra parte questo cliente, sebbene profondamente legato all'aspetto esteriore del sito (l'unica cosa che capisce), è anche profondamente ignorante. Per questo motivo non è capace di prevedere che se chiede (anzi pretende) che tutte le pagine abbiano il logo animato flash 400x400, allora il suo miglior cliente, che accede al sito a 640x480 gli dirà "ma dove sono le offerte speciali che avete scritto che ci sono nella mailing list?". Prendendosela inevitabilmente con i programmatori, anche se "glielo avevano detto un sacco di volte". E pure messo per iscritto, faxato, urlato, e avevano anche affittato un aereo con uno striscione che diceva "il logo del sito è troppo grosso!!!".

Il punto è che questo tipo di cliente non testa mai personalmente i siti da lui fatti sviluppare, perché ammette che "il computer lo sa usare mio figlio, non mi serve saperlo anche io"; d'altra parte è anche profondamente legato al Marketing, e quindi ha bisogno di immagine, di effetti fantastici e sfavillanti. In realtà non sa che suo figlio è come lui, e guarda solo gli effetti speciali dei giochi 3d ammazzatutto, lasciandosi affascinare da come realisticamente scoppiano le teste a cui spara. Ma non capisce una cicca di usability e accessibilità.

Per questo motivo il programmatore PHP, con i suoi riflessi rapidi, quasi istantanei, riesce a soddisfare questi clienti e a raggiungere il cibo. Anche se il sito che alla fine viene fuori si incarta non appena si registra un cognome con l'apice, se appena il traffico raggiunge i 10 utenti il mysql comincia a dare "too many connections", se le tabelle non sono indicizzate e dopo due mesi la select alla tabella "UtentiConnessi" ci mette un minuto (e ogni pagina fa tre select).

Per fortuna nessuno si registrerà mai in un sito con 147 campi da riempire, il logo troppo grosso impedisce di entrare al 99% degli utenti del sito, ottenendo una media di un utente al giorno (il miglior cliente, che nono conosce le scrollbar e continua a cercare ogni giorno il famosco super sconto promozionale sul sito web promesso a voce dal titolare), e dopo un mese e mezzo il cliente si rifiuterà di pagare l'hosting al fornitore perché non ha capito che è (ma il sito non l'avete già fatto?), oscurando di fatto il sito, ma non se ne accorge nemmeno.

Ovviamente se il programmatore PHP riesce a sopravvivere a queste circostanze, produce del codice che ha qualche lieve problema. Infatti quando qualcuno vede il suo codice, raramente riesce ad evitare insulti, fustigazione e crocifissione sulla pubblica piazza. Il suo codice infatti mischia orrendamente HTML e codice. Le variabili hano nomi praticamente casuali: abbondano pippo, poppo, pappo, ma non disdegna il suo nome, il nome della sua ragazza, e tutto l'insieme delle parolacce conosciute; ci sono anche alcune varianti interessanti e innovative delle bestemmie note.

Non esiste il benché minimo accenno di una struttura. La funzione è un concetto quasi ignorato, tranne nel codice copia-e-incollato dai vari siti "phpasbafo.it" o "copiaquestoscript.com". La classe è un elemento del tutto alieno: si racconta che quando un programmatore PHP viene interpellato sulle classi, snocciola il suo curriculum scolastico.

Nonostante questi difetti nella produzione di codice, essi di fatto hanno favorito la sua sopravvivenza nell'ambiente delle software house. Infatti, innanzitutto programmando in questo modo, riesce a difendere la sua software house dal predatore più pericoloro, come abbiamo detto, il cliente indeciso. Di fatto attira l'attenzione su di se, e produce abbastanza da tenerlo impegnato.

Dati questi risultati gode, nei tre mesi successivi all'assunzione, di una sorta di considerazione quasi venerea: infatti le minacce di fare causa alla software house vengono ridotte da tre al giorno a tre alla settimana. Infine gode di tre mesi di tranquillità, perché per i tre mesi successivi alla consegna del software li passa a correggere i buchi da lui causati (ma questo viene considerato normale).

I problemi si verificano quando, persistendo gli errori nel sito in una maniera eccessiva, e anzi nascendone di nuovi, viene affiancato da un altro programmatore Web, di solito senior, che non avrebbe mai accettato quel lavoro che ha fatto il programmtore PHP.

Quando il senior, dopo una serie di urli e contorcimenti sul pavimento, afferma che l'unico modo di correggere gli infiniti errori che ci sono in quel sito è ricominciare da capo, il programmatore PHP cambia rapidamente lavoro: infatti è abbastanza facile trovare un'altra software house con un progetto estremamente in ritardo e con un cliente ignorante che non è mai contento: e quindi ricomincia il ciclo sfruttando al massimo le sue doti di velocità e rapidità.


Commenti(aggiungi il tuo):
theant: ah ah ah ah ah, purtroppo non è così solo il programmatore PHP, sono gli italiani in genere, poiché siamo un popolo disorganizzato, senza metodo e non vogliamo sforzarci di capire che l'utilità di cose come le classi Pear e Smarty nel caso di php ci facilitano di molto la vita e migliorano la qualità dei nostri applicativi, nonché la portabilità e la manutenibiltà dell'applicativo in genere. sciau a tutti e ... studiate che è importante

Il programmatore Java

TODO

Il programmatore Zope

TODO

Contatto: michele at sciabarra dot com