Technology Experience

My daily work

Il mio lavoro quotidiano, il traffico, la metropolitana, le tangenziali, i rapporti con i colleghi, lo stress, il divertimento, la routine

My daily work

Ogni era ha il suo reborn

Il mio primo blog su quello pubblicato su UGIdotNET, all’indirizzo http://blogs.ugidotnet.org/idamiani. Era gestito da .TEXT, se non ricordo male, e si chiamava Technology Experience. Poi, nell’aprile del 2007, mi staccai da UGIdotNET e diedi vita al mio blog indipendente, pubblicato attraverso il mio dominio vivendobyte.net, e lo rinominai come Technology Experience (reborn). Questo è il blog che continuate a leggere anche oggi. Nei mesi e negli anni a venire ho aprofittato dei miei piccoli e grandi cambiamenti  lavorativi per incrementare il lato reborn.

Non ricordo esattamente l’evento scatenante che mi portò ad inserire reborn 2 nel titolo. E non ricordo neppure reborn 3 e reborn 4. Gli ultimi anni sono stati troppo frenetici, probabilmente.

Oggi il mio blog diventa reborn 5.

Questo incremento è dovuto al cambiamento lavorativo di cui vi ho raccontato nel mio ultimo post. Nuovo stile, grafica leggermente rifatta, nuovo tema (che a quanto pare è anche responsive, per cui su dispositivi mobile non dovreste più avere gli stessi problemi di prima).

Beh, buona lettura!

Send to Kindle
My daily work

Ciao Brain-Sys, e grazie per questo viaggio

Ebbene sì, lunedì prossimo, il 1° ottobre 2018, comincerò a lavorare per una nuova azienda, lasciando Brain-Sys che mi ha accompagnato negli ultimi otto anni della mia vita personale e professionale. E’ stato un lunghissimo e meraviglioso viaggio, cominciato nel lontano gennaio del 2010, quando ero un tipo molto molto diverso. Sapete qual è la cosa che mi lascia più amareggiato? Oggi sono qui a scrivere il finale di questa storia, ma all’epoca non riuscii a scriverne l’inizio, semplicemente per il fatto che in quel periodo il mio blog era offline causa malfunzionamenti dell’hosting provider a cui affidavo le mie memorie in quel periodo. Me ne sono ricordato qualche settimana fa, quando ho cercato sui motori di ricerca qualche traccia dell’Igor Damiani dell’epoca: l’unico articolo interessante che ho trovato è questo, scritto solo nell’aprile del 2010. Un po’ troppo poco, l’inizio di questa avventura meritava qualcosa di più.
Quindi…scriviamolo adesso.

L’inizio di tutto: estate 2009
Beh, dunque, per me che l’ho vissuto in prima persona, non è difficile ricordare quei tempi, e soprattutto le decisioni che mi hanno portato, alla fine, ad entrare nella famiglia di Brain-Sys. Alla fine del 2009 mi trovavo in uno stato lavorativamente parlando piuttosto depresso. Avevo ancora la mia partita iva, ero il classico consulente che veniva sbalzato da un’azienda all’altra, a fare brevi consulenze di qualche settimana o di qualche mese di qua e di là. Un po’ C#, un po’ VBA, un po’ SQL Server ed un po’ di Oracle, ero in balìa degli eventi. Sentivo di non avere il controllo sulle mie giornate, sul mio tempo e sull’andazzo delle cose. Sentivo, insomma, di non avere più in mano il pallino della mia vita, nè il coltello dalla parte del manico. Forse la goccia che ha fatto traboccare il tutto è caduta nei mesi di giugno/luglio di quell’anno, quando l’azienda per la quale lavoravo mi aveva collocato da un cliente nell’hinterland milanese, in mezzo al niente, a portare a termine un lavoro per il quale non avevo alcuna aspirazione e che mi faceva soffrire fisicamente. Tanto stress, tanti dolori cervicali, tanti viaggi e tante code in macchina, soddisfazione praticamente azzerata. Per come la vedo io, un vero incubo. Di quell’estate ricordo altre due cose: la morte di Michael Jackson e la frequentazione con una donna più grande di me che mi faceva ammattire. Due vicende tristi, no? Quando ad inizio agosto andai in ferie, nella mia amata Puglia, ero decisissimo a mollare tutto, a mollare il mondo dello sviluppo software ed a ricominciare daccapo con altro. Provate a leggere i punti 8, 12, 15 di questo elenco pubblicato nell’OT del Venerdì (5).

Beh, insomma, cosa è accaduto, alla fine? Qui sinceramente i ricordi sono un po’ sfocati e confusi. Al rientro dalle ferie ho incontrato riluttante Gabriele Gaggi ed Alessandra Maggi ad un giapponese a Pavia, abbiamo chiaccherato un po’ e – per farla breve – ho cominciato a lavorare per Brain-Sys, prima come consulente fino a fine 2009, e poi come dipendente dal gennaio 2010. Avevo una mia vita, in qualche modo bisogna pur tirare avanti. All’inizio ero molto molto titubante, soprattutto per l’assunzione. Amavo l’indipendenza che la mia partita iva mi concedeva. La mia preoccupazione più grande era il fatto che non volevo assolutamente rimettermi a fare tutti i giorni la tratta Lodi-Milano & ritorno. La promessa dell’epoca, pienamente mantenuta, era il fatto che con Brain-Sys avrei potuto lavorare da casa praticamente tutti i giorni, tranne una trasferta al mese da un grosso cliente che seguivamo all’epoca.
Come dicevo un attimo fa: promessa mantenuta al 100%.

Il durante: dal 2010 al 2018
E’ difficile riassumere otto anni di storia in una manciata di righe. So solo che è stato un viaggio lungo ed entusiasmante. Ho incontrato tante nuove persone, abbiamo scritto qualche software interessante. Applicazioni desktop, applicazioni mobile, ho messo persino le mani su progetti web. Sono migliorato sotto tantissimi punti di vista, sia personali che professionali. Un aspetto importante, probabilmente, è stata la collaborazione con Overnet Education, che mi ha portato in giro per l’Italia a parlare delle tecnologie che conosco ed amo di più: .NET Framework, C#, Visual Basic .NET, WPF, WCF, Windows Phone, UWP, Entity Framework, e molto altro ancora. Ho tenuto corsi più teorici ed altri più pratici, con un paio di partecipanti oppure con intere classi di quasi 20 persone. Ho tenuto corsi di pochi giorni fino a gestire intere academy di diverse settimane. Mai e poi mai avrei pensato di parlare in pubblico in vita mia. Avrò sempre un posticino nel cuore per tutti quei ragazzi neolaureati provenienti da tutta Italia che – come dicevo io scherzando – ho formattato, nel senso che ho tentato di infondere loro tutte le mie conoscenze sul mondo della programmazione ad oggetti. Qualcuno di loro l’ho incontrato poi nei mesi successivi, in metropolitana o in giro per Milano. Qualcuno lavora in questo meraviglioso mondo dell’IT, qualcuno ha cambiato, altri sono tornati a casa loro e fanno tutt’altro. Con i corsi ho visitato tantissimi posti. In ordine sparso: Barcellona in Spagna, Cuneo, Pesaro, Torino, Brescia, la Valtellina, Verona, Trieste, Padova, Bergamo, Bologna, Roma, Bari, Modena, Rimini, Venezia, Imola, Trento, Genova, me ne starò dimenticando qualcuna e senza contare le tantissime altre cittadine e paesi di provincia, senza contare Milano ed il suo sterminato hinterland. Ho visitato San Polo d’Enza, il paese dove il 27 febbraio 1797 ha sventolato il primo tricolore italiano, nato il 7 gennaio a Reggio Emilia. Ho visitato grosse multinazionali italiane, ed ho incontrato tantissimi giovani e meno giovani sviluppatori di software. Spesso i più in gamba li ho trovati nelle piccole software-house, dove ti devi fare in quattro per risolvere i problemi e consegnare un prodotto al cliente. Comunque sia, tenere corsi e spiegare ciò che so è una delle cose che amo di più.

Grazie a Brain-Sys per la fiducia nei miei confronti nell’home-working, esperienza incredibilmente appagante che tutti dovrebbero provare, ma non prima di aver lavorato seriamente in modo tradizionale in un ufficio. Devi essere autonomo, conoscere bene il tuo lavoro, conoscere le tecnologie, essere capace di prendersi cura del cliente. Altrimenti è solo tempo perso.

Grazie a Brain-Sys per avermi permesso di partecipare alle giornate community e non, dal Basta Italia del 2010 a Roma (rimasi bloccato nella capitale un giorno in più per via del vulcano islandese che bloccò i voli di tutta Europa), agli eventi qua e là, comprese un paio di edizioni a WPC, durante le quali ho fatto anche lo speaker. Grazie per il corso sul public speaking a Bergamo, per tutti i venerdì di ferie presi per raggiungere Lecce, per la gestione agile di ferie, permessi e giornate dedicate alla donazione AVIS.

Qualche aneddoto
Il più posto più strano in cui l’ho fatto. Ho scritto righe di codice a Barcellona, presso un cantiere in costruzione, con il notebook appoggiato tra enormi bombole di gas piene fino all’orlo.

Il primo corso. Su Visual Basic .NET, nell’autunno del 2013, ad un ragazzo presso l’NH Hotel ad Assago (dove si tiene WPC, per capirci). Lo ricordo perfettamente, perchè si sarebbe sposato da lì a qualche settimana, avrebbe fatto il viaggio di nozze in Giappone ed ha fatto di tutto per convincere anche me a fare altrettanto. Non ce la farà mai.

