Learnings after five years in Google

Recently, I had my fifth Googleversary, meaning 5 years have been passed since I joined Google. In retrospective, it was a flash. An intense, extremely challenging, always learning, positively stressing and joyful flash. A lot has happened and I want to write down some notes on the most important learnings I’ve had.

Disclaimer: this is not a post on Google culture, there are several and more authoritative voices than mine, and the complexity of a company made by tens of thousands people all over the world doesn’t allow to have a “common culture and experience to fit them all”. This is, simply, a wrap-up of my very own peculiar journey.

I spent these 5 years in Developer Relations team we call “DevRel Ecosystem” with the mission of nurturing influencers and their communities all over the world to boost Google technology advocacy, adoption, quality, and perception. So, interacting with tech communities, startups, third-party tech conferences, universities, organising Google-own events etc. Partially a manager of community managers, partially a lot more. I often sign emails for my Italian colleagues with “Your friendly neighbourhood dev-sitter“.

Learning day by day

In DevRel-focused conferences I attended, we often define us a “community of practitioners” because we’re literally crafting our own job day after day, and very few companies have the DevRel org structure and needs Google has: definitively a job with no repetitive tasks and where personal initiative is a key element. For me in particular. I left my job as Android dev in Funambol on Friday afternoon after a mojito party with colleagues, flew to San Francisco 14 hours later, on Monday moved to Mountain View for my first day in Google for the welcome training to collect my badge and laptop. Then the second day back in San Francisco attending Google I/O, thrown into the nonsense madness of such big events, with no idea about my role there, who my team and my colleagues were, even where my manager was and how to reach him. With 5000 attendees asking me any sort of things because I was a Googler. The week later, back in Italy, during my first one-to-one call with my manager, I asked him “Now that I/O is over, what’s the next step for me?” and he replied: “Well, we hired you because you know the Italian dev ecosystem better than me, so it should be you telling me”. When the meeting ended, I banged my head on the table multiple times, thinking about my life just 12 days before, when I was an happy Android dev, shielded from the external complexity of the world by the comfortable shell where every dev “code, breath, repeat”.
So, from that second day in San Francisco onward, I’ve been exposed to a continuous and unique learning experience with lot of autonomy. Everything has been a great playground where exercise my Kaizen approach to life, to learn and improve. But it hasn’t been easy, kind of an endless and restless run, where I was alone and on the wild for the first three years, until I had the first team-mate sitting my side, sometimes a marathon but often a sprint, always with a potential stress factor behind the angle. I still enjoy it because the way I am, but I recognise is not for everyone.

Relevancy, focus and happiness

Easy to imagine, this generated struggle in my work-life harmony, especially at the beginning. Because I’m more toward the perfectionist side, I believe there is always room for improvement: in crafting the idea, organising a project around, execute it and sharing back the experience. And the cost of this perfectionism is my time. During some stressful moments, my whole day time. Luckily, two epiphany moments helped me to find an initial harmony.
First one happened when a colleague said “This company is a machine that produces more tasks than you can manage“: I understood I have to accept the fact I cannot do everything I would love to do within the full and huge spectrum of potential activities available. So, being good in the prioritise only the very relevant balls you want to juggle with and understand what is that relevant in the company context were crucial steps to grow. In DevRel org, and in Google in general, we have so many projects, opportunities, stimulus and extremely unique challenges not yet solved that, added with the positive anarchic culture of the team, it’s easy to lost the north if there is a lack of focus.
The second moment was when my first son was born. In choosing how to spend the non-working part of the day, I’ve always been driven by the approach “use your time to find happiness pursuing your passions and embracing new learning occasions outside your comfort zone“, and being a father added duties that changed the entire time balance of my day. After some try-and-make-mistakes cycles, and thanks to meditation, I understood differentiating among family, personal, work, relax etc time had no sense, that my day is a continuum and finding what’s really relevant in different contexts, over a period, and stay sharp-focused on these things only, and literally nothing else, creates the harmony I need, allowing me to don’t feel overwhelmed, but happily busy and alive. It’s impossible to catch up with everything, quality over quantity and whatever makes people around me happy is time well spent: my family first, then all the rest in no particular order, including my team members, my users, my friends, my manager, myself etc. I haven’t found the perfect harmony yet and it still happens I need to sacrifice some extra hours of sleep but, if I look back, overall life now is better than before.

Servant leadership and team culture

I started to lead a team of 6 people, more or less two years ago, and I discovered that is not an easy task, it’s time consuming and it’s also one of the most empowering experiences I’ve ever had. Leading the team, for me and probably also because of company culture, has something in common with the role of a community manager: you are there for the development of the community with no room for your personal ego; you’re successful only if the community is successful and community members are happy to be in your community; you cannot change or control community members, only guide and help them evolving with your influence and support; a sense of community (team culture) is necessary for the community to survive in the medium-long term.
Because the way I am, my team management style resonates very well with the concept of servant leadership, and the team culture is the glue that keeps us connected together. A culture where it’s OK to make mistakes, but always new ones, where we all have a clear vision, concrete goals and we run all together toward them activity after activity, where we retrospective what’s happened and plan the future all together regardless our roles or seniority, reserve a little bit of our own time to experiment with new things, disagree and commit, provide gentle feedback to others, focus on our own sweet spots and try to connect them together in order to cover as much as we can as a team, know the reasons, the core whys, we are doing what they’re doing, in order to match personal passions with team duties, lead by example.
A team where we share and discuss the ideas we have to improve and solve the projects we’re working on, because when ideas circulate, everyone can enrich them and an open and sharing culture allow to achieve more, both from results and personal growth side. It’s not easy to achieve that while we’re spread across 4 countries and 2 different time-zones, but it’s one of my main responsibilities as manager to allow circulation of these things, and the chats I have with everyone, at least one hour every week, a weekly meeting to share and plan together the next days and a 2-days in person summit three times a year, all together, have been making the job, at least until now.
Merits are assigned on the ownership and the execution of the projects and I would consider a personal failure if a person joins the team and later leaves it with no new ideas, new tools, new experiences, new perspective in its pockets. Does it means we’re all good friends? No, but we like to spend time together, to solve and work on professional needs and, sometimes, also for personal pleasure.
Among the many resources on the topics, I suggest the podcast “The Andy Stanley Leadership Podcast“, a monthly source of invaluable resources on leadership topics, and the book “The 4 Disciplines of Execution“, that helped me to align the team toward unique goals and improve ways to pursue them, quarter after quarter.

Forgiveness, charisma and data

Moving inside a corporate environment isn’t always easy, and I’ve experienced moments where I felt like chained to the ground due to other colleagues behaviours and decisions, luckily very few times during these five years. Once one of my managers told me “When you have such energy and you know what you’re doing, you should ask for forgiveness and not for permission“. It was an important lesson of humility, trust and maturity together, even if I don’t think it can work in all the companies, but Google culture may tolerate that, sometimes and if you choose carefully.
Nowadays I prefer the “influence with charisma” approach, even if it’s slower and more difficult to exercise, but allows a broader impact and when politics start getting into the environment, it’s the only way of achieving what I hope to be able to achieve.
On top of both approaches, I’ve learnt availability of data to support my opinions really can make the difference. Quoting Barksdale, “If we have data, let’s look at data. If all we have are opinions, let’s go with mine“, so having good data to use can put everyone in an advantage position. Of course collecting meaningful data is another art to master, requires discipline, it’s an ongoing process to improve every day and often not easy to keep focused on the non-vanity metrics or researches. And have a good narrative to tell others that data is equally important.

Remote working

Another element I now consider a crucial asset of my job is the possibility to remote working. I have two hours commute time daily and, even if I’m able to work the majority of this time, even if I value the fact I arrive at the office already focused on the next steps and I can dedicate extra time to cool down or finish some tasks on the way back home, even if offices in Google are, generally, among the best I’ve seen in companies, working remotely has way more value than money and time saved. Context matters, and be where I want to be, in a park breathing the blooming spring smell, relaxed at home, next to a person I care, provides an incredible flexibility everyone should be able to experience.
It doesn’t come for free, of course. First, and foremost, a proper remote working culture is required. It starts from a personal responsibility to commit your duties, be easily reachable for the people that need you (hardware equipment, bandwidth quality and reliability, time availability etc), soft skills to interact with the others over a remote conversation, team processes calibrated around this scenario and more. Google offers rooms where I enter, press a button on a display on the table / monitor and I’m connected with the other sides of the meetings: it’s fantastic to have this no-entry level barrier to interact.
Finally, a good balance between remote and office work is necessary, as remote cannot totally substitute in-person presence: the chance others can enrich what I do is simply not available when I’m far from them, coffee machine chats are really a thing, the importance of bonds with colleagues outside working topics, how quickly some questions could be solved simply going and speaking with someone.

Value diversity and have an open mind

Google has immersed me in a hugely diverse environment that can really boost everyone’s personal growth, because of a real multicultural, time-zones and countries spread workforce, where is possible to still make new discoveries after years. I don’t mean only gender diversity, but the whole set of diversities. As for remote working, simply putting together diverse people doesn’t make the magic, and there are several prerequisites needed: among the many, the perception of an open environment, in term or reciprocal respect and trust, freedom to be themselves, possibility to make mistakes, availability to receive feedback and suggestions, understanding of implicit biases we all have and how to deal with them, a personal availability to put additional care to what’s happening around us, that our opinion is simply one of the many and not always the best one, the ability to say a sincere sorry when mistakes are made.
Travelling is another great possibility I have, and inside my team is relatively easy to go everywhere in the world if there is a reasonable working reason. Of course I try to avoid serial travelling (mostly because of I have a family), but meeting colleagues where they live and, thanks to my job of manager of community managers, I can breath the local environment and meet local people, listen to them, go where they go, be a guest, not a tourist, in the local ecosystem.
Nothing more than a semi-empty mind, ready to be filled by the context and able to adapt to it, helped me growing. Because what’s around me is the mirror reflecting, so shaping, who I am.

Put on user’s shoes

Every DevRel role depends on the external users and their (hopefully) happy relation with your products: I value this continuous exposition to the external world as an incommensurable treasure. It fosters diversity, keeps my mind open, allow a flow of new ideas. Even if one of Google’s mantra is “User first”, I’ve sometimes interacted with people maybe too closed in their own bubbles. And this is one of the biggest differences between a well-established company mindset and a successful startup mindset I’ve discovered: startup is forced to always have users and their needs in mind, and the rent to pay the roof covering employee’s heads depends on this ability to understand the customer and speed in execution thanks to a razor-sharp focus. In a well-established company, instead, generally that hurry is less perceived because there is a fix salary, and sometimes a manager / the team / the org / internal complexity / processes could become “the ultimate customer”. After all, putting on user’s shoes is not trivial and exit from the comfort zone requires effort, so making assumptions or serve a different master than the user is the quickest and less painful way. In short, be lean.
Luckily, interacting with “influencers” of the tech ecosystem, like community members, conference organisers, experts in their own tech field etc, remembers me where my attention should focus, my last goal in everything I decide to do, how bad is to expose them internal company complexity, to assume nothing, the many learning occasions this “exercise” can provide me. I’ve found this attention to put myself in someone else’s shoes extremely useful also when dealing with colleagues, friends, family, random people: everywhere there is human interaction.

The one big fight I had. And it was with myself

I want to close this long introspective journey with the most traumatic experience I had in these 5 years: it was about the switch I did from being a developer to cover a Developer Relations role, dealing with communities, project management and manage a team. After the initial period, where the lack of time to code was well surrogated by all the unicorns and rainbows of a new job in Google, I started to realize weeks could pass without me writing a single line of code. I was warned about that, nevertheless was a huge internal conflict to deal with. I wrote my first program when I was 13, I started my first full time job as developer at 19 and I moved to Google when I was 33: nothing less than 20 years dedicated to the art of coding. If you’re passionate about development, you know it’s not a 9to5 job. It is, instead, a passion, maybe even a curse, a delicious curse to deal with, because we’re all happy to pay such high time and commitment tribute in exchange of the positive emotions derived from the happiness of creation, the satisfaction of bringing order and logic where chaotic and unmanaged information was, the pleasure to discover new stuffs and challenge ourselves using them to improve, the pride in teaching others about our craftsmanship. And after 20 years of days and nights immersed in this world, shaping and measuring my professionality and myself through the lens provided by it, switch and reinvent who and what I am was deadly hard.
How I solved it? First, it was something I wanted, it wasn’t an unexpected shift. Then, I’ve applied introspection, a development plan and discipline: I first understood coding wasn’t the only thing able to keep me happy, but I’ve found sweet spots in other areas of my job with positive and impactful effects on me, in particular dealing with communities and supporting them. Then I posed myself the question: “How do I see me in 5 to 10 years from now, both personal and working life, maybe still in Google, maybe not?“. Again, lot of introspection through meditation, and I was finally able to figure-out a satisfying and actionable reply. Now, it’s just a matter of discipline to keep connecting the dots between what I’m now and that picture of myself in the future. And, in the meantime, smile, breath, live and help others to smile too. Let’s see in five year from now ;)

If you’re curious about my life in Google, there are other posts to read.

Cosa hai fatto ogni giorno per insegnare il bene, per insegnare l’amore

Oggi, forse, ho aggiunto un altro tassello importante nella ricerca introspettiva della mia ragione di vita, del mio “perché sono qui e ora”, dopo che qualche tempo fa ho finalmente riconosciuto a me stesso, e accettato con gioia, che la vera essenza di quello che mi rende vivo, che mi dona il sorriso, è aiutare le persone a migliorare la loro condizione. In qualunque ambito o situazione, esercitandomi e crescendo nella compassione, con un’accezione più buddista del termine, rispetto al significato latino. Senza la pretesa di aiutare solo “chi ne ha bisogno”, perché la disarmante e candida realtà è che tutti abbiamo bisogno di aiuto, e tutti ne meritiamo.

Ieri ho visto un tweet che parlava della Siria e di come, probabilmente, siano state usate armi chimiche sulla popolazione, con foto di bambini all’ospedale. Oggi leggo un altro post, e da li un altro ancora, ma dello scorso anno. Le immagini mi colpiscono con una forza devastate, sento il profondo bisogno di fermarmi e meditare per non lasciarmi scorrere addosso questa sensazione. Una sensazione che ha risucchiato in un lampo tutta la mia energia, mi ha lasciato grigio e senza sorriso, in un buco nero profondo come la tristezza, lo sconforto e la passiva accettazione negli occhi dei bambini delle foto. Svuotato del mio giallo.

Le facce di quei bambini mi fanno pensare a quella di Leonardo. Grazie a lui sto scoprendo quanto un bambino piccolo sia totalmente indifeso dalle azioni di altri e ne possa solo subire le conseguenze, con una tale capacità di accettazione solo perché ancora sta imparando come si vive. Quando gli succede qualcosa di inaspettato non si arrabbia, al massimo piange, cercando di apprendere e di normalizzare, di creare così la sua aspettativa su come funziona il mondo diventando, per emulazione, parte stessa di quel mondo a cui viene esposto. Essere così innocenti nell’approcciare la vita, così indifesi e in balia dell’ambiente che li circonda, così genuinamente aperti a qualunque cosa accada, mi fa spesso riflettere sulle implicazioni profonde e immense dell’avere la responsabilità sulla vita di qualcuno, sulla sua crescita. Nei loro occhi ho visto gli occhi di mio figlio e di tanti altri bambini che incontro in giro, e mi ha fatto male. Tanto male.

Le foto di una guerra, l’ennesima, che ha portato i bambini all’ospedale, i dottori che provano a ricucire cicatrici, fisiche e mentali, che sappiamo tutti non passeranno mai realmente. E dell’innocenza dei bambini a cui viene imposto tutto questo. C’è sempre un piccolo dubbio che mi rimane quando sento dire che “i civili non hanno colpa in una guerra”, perché in una visione più olistica magari anche il perpetrare una cultura che non ripudia completamente l’odio, ma lo supporta anche solo con quasi impercettibili sfumature giornaliere, può contribuire a portare la guerra all’uscio di casa. Magari, sottolineo ancora. Ma ora, da genitore, non ho il minimo dubbio che i bambini siano innocenti e che sia inequivocabilmente sbagliato e ingiusto esporli a questa forma di male, di dolore, di crudeltà. Anche, più banalmente, a piccole occasioni di non-amore: da quando vengono maltrattati per la noncuranza o egoismo di qualcuno (ancora ricordo la sera al pub con una mamma che aveva lasciato il bambino solo per almeno due ore, a giocare al tavolo con il telefono, mentre lei parlava al bancone con altre persone, e gli occhi tristi di quel bambino e di quante volte avesse chiesto di andare via o di andare a dormire), a quando li si sgrida per colpe che non hanno, ma che dipendono da nostri comportamenti o aspettative. Figuriamoci coprirne il corpo con del sangue, loro o di altre persone. Non hanno colpa di essere li, non hanno deciso, stanno semplicemente subendo le decisioni di altri.

E, durante la meditazione, ho realizzato con chiarezza due cose:  la prima è che non si può combattere per il bene, è un ossimoro. Ma si può provare a diffonderlo, ogni singolo giorno. E la seconda è che, pur non avendo ancora afferrato il “perché sono qui e ora”, nel frattempo voglio misurarlo sul cosa ho fatto ogni giorno per insegnare il bene, per insegnare l’amore. In attesa di arrivare a capire il senso stesso delle mia vita.

Non posso salvare tutti i bambini esposti alle guerre e alle occasioni di non-amore quotidiane. Ma insegnare è il cardine, è l’atteggiamento attivo potenzialmente in grado di portare un cambiamento. Senza, vincerebbe ciò che istintivamente siamo in termini evoluzionistici: esseri viventi con un forte individualismo che lottano per la loro sopravvivenza e supremazia. Un individualismo antitetico al nostro tendere a diventare esseri sociali. Individualismo che, alla fine, porta a bombardare i bambini con armi chimiche.

Per referenza, queste sono le tre foto, tra le molte presenti, che mi hanno colpito piu’ di tutte. I crediti vanno ai rispettivi fotografi (Sameer Al-doumy e Abd Doumany),

CodeTheFuture @ Frog Milano, NinjaBoo e un altro hackathon nello zaino

NinjaBooSperimentare, stupirsi, scoprire nuovi tool ed esplorare scenari innovativi e divertenti anche se un po’ strampalati. Questo il mio approccio quando partecipo ad un hackathon, e CodeTheFuture, organizzato da Frog Design a Milano, non ha fatto eccezioni.

Su cosa mi sono divertito stavolta? Grazie a Fiorenza che ha portato un MindWave (e che ci ha messo l’idea di base), ci siamo giuggiolati nel creare una specie di nascondino mind-powered. Ambientato in un dojo dove si addestrano i ninja, lo scopo del gioco di tutti i giocatori e’ quello di scovare gli altri e fare un bel “Boo” alle spalle per farli spaventare e fargli perdere una vita (spavento rilevato appunto attraverso il MindWave). Ma attenzione, perche’ se si e’ troppo agitati mentre si va alla ricerca degli altri, il proprio smartphone inizia a suonare ed illuminarsi, rendendo piu’ facile essere trovati. Insomma, occorre essere calmi e letali nel fare “Boo”, controllo che solo i veri ninja sanno avere. Cosi’ e’ nato NinjaBoo.

Tecnologicamente parlando, io e Fiorenza ci siamo occupati di creare l’app Android che gestiva il gioco e leggeva i dati del MindWave, Christian ha realizzato il backend in PHP per raccogliere i giocatori partecipanti e tenere aggiornata la classifica delle morti di ognuno durante il match (rilevate e trasmesse dallo smarthphone) e poi ho creato un’app su Android Wear per avere sotto controllo le proprie morti e il tempo mancante alla fine del match con un semplice gesto del polso. Tutte le lodi del mondo a Laura che, da brava visual designer, ha saputo rendere la nostra idea bella, presentabile e usabile!

Un paio di considerazioni sul MindWave sono d’obbligo: Collegabile via bluetooth, l’aggeggio legge le onde celebrali, fa i suoi calcoli e restituisce tre valori: livello di emotivita’, livello di attenzione (entrambi su una scala discreta da 0 a 100) e occhi chiusi o aperti, una o due volte al secondo circa. Questi due valori hanno andamenti direi “un po’ bizzarri”, pero’ in situazioni abbastanza stabili sono accettabilmente veritieri. Ad esempio, ascoltando una canzone che piace, il livello di emotivita’ e’ quasi sempre a fondoscala e quello di attenzione quasi sempre vicino allo zero, perche’ l’azione e’ qualcosa che facciamo con piacere e quasi distrattamente. Se invece cantiamo la stessa canzone, anche l’attenzione sale di molto, visto che cantare impegna molte risorse (seguire il testo, ricordarsi le parole, modulare la voce, cantare ecc). Anche pensare a certi concetti felici fa salire l’emotivita’ e mantiene bassa l’attenzione, ma pensarci troppo fa salire quest’ultima. Insomma, due valori sono pochini per fare grandi “letture del pensiero”, ma quando si considera il contesto, allora qualche deduzione e’ possibile. Con questo approccio abbiamo “intervistato” dei volontari scelti mettendoli a loro agio, facendo domande facili e tranquille, e poi spaventandole improvvisamente per registrare come variavano i loro livelli (come valori nel tempo), e alla fine abbiamo trovato un modello accettabilmente preciso che rilevasse questo picco di paura. Divertentissimo, per noi sicuramente, per gli intervistati forse un po’ meno ;).

Pur essendo ancora troppo invasivo per passare inosservato, gli scenari che si aprono sul suo utilizzo sono comunque molteplici. Interessante pensare ad un prof o un relatore che riceve feedback immediati sul livello di attenzione (e di occhi chiusi) durante la propria lezione direttamente da MindWave indossati dall’audience, cambiando stile di presentazione oppure rompendo gli schemi quando questo scende troppo. Inoltre una sessione di laser game (o soft air) offre il perfetto scenario dove indossarli, dovendo gia’ portare un casco. Che dire: siamo agli inizi, ma la percezione che ne vedremo delle belle ed interessanti e’ davvero forte.

PartecipantiParlando dell’hackathon in se’, giudizio piu’ che positivo, esperienza da consigliare! Cercando il pelo nell’uovo, c’e’ qualcosina che avrei organizzato diversamente. Piccole migliorie nella cura dell’ambiente soprattutto. Ad esempio con musica durante l’evento: vero che si possono sempre usare le cuffie, ma mettersele automaticamente ti isola. E in un hackathon contaminazione e condivisione sono tutto. Inoltre, nonostante pranzo e cena siano stati davvero di qualità, avrei aggiunto qualche snack, delle barrette, un po’ di frutta e paninetti sparsi per calmare i morsi della fame durante il resto del tempo. E magari anche l’orario: con lo stop al codice alle 21 e proclamazione dei vincitori alle 23.15, chi doveva tornare a casa lontano da Milano non ha avuto vita facile. Infatti dei ragazzi di Roma sono dovuti scappare appena fatta la loro demo (tutto il mio rispetto per essere venuti), io ho preso l’ultimissimo treno utile per Pavia e i ragazzi di Bologna anche avevano almeno un paio d’altre ore davanti per tornare a casa. Comunque puntigli, niente di piu’.

Pensando invece a cosa e’ andato magnificamente, direi su tutto il numero di partecipanti: avere 5 team a presentare gli hack realizzati ha permesso di scendere nel dettaglio delle idee, *giocare con i prototipi realizzati* (e non con 3 slide a team da mostrare in rapida successione nel mezzo di un susseguirsi ininterrotto di altre presentazioni), fare domande, discutere. Sorridere e non sbadigliare. Ed ha anche permesso ai design di Frog di seguire i vari team, fornire supporto e cultura dalla fase di brainstorming a quella di presentazione, a me di scoprire gli hack degli altri team durante la giornata, un po’ dando una mano con qualche problema da risolvere, un po’ curiosando. Tutto ossigeno per la mia mente!

NinjaBoo, the winner team of CodeForFuture Come dicevo all’inizio, adoro gli hackathon perche’ sono il vero (e direi anche unico) momento creativo di un team (dev e designer) libero da ogni vincolo di obiettivo necessariamente significativo. Puoi tentare un’idea, disegnarla e codarla perche’ ti piace, sperimentando nuovi tool (ma dove ero io quando hanno pubblicato Retrofit per Android? Tutte le librerie dovrebbero essere fatte cosi’ bene!!) per il solo gusto di metterci le mani sopra. E’ il momento magico del dev per uscire dalla propria zona di comfort ed esplorare. Rischiando solo un po’ del proprio tempo, ma ricevendo in cambio sensazioni positive, cultura e, soprattutto, un sacco di nuove e utilissime interazioni sociali. E no, non devono essere necessariamente l’occasione per “fare una startup”, ci sono altri eventi per quello.

Vabbe’, puoi quando vinci anche, allora “Everything is awesome“! ;)

Un altro hackathon, un’altra bella esperienza da ricordare

HackItaly 2013“Se ci sono cose che senti come parte di te, e’ inutile combatterle o reprimerle, piuttosto dai loro corso, e troverai la felicita'”. Con questa autocitazione d’altri tempi in mente, dopo una pausa forzata durata quasi due anni, ho deciso che era il momento di sporcarsi nuovamente mani e piedi con il codice, perdere un bel po’ di ore di sonno, pensare a come realizzare un’idea infattibile in un tempo improponibile. E via, macchiva direzione HackItaly Camp.

Nessuna cronaca dell’evento, ma solo alcune considerazioni di varia natura.

