Competenze

14 aprile 2015

Progetto e sviluppo siti e applicazioni web complesse dallo scorso millennio, per molti clienti prestigiosi, con competenze elevate sul lato frontend.

Sono esperto in programmazione Javascript per applicazioni ad alta interattività, fin da quando qualcuno lo chiamava DHTML. Sono stato pioniere dell’uso di Ajax in Italia. Ho usato Prototype e Scriptaculous. Da molto lavoro in ambiente jQuery, minimizzando l’uso di plugin allo stretto indispensabile, ed impiegando tecniche di Event Delegation ed il pattern di Event-Driven Programming.
Ho sviluppato applicazioni Angular.js per clienti come Google, TIM e Vodafone. Sono interessato ad approfondire il fullstack MEAN (con MongoDB, Express e Node.js), React e Angular 2.

Promotore dello sviluppo basato sugli Standard, ho curato l’Accessibilità a norma Stanca di alcuni tra i principali portali della PA italiana centrale e periferica, di cui ho anche sviluppato i template.
Ho esperienza quasi ventennale di sviluppo con HTML/XHTML/HTML5 e CSS, di crossbrowsing, responsive design, semantic markup, progressive enhancement.

Uso PHP fin dal 2001, quando lo adottai al posto dei CGI in Perl, ed ho accumulato esperienze sullo stack LAMP e su alcuni relativi framework (Zend Framework, Symfony), sebbene non allo stesso livello del lato frontend.

Utilizzo con sapienza variabile una serie di altri linguaggi, librerie, strumenti e tecnologie che mi limito ad elencare: Bootstrap, Grunt, Gulp, Git, Svn, Asana, LESS, SASS, Backbone, Modernizr, Drupal, Joomla, JShint, JSmin, librerie Canvas/SVG (JQPlot, D3, Flot), Yeoman, Bower, NPM, Underscore, PHPTAL, XML, XSLT, XSD, RSS…


Poiché neanch’io credo che sia tutto oro ciò che luccica, ecco alcune spinose domande frequenti sulla mia attività.

In che forma lavori?
Attualmente ho un contratto a tempo indeterminato.
Per quindici anni sono stato un libero professionista a Partita IVA.
Lavoro in genere per un cliente prevalente, a cui affianco progetti collaterali minori quando ne vale la pena (in termini economici, ludici o di portfolio).
Svolgo la mia attività in parte in sede e in parte da remoto, in misure variabili (dallo 0 al 100% a seconda dei casi).
Concordo con i clienti contratti personalizzati, che includono eventuali bonus e giorni di ferie. In caso di collaborazioni estemporanee strutturo la mia attività per stati progressivi di avanzamento con saldi parziali.
La mia tariffa è variabile in relazione a lunghezza e attrattività del progetto, e comunque in linea con la mia seniority.
Attualmente sei disponibile?
Non ho vincoli di esclusiva (salvo conflitti di interesse).
Sono disponibile solo per lavori estemporanei ben retribuiti che possa gestire autonomamente da remoto.
Naturalmente ascolto proposte, anche in prospettiva futura, c’è sempre un margine di miglioramento possibile.
Come eserciti la funzione consulenziale?
Quando il rapporto di lavoro è di tipo consulenziale sono a disposizione per realizzare la vision del cliente, integrandola il più possibile con il mio know-how.
Reputo mio dovere informare sempre il referente presso l’azienda delle opzioni migliori e prospettargli volta per volta le conseguenze di ogni scelta. Detto ciò, è facoltà del cliente scegliere le opzioni che meglio ritiene confacenti ai suoi obiettivi. Il prodotto da realizzare è suo, e dal momento della decisione ogni mia proposta sarà pensata nel solco dei requirement forniti, anche nel caso li reputi errati, sempre che risultino compatibili con la mia etica professionale.
In genere quando e perché si interrompe il rapporto con i tuoi clienti?
Di norma la mia attività è legata ad un preciso progetto, quindi termina in corrispondenza o con l’approssimarsi alla fine dello stesso, in genere dopo un rapporto continuativo pluriennale. Spesso sono successivamente coinvolto in altri progetti dai manager con cui lavoro, anche per clienti differenti. In rare occasioni invece le premesse di compatibilità con l’azienda non sono state poi confermate dall’attività sul campo.
Su rapporti continuativi multiprogetto mi sono capitate anche interruzioni per spoil system, per la ricezione di offerte migliori, per spostamento su progetti o tecnologie non graditi o non corrispondenti alle premesse, o per cambiamenti di proprietà e di core business dell’azienda.
Ma tu ricordi a perfezione tutte le sintassi di tutti i linguaggi e gli strumenti che usi?
Certo che no, è uno sforzo inutile con l’incredibile proliferazione di framework e librerie, peraltro in costante evoluzione. Conosco bene gli strumenti che prediligo e ho perfettamente chiare tecniche e pattern che voglio utilizzare. E ho comunque tab del browser aperte sulle sintassi di ciò che sto usando.
Quindi sei un web designer?
E’ un termine inattuale, che impropriamente accorpa in un’unica figura le competenze di un graphic designer e di un coder, laddove un progetto di qualità richiede un team adeguato con specializzazioni in entrambi i campi. Io sono un eccellente coder e un pessimo grafico, ed ho sempre a disposizione ottimi designer. Svolgo entrambe le funzioni solo per progetti collaterali o in aiuto di amici.
Sei un progettista in quale accezione?
Reputo UX e IA in buona parte fuffa, ma soprattutto in concreto vanificate dalla puntuale indisponibilità dei decisori (cliente e manager) a delegare la progettazione a chi professionalmente ne sa di più.
Io non sono un creativo, sono un pragmatico. Sono quindi spesso chiamato a svolgere la progettazione di dettaglio, che porti dallo svolazzo del team creativo alla descrizione esaustiva di oggetti, comportamenti, casi d’uso da realizzare; allo scioglimento di contraddizioni, ambiguità, problemi di fattibilità in riferimento ai requisiti di qualità richiesti; al rilevamento delle inadattezze rispetto agli obiettivi originari e delle necessarie riorganizzazioni derivanti dalle modifiche in corso d’opera.
Riempio quindi uno spazio di “progettazione reale”, spesso maggioritario nonché incustodito, finalizzato direttamente all’esecuzione da parte del team di sviluppo e alla manutenzione evolutiva della relazione tra concept e prodotto.
Ho guidato la progettazione solo quando sono stato messo a capo del progetto.