Il complimento più bello. “Igor, ci hai fatto uscire da Matrix”. Corso su WPF tenuto a Bologna questa estate. Beh, non è merito mio. Il merito è vedere cosa permette di fare lo XAML combinato con .NET Standard e MVVM. Non perdete tempo a cercare di farmi cambiare idea, non ce la fate. Tanti di voi ormai sbroccano e parlano solo di bot & cloud. Lasciate stare, che è meglio.

La figuraccia. Ricordo due episodi spiacevoli. Un corso a Verona sull’architettura sviluppata con .NET, quando tutti i partecipanti erano sviluppatori in Java. Me la sono cavata, alla fine l’architettura è l’architettura, ma me la sono vista così così. L’altro episodio è avvenuto a Cesano Boscone, e non posso raccontarlo; diciamo che un tizio ha messo in dubbio la mia preparazione sull’argomento, e diciamo che aveva ragione al 50%.

Il posto più brutto in cui ho dormito. Un B&B a Bari, a 50 metri dallo stadio San Nicola. Mai più.

L’ultimo corso. Lo sto tenendo oggi. A Carpi, su C#, in un’azienda amica che ho già visitato in passato. Partecipanti: 4.

Il corso più noioso. Su Xamarin Forms, a Trento.

Il corso più divertente. Su Xamarin Forms, a Bari.

Software di chat utilizzati. GTalk, Skype, Messenger, Facebook Messenger, Skype for Business, Teams. Altri?

La fine: estate 2018
Brain-Sys è stata capace di prendere un Igor sconsolato, stressato e depresso, e l’ha rivitalizzato. Ecco che cos’è Brain-Sys. Dal mio punto di vista è una piccola famiglia che è stata capace di adattarsi, di resistere e di non soccombere miseramente durante gli anni più severi della crisi economica. Un grazie mille a tutti è ovviamente scontato. Non voglio fare nomi per non dimenticare nessuno. Grazie per tutti questi anni, grazie alle mie colleghe ed ai miei colleghi, grazie a chi mi ha accolto in casa sua come fossi un caro amico, grazie per le chiaccherate e per gli sfoghi. Come tutte le famiglie, ci sono aspetti positivi e meno positivi, ma che non toglie nulla a tutto ciò che di buono abbiamo fatto, costruito e realizzato. Grazie davvero.

Non è mia intenzione discutere qua dei motivi che mi hanno portato alla decisione di lasciare Brain-Sys. Tre forse sono state le cause scatenanti: il mio trasferimento, l’arrivo di Federica nella mia quotidianità e, dulcis in fundo, la stanchezza dell’essere troppo spesso in giro per l’Italia. Posso affermare che la cosa più bella che mi sia capitata in Brain-Sys, ovvero tenere corsi, è anche quella che alla fine ha fatto pendere l’ago della bilancia verso il “No, così non puoi andare avanti”. E’ stata una decisione presa con un mix di cuore & raziocinio e con voglia di vedere al futuro. Tutto è avvenuto in modo estremamente rapido durante il mese di luglio ed agosto, proprio a ridosso delle ferie estive. E così è stato. Alè.
Ciao Brain-Sys. Sei stata un’ottima nave.
E’ l’inizio di una nuova avventura.

Epilogo
Sapete, quando vivete accanto o all’interno di una grande città come Milano, avete quasi una visione distorta della realtà. Milano è Milano, e con il resto dell’Italia per certi versi non c’entra proprio nulla. E’ come un’isola separata, con le sue regole frenetiche e la sua evoluzione. Quindi in metropolitana o per strada, per esempio, potreste vedere ragazzini e ragazzine di “soli” 10 anni vestiti alla moda, con lo smartphone in mano, immersi nel loro mondo virtuale. Li vedrete magari atteggiarsi da adulti, imitando o vestendosi come il loro cantante pop o rap preferito. Li sentirete parlarsi nel loro slang, a tratti moderno, violento o volgare. Non ho idea se sia davvero così, ma a me danno proprio l’impressione di avere poco senso della realtà che li circonda. Magari sto invecchiando io.
Viaggiare per la nostra penisola – soprattutto il nord ma non solo – mi ha fatto capire che la vera Italia, quella sana e genuina, è lontana dalle grande metropoli. Visitando la provincia italiana ho visto ragazzi di 15 anni girare con la bicicletta sgommando e ridendo; ho sentito giovani ragazzi parlare con la loro nonna lamentandosi delle loro coetanee perchè “sono vestite tutte uguali con quel cavoli di shorts di jeans”. Ho visto ragazzi vestiti così come capitava, e ragazze della porta accanto, con gli smartphone messi da parte. Insomma, la parte più autentica si trova lì, ben nascosta e protetta tra le nostre colline, montagne, laghi e pianure, lontano dal fragore delle grandi città impazzite. Quei ragazzi e quelle ragazze mi hanno dato speranza.
Sono giunto alla conclusione che i Goonies non sono estinti, ma esistono anche oggi, anche nel 2018. Basta saperli trovare, un po’ come l’A-Team.

Send to Kindle
My daily work

Sole alto

Ho tenuto il mio primo corso nell’ottobre del 2014, stiamo arrivando con il prossimo autunno ai quattro anni. Ho girato bene o male un po’ tutta l’Italia, ma per motivi logistici – come potete immaginare – soprattutto il Nord. Sono stato a Cuneo, in Valtellina, a Torino (dove tornerò fra poco), ovviamente a Milano e nel suo intricato hinterland, in Trentino, a Trieste, in parecchi posti dell’Emilia Romagna (da Piacenza a Cesenatico), a Pesaro, fino a raggiungere in casi più rari location come Roma e Bari. Ho parlato, e continuo a farlo, di .NET Framework, di C# e VB.NET base ed avanzato, di metodologie agili, di TFS, di Xamarin Forms, di MVVM applicato a WPF & UWP, di Entity Framework, e chi ne ha più ne metta.

Ma è specialmente d’estate, quando le giornate sono lunghe, che hai più soddisfazione nel chiudere la tua attività. Perchè sei stato in piedi tutto il giorno, hai parlato alla tua classe, alle persone di un’azienda, hai trasmesso tutto ciò che sai.

L’ultimo giorno saluti tutti, esci all’aperto inforcando i tuoi sgangherati occhiali da sole, con il sole ancora alto in cielo, cammini soddisfatto verso la tua automobile, quando sei con lei, e torni con calma a casa. Un altro corso è andato, e pensi già al prossimo.

Insegnare è una vocazione, si dice spesso.
Credo che sia anche la mia.

Send to Kindle
My daily work

Parlare di WPF in Microsoft House

Il 24 Maggio scorso ci sono stati i Community Days 2018 presso Microsoft House, a Milano. Inizialmente mi ero iscritto, mesi fa, perchè indipendentemente dai contenuti (che possono essere di tuo gradimento oppure no), queste sono sempre occasioni da non perdere. Peccato accorgersi che proprio quel giorno avrei dovuto tenere il mio quarto ed ultimo giorno di corso su Windows Presentation Foundation + .NET Standard + MVVM in Overnet Education, per cui avrei dovuto arrendermi e saltare l’evento.

Non è andata proprio così, alla fine (per fortuna).

Lunedì 21, parlando con i quattro partecipanti, si era ventilata un’idea bizzarra ma divertente, ovvero quella di svolgere l’ultima giornata proprio in Microsoft House. Nessuno aveva mai proposto una cosa simile, a quanto pare. L’idea nasce inizialmente nel mio cervello, poi la espongo e racconto agli amici (tecnici) di Overnet, che tutto sommato non la trovano così sgradevole, anzi… La palla passa poi ai commerciali, che mi appoggiano, a patto ovviamente di riuscire a trovare e prenotare una saletta in Microsoft House per il 24 Maggio, durante i Community Days. Scrivo di getto una mail all’amico Andrea Benedetti, di Microsoft Italia, che senza troppe domande prenota la Design Suite al primo piano della nuova spettacolare sede.

Quindi, il gioco è fatto.
Eccoci qua!

Ecco una foto dei quattro partecipanti del corso. Da sinistra verso destra sono: Michele, io, Marco, Alessandro ed Alberto. Michele ed Alessandro appartengono ad una società, mentre Marco e Alberto ad un’altra.

E’ stata una giornata incredibile. Sole estivo, sede in gran spolvero, accoglienza magnifica, saletta spaziosa e bellissima, clima divertente, WPF spremuto fino (quasi) all’ultima riga di XAML. A metà mattina abbiamo fatto una breve pausa, e sul nostro piano ci siamo anche beccati un meeting con HoloLens. Non farò nomi perchè sarebbero troppi, ma mando un saluto a tutti quelli che ci hanno intravisto nella nostra sala per il corso.

Ovviamente c’è da ringraziare un po’ tutti: il personale di Overnet Education che ha reso possibile questa iniziativa, Microsoft nella persona di Andrea Benedetti per la disponibilità e la tempestività con la quale è intervenuto ed agito.

Non ho potuto seguire le sessioni, ovviamente, ma è stato comunque bello incrociare gli amici di community di sempre, quelli che abitano lontani e quelli che abitano vicino, chi in Italia e chi all’estero.

Chissà, magari è un’esperienza che si potrà ripetere anche in futuro. Speriamo.

Send to Kindle
CommunityMy daily work

Quando ero giovane…

Ieri durante WPC 2017 ho tenuto due sessioni:

  • 30 minuti appena dopo pranzo dedicati a Universal Windows Platform
  • un’intera giornata di workshop dedicata a Xamarin Forms, insieme a Gabriele Gaggi ed Ugo Lattanzi, durante la quale abbiamo sviluppato un’app mobile in stile Netflix

Ringrazio tutti coloro che mi hanno fermato per farmi i complimenti, relativamente alla competenza tecnica, alla simpatia o alla capacità di coinvolgimento.

Vi racconterò un mio piccolo punto di vista personale. Quando ero più giovane, ed ascoltavo le sessioni tenute dagli altri durante gli eventi community, quelle che mi piacevano di più erano quelle che potevo sfruttare il giorno dopo, quelle che mi davano tanta passione e tanta voglia.

E’ quello che cerco di fare io oggi, che tocca a me fare il relatore. Non mi interessa raccontarvi tutto quello che so nel tentativo di farmi bello, o di pavoneggiarmi nei confronti di chi mi sta a sentire. Mi interessa invece raccontarvi qualcosa che vi faccia sbavare dalla voglia di mettere mano al codice, di farvi sentire per qualche minuto in un mondo più grande e più figo, pieno di possibilità tutte da scoprire. Durante le mie sessioni tecniche voglio farvi divertire, perchè grazie al divertimento si impara di più e meglio.

Grazie a tutti!

Send to Kindle
My daily work

Lo fanno gli chef, perchè non dovrei farlo io?

C’è una cosa che sicuramente abbiamo imparato dalle innumerevoli trasmissioni TV dedicate al mondo della cucina: gli chef, al termine del loro lavoro, ogni giorno, puliscono e mantengono pulite sempre le loro attrezzature di lavoro. Fornelli, banchi da lavoro, lavandini. Tengono in ottimo stato di pulizia i frigoriferi, i forni, i congelatori e gli abbattitori. Evitano che formiche e scarafaggi invadano le loro cucine. Perché alla fine quel lavoro dietro le quinte – che noi non vediamo – determina la qualità del loro lavoro, e del cibo che viene servito nei nostri piatti. Lavorare in un posto di lavoro bello da vedere, fa lavorare meglio.

E quindi perché non dovrei farlo pure io? C’è una cosa a cui ho sempre prestato attenzione, nel mio lavoro. Al fatto che il mio Windows deve essere sempre in pieno stato di forma. Tassativo: formattazione una volta all’anno. Tassativo! Dopo un anno, è normale che tutti gli aggiornamenti – di qualsiasi software, non solo del sistema operativo – bene o male riducano l’efficienza del nostro principale ambiente di lavoro. E la situazione è accentuata se si gioca con le build Windows Insider, oppure con le beta delle suite Infragistics o DevExpress (è solo un esempio), oppure se si inseriscono barbatrucchi nel sistema operativo (firewall, servizi, security, altro?) o in qualche software. L’ordine con cui installo il software (sistema operativo, driver, applicativi, etc.) è ben documentato, da anni ormai, per fare in modo di non avere intoppi e tornano al lavoro nel minor tempo possibile. Sto lavorando in questi giorni – a tempo perso – ad una versione “community” del mio documento RTF che mantengo da molto tempo, in modo che possa condividerlo con tutti voi. Sono certo che lo troverete più che utile.

Perché, badate bene, se abbiamo un designer XAML troppo lento, o abbiamo Esplora Risorse che ogni tanto si inchioda, o abbiamo Hyper-V che non riesce ad avviare qualche macchina virtuale, forse tutto è dovuto ad un ambiente configurato male, oppure che sopravvive malamente al trascorrere del tempo o alle migrazioni tra una build e l’altra di Windows 10. Molti di noi, per correggere un problema sorto con Windows, o con Visual Studio, tentano la riparazione di questo o quello: non c’è nulla di male, sia chiaro, ogni tanto pure io tento quella strada, ma bisogna essere assolutamente consapevoli che deve essere solo una soluzione temporanea. Nella mia testa non c’è alcun dubbio su questo. Si formatta appena si ha tempo. Punto.

Secondo i miei calcoli, reinstallare Windows e praticamente tutti i miei software per sviluppare richiede sì e no circa 4 ore. Facciamo pure che vi porti via un’intera giornata di lavoro. 8 ore all’anno (oppure ogni sei mesi?) da dedicare al vostro PC con cui lavorate tutti i giorni. Non mi sembrano così tante, onestamente. Esattamente come gli chef dedicano attenzione alla loro cucina. Esattamente come un ciclista professionista cura ed ama la sua bicicletta per gareggiare al Giro d’Italia. Esattamente come un garzone del falegname, che ogni 2-3 giorni spazza il laboratorio per evitare di venir sommersi dalla segatura. Esattamente come una scuderia di F1, che studia e prepara il setup della monoposto per far conquistare la pole position al suo pilota.

Lo fanno i tanto blasonati chef stellati in TV, perchè non dovremmo farlo anche noi?
Siamo per caso meno professionisti di loro? No, vero?

Send to Kindle
My daily workVisualStudioTips.net

Una mattinata nella Microsoft House

Sembra una giornata come tante. Prendo la macchina, entro in A1 dal casello di Lodi, mi infilo in autostrada in direzione Milano. Parcheggio a San Donato Milanese, prendo la metropolitana gialla fino a raggiungere la Stazione Centrale, poi cambio con la verde e scendo a Garibaldi. Sembra una giornata come tante, perchè questo è bene o male il tragitto di migliaia, di centinaia di migliaia di persone che ogni giorno raggiungono gli uffici della metropoli milanese. Da Garibaldi si percorre in pochi passi Corso Como, costellato di locali alla moda ed uno dei centri nevralgici della nuova movida milanese, da quando con Expo 2015 questa zona della città è praticamente rinata. Qui adesso sono collocate la Unicredit Tower, il bosco verticale vincitore di diversi premi di design, piazza Gae Aulenti, Eataly, tantissimi negozi di brand appartenenti al mondo della moda e del lusso, innumerevoli bar e locali per prendere un aperitivo e mille altre occasioni per vivere appieno il sapore di una grande città come Milano. Insomma, si fanno due passi e ci si rende conto di essere al posto giusto nel momento giusto.

Ed è qui che sorge la nuova e spettacolare Microsoft House, che ho avuto l’onore di visitare a tu per tu con Andrea Benedetti, Director of Technical Evangelism di Microsoft Italia, che ovviamente ringrazio per il tempo che mi ha concesso.
Di che cosa si tratta?

In due parole: basta con la bellissima ma isolatissima cattedrale nel deserto di prima. Oggi Microsoft è nel cuore della città, raggiungibile dalle stazioni dei treni, dalla metropolitana, con i taxi. In una struttura completamente di vetro (832 finestre), trasparente come trasparente vuole essere la sua comunicazione. 5 piani di tecnologia, di voglia di fare e di lavorare, immersi in un ambiente accogliente ed allo stato dell’arte.

Una zona aperta al pubblico
Microsoft House mette a disposizione una zona aperta e disponibile al pubblico. Per fare cosa? Per parlare e toccare con mano le tecnologie Microsoft, che siano PC, convertibili 2-1, tablet, telefoni, mouse, tastiere, XBOX e chi ne ha più ne metta. E’ un grande punto in cui ritrovarsi e chiaccherare, rimanere aggiornati sulle ultime novità, prendere parte ad eventi per il mondo consumer. Vi consiglio di dare un’occhiata di tanto in tanto al sito https://www.microsofthouse.it/, giusto per non perdere nulla delle esperienze che Microsoft vi permette di vivere. Ci sono stato, da normale visitatore, la domenica successiva a quella dell’inaugurazione ufficiale; ho incontrato alcuni amici ed insieme a loro ho vistato lo showroom. E’ proprio bello da vedere. E’ un crocevia di gente, di passanti e di semplici curiosi, che entrano, fanno due passi, guardano e commentano, magari bevono un caffè, e poi se ne vanno. Così, naturalmente, come se fosse un luogo di incontro o una piazza.

Tantissime zone per lavorare
Ovviamente la parte che Andrea mi ha permesso di visitare è quella al di fuori delle normali zone aperte al pubblico. Gran figata. Ci sono uffici grandi e piccoli, a seconda delle esigenze e del tipo di lavoro da svolgere. Ci sono spazi dedicati ai piccoli meeting o ai grandi eventi per le community.

image

Ci sono diverse zone di svago dove bere un caffè o scaldarsi qualcosa con il microonde. Ci sono teatri per accogliere sessioni tecniche e sale riunioni con Surface Hub per condividere slide e video.

image

image

Nella nuova Microsoft House tutto è pensato per farti vivere al meglio, e lavorare in uno spazio gradevole e non faticoso. Anche se poi, immagino, arrivi sempre il momento in cui devi farti un mazzo tanto per portare a casa la soddisfazione del cliente.

image

Andrea Benedetti mi ha raccontato delle tendine frangi-sole e del sistema di climatizzazione completamente governati da un sistema IoT. Mi ha raccontato tante piccole caratteristiche della Microsoft House che onestamente mi hanno proprio reso orgoglioso di far parte, nel mio piccolo, del mondo Microsoft, da appassionato e da professionista quale sono.

image

E’ stata una mattinata unica, e probabilmente ne vivrò tante altre, nei prossimi mesi ed anni, quando si terranno eventi community. Già adesso non vedo l’ora.

Una cosa che mi ha molto colpito è la più completa insonorizzazione degli ambienti rispetto alla città. Già mi immaginavo di sentire auto, sirene delle ambulanze a tutto spiano, fastidiosi clacson, frenate, etc. etc. Nulla di tutto questo. Microsoft House è un piccolo paradiso in una grande città caotica. La foto qui sotto è stata scattata dall’ultimo piano della sede; il traffico non era molto, sebbene fossimo in piena mattinata, questo è vero, ma vi posso assicurare che non si sente assolutamente nulla. Si lavora in tranquillità e belli concentrati.

image

E poi?
Chiamato dai suoi impegni di lavoro, Andrea mi ha ovviamente salutato, non prima però di aver scattato una foto assieme nell’atrio di Microsoft.

image

E poi…mi sono parcheggiato, ho acceso il PC, ho scaricato le foto dal mio cellulare, ho scritto qualche mail, ho partecipato ad una call con capi & clienti. Alle 12 sono uscito da Microsoft House, ho mangiato lì nei paraggi (ci sono pizzerie, ristorantini e baretti di ogni genere e tipo), mi sono reinfilato nella metropolitana milanese per raggiungere un cliente che mi aspettava nel pomeriggio.

Grazie Andrea Benedetti per avermi fatto da guida turistica d’eccezione (il suo tempo è poco, ed avergliene rubato un po’ mi galvanizza) e grazie Brain-Sys per avermi concesso una mattinata di tempo. Grazie Microsoft per continuare a trasmettermi voglia di scrivere software.

Send to Kindle
My daily work

Focus Day del 16 Giugno! Flash Mob(ile)!

Vi piacerebbe avere i rudimenti per sviluppare una versione minimal di WhatsApp in poche ore…diciamo nell’arco di una giornata lavorativa, dalle ore 9:30 alle ore 18:00, partendo dal backend fino ad arrivare su tutte le piattaforme mobile??

Se la risposta è sì, questo è il Focus Day che fa per voi.

Cordova

Il prossimo 16 Giugno, Overnet Education ha organizzato una giornata battezzata Flash Mob(ile). Gli speaker saranno, nell’ordine, Ugo Lattanzi, il sottoscritto e Gabriele Gaggi. L’idea è la seguente, riportata parola per parola dalla scheda dell’evento:

La giornata è pensata per  aziende, sviluppatori e liberi professionisti che vogliono toccare con mano le più recenti tecnologie di sviluppo per applicazioni mobile. ASP.NET Core distribuito attraverso Docker per la parte di backend, e applicazioni mobile cross-platform per il frontend. Queste ultime verranno sviluppate sia tramite tecnologie in ambito Web (Cordova) sia tramite tecnologie di sviluppo nativo (C#, XAML e Xamarin Forms).

Si tratta di un evento a pagamento (costo alla portata di tutti). Non è pensata per essere una giornata di teoria accademica, ma un vero e proprio laboratorio pratico dove ciascuno dei partecipanti avrà a disposizione un suo PC per poter scrivere il codice che via via vi spiegheremo. Potete avere tutte le informazioni del caso a questo indirizzo. Scrivetemi pure in privato, o se volete commentate pure qui sotto, se avete dubbi o volete fare qualche domanda in merito. Cercherò di rispondere in prima persona, altrimenti girerò la richiesta a chi di dovere.

Send to Kindle
My daily work

San Valentino in trasferta

Esci dal cliente alle 17:30, prendi il pullman che ti riporta in hotel. Entri in camera, metti sotto carica il cellulare, ti rilassi un’oretta, poi esci per cena. Sei solo, in trasferta, e realizzi solo ora che è la sera di San Valentino. Cosa significa questo?

Significa che tutti i ristoranti hanno solo tavolini per due, sono tutti prenotati, hanno tutti un cuoricino come addobbo. Sei in città, gironzoli a vuoto per il centro storico, serpeggiando per viuzze strette e larghe. Cominci ad optare per una piadineria, per una rosticceria qualsiasi, alla ricerca di un trancio di pizza o qualcosa di simile. Ti fai aiutare da Trip Advisor e da Google Maps. Tu passeggi solo sempre più affamato, mentre pian piano arriva l’ora delle coppiette che raggiungono il loro tavolino nel ristorante in cui hanno prenotato per questa sera (speciale?). Le vedi arrivare verso di te: lui e lei che si tengono stretti, le ragazze tutte vestite carine, i ragazzi tutti bellocci. Le ragazze con gonnelline svolazzanti o pantaloni neri lunghi. I ragazzi con cappotti col bavero alzato. Le ragazze truccate alla perfezione. I ragazzi con tutti i capelli ben pettinati. Tacchi e mocassini.

E a te manca lei, che è a centinaia di chilometri di distanza. E faresti carte false per averla lì con te. Per poterla baciare, abbracciare, per poter sentire la sua voce o la sua risata. Ed invece non c’è, se non nel tuo cuore. Ma non basta. Passeggi e cammini. Passi davanti a piadinerie e rosticcerie che ci sono, ma che sono deserte, comprese le teglie che dovrebbero invece ospitare tranci di pizze margherite o piadine con fontina e prosciutto. Tiri dritto, e ritorni pian piano verso il tuo hotel.

Ed eccolo lì, a poche decine di metri, il posto che cercavi. Una pizzeria da asporto aperta, illuminata, piena di gente come te che la sera di questo San Valentino è in trasferta, è in una città che non è la sua. Entri, ordini qualcosa, bevi una coca. Sei pieno e sazio. Il tuo stomaco è pieno e sazio, solo quello. Il tuo cuore rimane triste e solo, ma non ci puoi fare nulla.

Ciao San Valentino, all’anno prossimo!!

Send to Kindle
My daily work

Scusi, mi rifà il programma?

Questo post è basato su fatti realmente accaduti.

E’ successo. E’ ricapitato. Per l’ennesima volta, è riaccaduta la stessa cosa.

Un potenziale cliente vi contatta, vi incontrate, chiaccherate per la prima volta su quello che dovrà fare il meraviglioso software che ha in testa. E per l’ennesima volta devi ricostruire, riprogettare da zero, un software già esistente, scritto lustri prima in MFC, o in Visual Basic 4.0, o in Access 97 o addirittura 2.0. E chiamano te per riconvertirlo e riprogettarlo in .NET, magari perchè si sono accorti che non sono più competitivi sul mercato, perchè il codice è diventato ingestibile, perchè vogliono avere l’app sotto iOS o Android, o per mille altri motivi. Non c’è documentazione, c’è solo un gruppetto di persone che sanno perfettamente cosa deve fare il software, ma non c’è nulla di scritto e di formalizzato. Non c’è nulla di male in tutto questo, d’altronde lavoro è lavoro.

Tu, con il tuo bravo e fidato Visual Studio, vorresti cominciare lo sviluppo di questo software magari con DDD, scrivendo le classi e pensando accuratamente il dominio applicativo, quindi – per farla breve – approcciando ad una metodologia code-first. Prima le classi, in seguito la logica, poi penserai al modello di persistenza. Ma il tuo cliente ragiona diversamente; come accadeva decenni fa (quando il suo software è stato scritto la prima volta) ragiona partendo dal database. Per lui è essenziale vedere lo schema del database, per capire se stai scrivendo la cosa giusta. Prima di vedere anche una sola linea di codice C#, vuole vedere le tabelle, le relazioni, i campi ed i nomi dei campi come piacciono a lui.

Di fronte ad una situazione di questo tipo, ci sono tante strade. Ne cito due.

  1. Tu ragioni sempre e comunque code-first. Scrivi le classi e lasci che sia l’ORM (Entity Framework?) a generarti tutto il mondo della persistenza relazionale. Ma siccome per il cliente lo schema del database è fondamentale – dal quale dipende il Supremo Destino della nostra Galassia – allora cominci a litigare con attributi o con vagonate di codice, per educare l’ORM a generarti lo schema del db esattamente come lo vuole il cliente
  2. Ti arrendi all’evidenza e cominci a progettare il database. Quindi segui il modello database-first. Fattibile, no? Al massimo, parlando di Entity Framework, una volta creato il database puoi farti comunque generare le classi tramite l’approccio “Code First from database”. Così al massimo puoi attivarti le migration…

image

Il discorso, a mio avviso è semplice. Se vuoi portare a casa la pagnotta, al cliente devi comunque dare retta. Se il tuo committente, magari perchè è stato educato male, ragiona partendo dal database, purtroppo non puoi farci nulla. Io poi parto da un semplice presupposto: se hai chiamato me, non vuoi semplicemente uno che digita o scrive codice, ma vuoi uno che ci metta la testa. Però non sempre si ha questa possibilità, per diversi motivi.

Detto questo, il primo approccio è code-first solo in apparenza. Tecnicamente cominci scrivendo un sacco di classi, ma in realtà nella tua testa sei costantemente traviato da ciò che dovrai ottenere come struttura sul database. E’ solo un palliativo, insomma. Scrivi una classe, e poi via…tonnellate di codice nel metodo OnModelCreating di Entity Framework per piegare ai tuoi voleri l’ORM. Burp, equivalente al ruttino.

Il secondo approccio è a tutti gli effetti database-first. E se il cliente ragiona in questo modo, che male c’è? Siamo pagati per scrivere un software o per fare gli accademici? Quindi, che male c’è ad aprire il Microsoft SQL Server Management Studio, stendere tutte le tabelle, campi, relazioni, e poi importarle via Entity Framework? In questo modo il cliente è soddisfatto, io ho le mie classi su cui poi cominciare a sviluppare. Se il progetto è di una certa importanza e/o durata, ci sarà magari tutto il tempo per guadagnare stima e fiducia verso il cliente, e ci saranno tutte le occasioni per indirizzarlo verso strade e percorsi più moderni allo sviluppo del software.

Send to Kindle