La prima: perche’ lo fai? Questa e’ facile: perche’ abbiamo l’obbligo morale di vivere quanto piu’ possibile nel nostro stato di flow. E quando codo durante un hackathon, a me capita proprio questo. Totalmente perso nell’idea da implementare, irrimediabilmente assorbito nella bolla che l’evento crea per le 7/10/12/24 ore della sua durata, appassionatamente immerso in pensieri creativi. Avere gia’ chiaro quello che ti aspetta mentre le tue mani danzano, quasi da sole, su quello che stai ancora facendo. Solo possibilita’, qualche problema da risolvere che separa da queste, e la piu’ completa, disinteressata e coinvolgente gioa del fare. Fallire, perche’ tra la fretta, la stanchezza, i cambi di luna e le distrazioni, di errori ne fai tanti. Ma poco importa, perche’ si va ad un hackathon per immaginare, per creare, per divertirsi. Materia creativa allo stato grezzo, di colore bianco puro: tutto dipende dalle tue decisioni e dalle tue capacita’. E’ una delle piu’ belle palestre per crescere nella consapevolezza dei propri limiti.

La seconda: con chi lo fai? Con chi so capace di condividere questo tipo di approccio. Se poi sono amici di lunga data o ragazzi conosciuti sul momento, poco importa. La bella cosa dei dev, quelli veri, e’ che non fanno distinzioni di titoli, stato sociale, ruolo sul lavoro o esperienza. Se vedi che anche l’altro (o l’altra) ha quello sguardo furbetto di chi sa titillarsi nello sperimentare, compiacersi di aver fatto una cosa nuova sbattendo e risbattendoci il muso, preso dalla tecnologia e dalla voglia di metterci su le mani (se riconosci in lui, insomma, alcuni tratti tipici dell’essere nerd), tanto basta per essere subito amici.

La terza: come potresti farlo meglio? Come per ogni cosa, c’e’ sempre spazio per migliorare. Grande cruccio di questi hackathon cosi’ grandi (saremmo stati in pocomeno di 300) e’ la gestire della fase di presentazione di quanto realizzato. Pitch di 1/2 minuti, per rimanere nell’oretta e mezzo di tempo, purtroppo spesso vanificano le 24 ore di lavoro, possono banalizzare le cose fatte dai team e diluiscono la passione e lo sforzo che ci sono voluti per ottenerle. Vero che l’importante di un hackathon non e’ vincere, ma divertirsi, pero’ la condivisione del proprio hack rimane un tassello fondamentale di quel divertimento, almeno per me. Perche’ insegno qualcosa, perche’ imparo moltissimo dagli altri. E ancora non sono riuscito a trovare una buona soluzione di compromesso, anche negli eventi che ho realizzato io stesso, Android University Hackathon compreso.

Inoltre, proprio perche’ creare il tuo hack ti assorbe cosi’ tanto, c’e’ il rischio di chiudersi in un ermetismo da sviluppo. Per ovviare a questo problema, oltre ad organizzare attivita’ sociali durante l’evento (cena ed altro), si potrebbero anche dare dei “punti socialita'” ai team che si impegnano, in qualunque modo, a rendere l’intero evento piu’ social, piu’ condiviso.

La quarta: cosa ti riporti a casa? Ovviamente del gran divertimento, nuove avventure condivise con i miei amici, le riflessioni fatte fino ad ora e il fatto che la multidisciplinarita’ che scaturisce dal contatto con gli altri e la voglia di buttarsi vincono sempre. Perche’ un hackathon, alla fine, questo ti insegna: essere dannatamente focalizzati verso un’obiettivo creativo, con il sorriso pero’ sulle labbra, assieme ad altre persone. Grazie a FrancescaPaolo, Marco per questa avventura :)

ll lunedi’ nero di Trenord (e anche il mio)


Un obiettivo: prendere l’aereo a Malpensa alle 11.10, partendo da Pavia il lunedi’ mattina. 88km di strada, in macchina ci si mette meno di un’ora. Diversi collegamenti ferroviari con treni frequenti, qualche alternativa anche via autobus, impresa fattibile. Soluzione scelta: Pavia – Milano Bovisa con treno S13 e poi Bovisa-Malpensa con treno Malpensa Express. Due ore stimate, con un po’ di cuscinetto che non fa mai male. E invece quando Murphy ci si mette, non ce n’e’ per nessuno. Cronaca di un’epopea che fa emergere diverse carenze di un’infrastruttura fondamentale di uno stato, quella dei trasporti.

Parto da Pavia con la S13 (che nasce proprio da Pavia), ma dobbiamo prima aspettare il passaggio sulla tratta di un altro treno con maggiore priorita’. Niente di nuovo sotto il sole, succede molto spesso (di norma 3 giorni su 5). Alla fine, arrivo a Milano Nord Bovisa con un ritardo di 15 minuti, tanto basta a farmi perdere la coincidenza con il Malpensa Express che sarebbe partito alle 8:42. Fortunatamente c’e’ quello delle 9.42, dovrei ancora farcela. E invece, arrivato in stazione, mi cadono le braccia.

