Lavoro di squadra

by Luca Baldini on 18 novembre 2014

Ho sempre immaginato il programmatore come colui che risolve problemi complessi traducendoli in sequenze di operazioni che un computer è in grado di eseguire. Però, sopratutto negli ultimi tempi, dobbiamo farci carico di ben altro.

Ho iniziato a programmare a metà degli anni ’80 e, allora, le cose erano relativamente semplici. L’ecosistema con cui si aveva a che fare era limitato e cambiava molto lentamente. Allora non c’erano i browser (Netscape uscì nel’94 mentre Internet Explorer solo nel ’95) ed i sistemi operativi non cambiavano quasi mai.

Oggi, invece, tutto cambia e anche molto spesso. I browser cambiano ogni 2-3 mesi, i sistemi operativi dei dispositivi mobili cambiano più volte l’anno e, dato che questi sono sviluppati da esseri umani che prendono decisioni e commettono errori, se voglio che le mie applicazioni continuino a funzionare devo rimanere aggiornato, studiare le novità, capire cosa è stato cambiato, anticipare e correggere gli errori (fatti da altri).

Vi racconto un paio di fatti che mi sono successi di recente. Sapete che Chrome si aggiorna, in media, ogni 5-6 settimane. E ogni “major” version contiene correzioni, modifiche e, talvolta, malfunzionamenti. L’ultima versione (39) aveva due “problemi”: è stato rimosso il supporto verso i database SQL (tipo SQLite per intenderci) nei web-worker ed era stata introdotta una regressione il cui effetto era quello di visualizzare in maniera non corretta il valore dei campi di input in alcuni casi particolari. Nella versione 13.5 abbiamo gestito entrambi i “problemi”. Nel primo caso abbiamo deciso di avviare Safari per permettere ai programmatori di testare le applicazioni offline su PC. Per il secondo caso ho segnalato il problema agli sviluppatori. Fortunatamente avevo notato il problema su Chrome BETA (che uso sempre proprio per accorgermi in anticipo dei problemi che i vostri utenti vedrebbero quando il loro browser si aggiorna) e la mia segnalazione è stata analizzata e corretta ed il problema non è presente nella versione attuale di Chrome.

Il mese scorso è uscito anche iOS 8 e gli sviluppatori Apple hanno cambiato molte cose. Ma hanno anche introdotto un bug che, nonostante io abbia subito segnalato, non è ancora stato corretto: se si carica un testo XML di più di 6-7 MB con la classe nativa NSXMLParser l’applicazione crasha! Per questo ho dovuto rilasciare una nuova versione di Caravel che utilizza, come XML parser, una libreria di terze parti.

Vi ho raccontato solo un paio di casi ma ne sono successi molti altri. Poi basta pensare a Lollipop e a Windows 10 per essere sicuri che nei prossimi mesi ce ne saranno altri.

In un contesto del genere lo sforzo necessario per restare al passo è sempre più grande. Per chi produce software, oggi più che mai è importante trovare un modo per eliminare il problema e poter concentrarsi sulla risoluzione dei problemi “veri”, sull’implementazione delle proprie applicazioni e non su volubili aspetti tecnologici.

Instant Developer è nato anche per questo e, da questo punto di vista, uno dei nostri obiettivi è quello di fornirvi uno strumento sempre allineato alle nuove tecnologie facendoci carico di gestire cambiamenti e bug nei nuovi browser, nei nuovi sistemi operativi, nei nuovi database. Sempre con uno sguardo attento ai grandi cambiamenti ancora in arrivo.

Insomma, noi e voi siamo un po’ come una squadra.

Image: applenapps.com

{ 2 comments… read them below or add one }

1 Antonio 18 novembre 2014 alle 13:06

Concordo su tutta la linea!
Penso anch’io che alla fine il risultato finale è soddisfacente per gli utenti solo se tutta la squadra (noi e voi appunto) funziona al meglio.

2 MASSIMO VANNUCCI 18 novembre 2014 alle 19:19

Sono 35 anni che sviluppo software, sono partito nei primi anni dell’80 e confermo ciò che hai illustrato molto bene.
Il motivo per cui abbiamo optato per InDe è anche il costante aggiornamento che apportate al sistema, un servizio impagabile ed imprescindibile per avere un buon livello di gestione.
Credo oggi sia veramente un problema programmare senza un servizio di questo tipo, il software richiede molto impegno ed un aggiornamento continuo… ma vogliamo anche vivere… e grazie a voi ci riusciamo !!!

Leave a Comment

Previous post:

Next post: