Strumenti personali
Azioni sul documento

6. Pausa caffè

Su di un livello

Tornando a New York il nostro progetto contro il tabacco accusava ritardi e correzioni troppo comuni nel mondo software. Ma, come la Abstract Edge iniziò ad affrontare i problemi, fu chiaro che Plone rappresentava una potente strumento per affrontare una ampia serie di sforzi.

 

Per un programmatore lavorare come mercenario può essere devastante dal punto di vista della morale. Nella maggior parte delle situazioni questo lavoro è del tipo "o la va o la spacca", intendendo con ciò che che una volta scritto non deve più essere rivisto. La pressione di consegnare una soluzione rapidamente spesso avviene a scapito di un attento design, e le briciole sotto il tappetto non sono nulla di cui andare fieri. Esiste una scarsa continuità tra le diverse committenze, ed i progetti individuali raramente danno l'opportunità di sviluppare una struttura sofisticata, o di rispettare una certa sensibilità estetica nel creare del bellissimo software o nello scrivere dell'elegante codice. Lo sviluppo di software è una forma di produzione le cui caratteristiche ricordano da vicino quelle dell'artigianato tradizionale. Le metafore che dominano in questa attività ruotano tutte attorno a: oggetti, costruzioni, fabbricazione, e gli esperti vengono considerati dei virtuosi nella loro materia.

 

Come altre forme di fabbricazione manuale, scrivere software richiede immaginazione, inventiva ed ingegnosità. Se da un lato ci sono molteplici tentativi per automatizzare e componentizzare/modularizzare alcuni aspetti della produzione di software, questo resta fondamentalmente un atto creativo che si basa molto sul giudizio umano e sull'intuizione e, a maggior ragione, sul lavoro di gruppo e la collaborazione. In un'era in cui l'ambiente software si fa mediatore delle dinamiche dell' interazione umana, la progettazione dell'architettura software è molto più che una semplice analogia. Il software è arrivato ad assomigliare all'architettura tradizionale come forma d'arte importante e molti programmatori venerano la propria professione, preservandone l'integrità e considerando i prodotti del loro lavoro come importanti ed influenti. Per i singoli programmatori che abbiano a cuore i propri prodotti o il proprio lavoro, avere scarsa abilità d'artefice è considerato demoralizzante e frustrante. Ci sono alcuni stili di consulenza in cui il valore artistico e l'attenzione per i dettagli sono valorizzati, ma in molte situazioni lo standard è "tagliare corto". Con una eccellente gestione del progetto riesce facilmente ad instaurarsi la fiducia tra il cliente e l'agenzia, ma resta difficile stimolare una dinamica che contempli anche la buona fede. Partecipare ad un progetto open source ci permise di oltrepassare le limitazioni e le costrizioni della condizione oppressiva dettata dal lavoro mercenario e ci permise di rifugiarci in un mondo di auto miglioramento, espressione creativa e progettazione riflessiva. Il software funzionava come un oggetto intermedio per la collaborazione, tagliando fuori le limitazioni di tempo e di spazio. Introdusse continuità tra i nostri progetti e ci permise di collaborare con altri sviluppatori e aziende senza incorrere in aggravi burocratici costosi.

 

Per un free lance indipendente o per un impiegato in una piccola ditta è difficile trovare colleghi da cui imparare ed anche le sviolinate dei superiori sono poca cosa in confronto ad un onesto criticismo e rispetto da parte di professionisti con esperienza. Non c'è nulla di più apprezzato da chi vuole attivamente imparare che vedere il proprio lavoro esaminato e corretto da qualcuno di cui si rispettano ed onorano le abilità e la comprovata esperienza. Le community open source offrono esattamente questo tipo di ambiente di apprendimento, con dinamiche motivazionali che sono simili a quelle osservate nel mondo accademico. Pubblicare un pezzo di codice, farsi accettare una patch ed ottenere il privilegio della commessa alle repository del progetto sono forme di ricompensa nel mondo del lavoro “peer” che riconoscono e convalidano le abilità ed i riconoscimenti accumulati del programmatore.

Autore dell'articolo
Jonah Bossewitch, originario di New York, lavora e studia alla Columbia University. Contribuisce attivamente allo sviluppo di progetti FOSS. Tra i suoi interessi Linux, Python e software CMS. Laureato in filosofia con specializzazione in informatica e scienze cognitive, ha frequentato un master in comunicazione e didattica.