Per alcuni non precisati motivi, tutti, ma proprio tutti, i treni sono in ritardo o vengono cancellati, con paralisi estesa della viabilita’ ferroviaria. 20/30 minuti se va bene. E’ un terno al lotto, le persone aspettano davanti al tabellone sperando che qualcosa arrivi, prima o poi. Leggo che il treno delle 9.42 ha 10 minuti di ritardo, dovrei farcela lo stesso. Mi dicono inoltre che il Malpensa Express, costando i suoi 11 euro, e’ prioritario e quello delle 8,42 e’ partito in orario. Bene. Valuto l’idea di prendere un taxi, ma alla fine rinuncio visto che, nonostante i 35 minuti di tempo necessari per percorrere 48 km che Google Maps mi da, e’ noto a tutti che non ci si mette mai meno di un’ora, a causa di ingorghi e problemi sulla strada. Il lunedi’ poi, mi dicono, ci vuole ancora di piu’, come minimo un’ora e mezzo. Sarei troppo al pelo, rinuncio. Con un treno invece che sarebbe arrivato di li a 10 minuti e che comunque ci mette 30 minuti per arrivare, sono abbastanza sicuro di potercela ancora fare.

Passano 10 minuti, il personale ai tornelli non sa niente, guardano anche loro il tabellone degli orari che ormai e’ diventato come l’oracolo. Alle 9.40, ancora 10 minuti di ritardo dichiarato, ancora ho speranze. Poi si fanno le 9.50, nessun binario annunciato per l’Express. Poco dopo i minuti da 10 passano a 20. E dopo altri 10 minuti, siamo a 30 dichiarati. Un ritardo in crescita progressiva. Alla fine, sui binari, il treno arriva con 35 minuti di ritardo. Corro all’aeroporto, l’aereo deve ancora arrivare per problemi a Zurigo ma hanno gia’ chiuso la procedura in imbarco bagagli e check-in: non si parte :(

Valuto alternative, cambi volo, altre compagnie: no way. Riparto per Pavia verso le 12, arrivo alle 16.30. Treni cancellati all’ultimo secondo e stessa storia anche sulla via del ritorno, 4 ore per percorrere questi 88 km, peggio della mattinata. In bici ci avrei messo di meno. Parlando con il personale delle varie stazioni, un tassello alla volta, riesco a capire cos’e’ successo: Domenica hanno cambiato gli orari dei treni, ma non hanno aggiornato i turni del personale, e senza capotreni e macchinisti disponibili, molti treni rimangono semplicemente fermi alle stazioni, spenti. Il problema c’e’ stato anche con gli altri operatori, ad esempio quelli ai tornelli, ma essendo solo una sessantina di persone, mezza giornata di forsennato lavoro manuale, qualche abaco qua e la, e dei turni d’emergenza sono stati approntati. Ma per gli altri, visto che sono di piu’, ci vorra’ molto piu’ tempo.

Stamattina (martedi’), dopo 24 ore, uno pensa che la situazione si sia normalizzata (eh, il mio animo da ottimista, smentito poi dai fatti). Pur essendo convinto che non ce ne sara’ bisogno, stavolta che ho l’esperienza dalla mia, appronto un piano di attacco degno di Sun Tzu. So che partono piu’ treni da Cadorna o Bovisa rispetto a Centrale, quindi confermo la soluzione del giorno prima. Parto 4 ore prima del volo, alle 7 da Pavia, cosi’ posso prendere il Malpensa Express delle 8 e qualcosa, 8.33, 8.42 e 9.42. Ben quattro treni di tolleranza, sembra un margine insensatamente precauzionistico, ma preferisco perdere ore in aeroporto che non partire neanche stavolta. Arrivato a Bovisa,  stessa storia di ieri. Ma non mi faccio trovare impreparato: inizio subito a chiedere al personale ai tornelli di farmi sapere se il Malpensa Express e’ partito da Cadorna oppure no, e alla fine li tampino cosi’ tanto che si accordano per farsi richiamare dai loro colleghi in Cadorna quando il treno sara’ partito, perche’ si accorgono anche loro che il tabellone degli orari non e’ affidabile. Il treno delle 8:33 arriva verso le 9 e qualcosa (anche qui con ritardi progressivi, fino alle 8:35 sembrava addirittura in orario dal tabellone), quello della 8:42 viene soppresso e non so che fine possa aver fatto quello delle 9:42. Ma sono arrivato sano e salvo in aeroporto.

Cosa ho imparato

Non mi fidero’ mai piu’ di Trenord, Trenitalia o Tren-salcavolo cosa. E un cliente che non ha fiducia in un servizio ma e’ costretto ad usarlo dato che non ci sono alternative, e’ una situazione a cui un po’ tutti i libri di marketing sconsigliano di arrivare.

Non basatevi sui cartelloni per sapere i ritardi reali: scassare sempre le scatole al personale per informazioni, e se dicono che non lo sanno, chiedere loro di informarsi alla stazione dal quale il treno dovrebbe arrivare, ed insistere, insistere, insistere. Con cortesia e gentilezza, ma insistere. Sono cose che loro hanno modo di sapere, ed e’ assolutamente inadatto il dover dipendere da un cartello. Per la cronaca, era in panne anche il sito m.viaggiatreno.it, che uso da tempi immemori per sapere i reali ritardi dei treni.

Un’informazione piu’ trasparente alla stazione aiuterebbe le persone a scegliere meglio eventuali alternative (bus, taxi, altro). E invece il servizio offerto nasconde molto, troppo. Come mai non indicano che il treno non e’ partito ancora? Come mai non vengono mostrati i ritardi *reali*, considerando che basta andare su m.viaggiatreno.it per averli, e quindi le informazioni ci sono e sono pubbliche? Come mai non si sa un cavolo di niente e bisogna aspettare, aspettare, aspettare? I gli stranieri, come li trattiamo?

Ma sara’ davvero il software che ha sbagliato oppure il problema e’ dentro un’azienda che, nel suo processo di burocratizzazione, si e’ dimenticata della sua funzione principale, quella di fornire un servizio? E’ normale che una cosa cosi’ importante come il cambio di orario sia andata male, sia sfuggita a tutti i controlli e simulazioni del caso e, dopo 36 ore, e’ ancora li che deve essere risolta? O e’ incredibile, o e’ un filino vergognoso. Oppure entrambe!

E per finire, una perla: avete notato che quando ci sono tanti treni in ritardo, i tabelloni vanno in panne perche’ non hanno piu’ spazio per mostrare i nuovi treni, quindi capita il paradosso che alle 8:43 siano mostrati solo i treni fino alle 8:40 e non tutti i nuovi?

#fail :(

Update: Dicevo di Murphy. Ecco, arrivato a Zurigo il mio aereo aveva piu’ di un’ora di ritardo, e quindi ho perso la coincidenza per San Francisco, rimando a Zurigo fino al giorno dopo. In pratica, Pavia – San Francisco 3 giorni, neanche fossi andato a nuoto :S

Perche’ saranno (anche) i developers a salvare il mondo

Rompo il silenzio di questi mesi (non ho proprio il tempo per scrivere niente purtroppo) per riportare un bellissimo scambio di email a cui ho assistito oggi. Riguarda la guerra in Israele e sulla Striscia di Gaza e viene da alcuni membri di un Google Developer Group (una community locale di sviluppatori).

Thank you for your interest! 

Here in Israel we are trying to continue life normally as much as possible, hoping for the fighting to end soon, so far we have 3 dead civilians from the southern part of the country, and alerts going all day long there. People spend a lot of time in shelters.

We have decided to organize a special hackaton for creating apps to help people during these times, for example, maps of closest shelters, real time alerts, and so on, and we hope it to be successful. The Israeli GDGs are all participating in organizing this hackaton…

Let’s pray for good :-)

