Mi presento, mi chiamo George e faccio lo sviluppatore software.
Lavoro nella software house pistoiese X-Automation, dove insieme ad altri ragazzi facciamo magazzini automatici all’avanguardia per l’industria 4.0.
Fare lo sviluppatore implica scrivere giornalmente tante righe di codice, ma non solo, infatti implica anche fare l’analisi del progetto insieme ai clienti, studiare l’architettura e l’infrastruttura migliore, l’interazione con gli altri protagonisti, l’assistenza e la raccolta dei consigli per il miglioramento del prodotto stesso.
L’azienda è molto incentrata sullo sviluppo destinato alla piattaforma Windows, quindi ci è venuto naturale adottare il framework creato da Microsoft stesso, ovvero .net e WPF, resi disponibili attraverso l’ambiente di sviluppo Visual Studio.
Qual è l’ambiente di lavoro ideale per te?
Sicuramente un ambiente stimolante dove sono libero di scatenare la mia creatività e la mia tecnica.
Ancora meglio se circondato da persone che condividono la mia stessa passione, con lo scopo di raggiungere gli stessi obiettivi.
Nonostante il mio lavoro si svolga principalmente in solitario, è importante avere il supporto dei colleghi, in modo da sviluppare nuove idee e affrontare il lavoro in maniera più divertente.
Quindi una via di mezzo sarebbe l’ideale.
Come affronti le situazioni ad alta pressione quando tutto va storto?
Cerco di rimanere calmo, anche se non è semplice.
Noi Software Developer siamo abituati all’idea che prima o poi qualcosa andrà storto, nonostante il lavoro sia stato fatto bene.
Quindi spendo molto tempo cercando di risolvere un problema (a volta anche alcune ore). Spesso è come cercare l’ago in un pagliaio, visto che gli imprevisti si presentano e basta, ma sai solo che ci sono. E non sai dove.
Molte volte diventa frustrante, ma la mia passione mi spinge a volermi migliorare, quindi stringo i denti e vado avanti. Alla fine, la soddisfazione che si prova è impagabile.
Dicci di più su Working Hours 4b. Com’è nata l’idea?
Nel tempo libero lavoro alla mia applicazione, Working Hours 4b.
Lo scopo iniziale era quello di aiutare mio padre a segnare le ore lavorative. Il suo lavoro è molto dinamico e quindi era spesso costretto a scrivere le ore su un pezzo di carta per poi, a fine mese, fare le somme con la calcolatrice verificando la busta paga.
Quindi ho aperto Android Studio e mi sono messo ad imparare la piattaforma da zero, utilizzando varie guide online.
Uno di questi siti che tengo a precisare e ringraziare è la comunità di stackoverflow.com, senza di qui non credo che ce l’avrei fatta o comunque avrei avuto molte più difficoltà.
Fatta la prima versione in Android (Java), ci è venuto l’idea di pubblicarla su Google Play per poter dare la stessa possibilità a chiunque di tenere traccia del proprio lavoro, a costo 0.
Dopo un anno, visto l’incremento della popolarità abbiamo deciso di replicarla in Swift e pubblicarla su Apple Store, e infine di creare una versione Web utilizzando Angular.
Dopodiché ha avuto un grande successo, vero?
Assolutamente si, l’applicazione è stata scritta e riscritta in linguaggio nativo per ogni piattaforma, senza rincorrere a strumenti di sviluppo multi-piattaforma.
Ho fatto questa scelta, cogliendo l’occasione di imparare diversi linguaggi di sviluppo, diverse correnti di pensiero e architetture di sviluppo.
Questa tecnica si è rivelata avere pregi e difetti. Il difetto più grosso è quello che, appunto, il programma va scritto per ogni piattaforma, quindi anche per fare un aggiornamento si è costretti ad aumentare il lavoro.
D’altra parte, scrivere in linguaggio nativo aiuta a capire come è stata pensata dai fondatori e avere un supporto migliore dalla comunità e dal sistema operativo stesso.
Alcune funzionalità sono più accessibili su una piattaforma, alcune meno.
Quale aspetto della tua app ritieni più importante?
La cosa più importate è l’esperienza utente, in quanto chi usa un telefono con il sistema operativo Android, è abituato a trovare le impostazioni in una determinata zona dello schermo ed è abituato a fare certe operazioni in un certo modo.
Devo dire che io e l’applicazione siamo cresciuti insieme, nessuno dei due aveva la minima idea di come iniziare, come proseguire e come comportarsi nel contesto.
Pian piano siamo riusciti a mettere in moto gli ingranaggi ed arrivare ad una maturità che permette sia di fare cose semplici, come inserire un normale intervallo di lavoro, sia di poter personalizzare il più possibile per gli utilizzatori avanzati.
C’è anche qualcun altro dietro il successo di Working Hours 4b?
Sarei un bugiardo a sostenere che sia tutta farina del mio sacco. L’applicazione ha avuto un’evoluzione progressiva insieme alla comunità, seguendo tutti i problemi, le esigenze e le nuove idee degli utilizzatori stessi, infatti il servizio dispone di funzioni per la richiesta dell’assistenza poste in primo piano.
Le funzionalità sono state adattate anche per chiunque. A un venditore, un corriere, un lavoratore stagionale, mentre una volta erano dedicate ad un semplice operaio.
I pendolari hanno conquistato la possibilità di segnare le diarie, le ferie non sono più state un tabù. Il tutto facilmente leggibile ed inviabile direttamente al datore di lavoro.
E’ stata implementata anche la banca ore, utile per chi ha un numero fisso di ore al mese e che deve accumulare e scalare al bisogno.
Ci sono nuove funzionalità che migliorerebbero l’applicazione?
Il sistema operativo Android, come quello Apple, è in continua evoluzione.
Certe funzionalità del framework offerto possono andare bene per una versione, però possono smettere di funzionare dalla prossima.
Vengono introdotti continuamente nuovi componenti, funzionalità, temi e animazioni.
Working Hours 4b è sempre stata aggiornata per stare al passo di tutte le versioni, come il tema Material o il Dark mode, senza però togliere il supporto alle vecchie versioni facendo in modo di soddisfare tutti i clienti senza lasciare nessuno indietro.
Abbiamo risolto anche il problema dei mancati back-up inserendo i dati direttamente in Cloud. Ogni volta che un data viene inserito, questo viene sincronizzato con i dati online.
C’è comunque la possibilità dell’utilizzo offline, andando a sincronizzare in un secondo momento appena la connessione ritorna. Tutto questo in modo trasparente per l’utente, che anche se cambia telefono riesce comunque a recuperare ogni dato.
Gli eventi sono visibili in un calendario che permette di individuare a colpo d’occhio qualsiasi attività, consultando i totali nella Dashboard.
Le statistiche non possono mancare, infatti esiste una pagina dedicata in cui, attraverso un grafico a blocchi (per i totali) e uno a torta (per le percentuali), possiamo avere una vista più insiemistica del guadagno o delle ore lavorate, giorno per giorno o mese per mese suddividendo in lavori.
Visto il successo di Working Hours 4b, svilupperai altre app?
Mi è stato chiesto diverse volte se avevo intenzione di sviluppare anche altre app.
Io invece, ho sempre avuto un solo obbiettivo: quello di ampliare la solita applicazione.
Tutti gli store sono pieni di app abbastanza semplici che sono dedicate a fare una sola cosa, lasciando spesso l’utente con più problemi che soluzioni.
Non è possibile pensare solo all’utente semplice, ma dobbiamo dare la possibilità anche agli utenti più avanzati di soddisfare le proprie difficoltà.
Ho avuto diverse richieste di compravendita fatte da aziende “incubatrici”, intente ad accelerare lo sviluppo dell’applicazione.
E’ vero che inizialmente viene dato un aiuto allo sviluppatore, però andando avanti con il rapporto, l’incubatore, per contratto, prende il controllo del progetto stesso e il guadagno che ne sussegue.
Quindi, essendomi informato, ho sempre rifiutato qualsiasi tentativo di acquisto, non ho nemmeno chiesto quanto potessero offrirmi.
Cosa consigli a chi si vuole avvicinare a questa professione?
Iniziare a programmare non dev’essere una cosa forzata, per seguire la moda, deve venire naturale.
Lo sviluppatore deve avere la stessa cura dei propri programmi come un giardiniere ha cura della sua verdura, come un panettiere ha cura del proprio prodotto.
Non deve preoccuparsi solo che sia bello, ma che sia sopratutto buono e piacevole.
Un consiglio che vi do? Non vi fate dire da nessuno cosa potete e cosa siete in grado di fare! Nessuna storia è fatta solo da successi.
Nello sviluppo app, le tendenze vanno e vengono. Quali sono qui per restare?
Visti i tempi passati (e soprattutto quelli in cui viviamo oggi) la tendenza è quella di avere tutto in tasca a portata di mano, al polso o direttamente davanti agli occhi.
Tutto questo con meno interazioni fisiche, meno sforzi fisici e psichici, andando ad eliminare completamente le azioni tradizionali.
I servizi saranno sempre più economici grazie alla competizione di tanti sviluppatori perché è un settore in crescita esponenziale e sarà cosi per diverso tempo.