Tel-Aviv GDG, Israel

E poi, pochi minuti dopo, la risposta di un’altra persona

Just wanted to add that despite the situation we are open to collaboration with our Palestinian neighbors, so if there’s any one reading this – please let us know if you want one!

Ecco, a me queste cose toccano davvero il cuore, e mi fanno capire come davvero la solidarieta’ e l’amore tra le persone poco se ne fa dello stereotipo dei nerd con gli occhialoni spessi, sociopatici e tendenzialmente incuranti del resto del genere umano.

Cosa mi piace

Mi piace muovere le dita dei miei piedi nudi nell’erba scaldata dal sole.

Mi piace guardare il cielo che cambia quando sorge il sole, e il rumore pacato delle onde che accompagnano l’alba. Mi piace perdermi nei colori del tramonto e nella soffice consistenza delle nuvole rosate.

Mi piace svegliarmi la mattina con le finestre socchiuse e stiracchiarmi fino all’ultimo muscolo sul letto.

Mi piace l’odore del rosmarino, della vaniglia, e toccare le foglie delle piante per poi annusare le mie dita.

Mi piace l’odore del fuoco del campo, del fuoco fatto con la legna vera, con la resina, con lo scoppiettio e con le stelle che ti stanno a guardare.

Mi piace chiudere gli occhi e percepire quello che c’e’ intorno a me con tutti gli altri sensi.

Mi piace mettere mani e testa fuori dal finestrino della macchina e resistere alla forza del vento.

Mi piace l’odore dei campi fioriti, quelli gialli, con le cicale che cantano in sottofondo.

Mi piace guardare una persona quando e’ dedicata e proiettata in cio’ che fa. Mi piace l’entusiasmo in ogni sua forma.

Mi piace mettere le mani nel fiume che scorre, percepirne le tante correnti e pensare che la vita e’ un po’ cosi’, una rapida successione di mutevoli forze che si incontrano.

Mi piace guardare il mondo da una prospettiva piu’ alta, per scoprirne le trame che, dal basso, non si possono vedere.

Mi piace ascoltare alcuni tipi di musica classica, quella che fa parlare solo gli strumenti, che li accomuna nella loro diversita’, e che trasmette l’energia di chi l’ha composta.

Mi piace l’odore dell’olio fatto in casa e quel suo gusto cosi’ profondo.

Mi piace quando le persone mi sorridono, quando i miei genitori mi sorridono, quando mio fratello mi sorride, ma sopratutto quando nonna mi sorride, perche’ e’ difficile sorridere sapendo di essere vecchi.

Mi piace correre con il corpo e lasciar correre la mente standola ad ascoltare mentre lo fa.

Mi piace quando imparo qualcosa di nuovo, quando sento di aver migliorato me stesso, quando soffro ma mi conosco meglio.

Mi piace perdermi nelle storie fantasy, immaginando di essere un mago.

Mi piace appoggiare i piedi nudi sulla mattonela calda del pavimento, come quella vicino all’armadio di casa dei miei.

Mi piace il rumore che fanno 15 cm di neve fresca quando li pisto. O il non rumore quando ci surfo sopra con la tavola.

Mi piace l’odore del tiglio sul finire della primavera