Speaker

Giulio Roggero

Giulio Roggero

CTO & Co-Founder Mia-Platform

Milan, Italy

Actions

25 years of experience in software engineering, serial entrepreneur with more than 10 business initiatives launched, today is co-founder and CTO at Mia-Platform, the Internal Developer Platform named by Gartner Cool Vendor for Software Engineering Technologies and in the Cloud Application Platforms Magic Quadrant. Principal focus: cloud native, platform engineering, data fabric and omnichannel experience. He likes to paint Blood Bowl miniatures, construct Lego, build and drive RC Cars and learn piano.

Area of Expertise

  • Information & Communications Technology

Topics

  • Scrum & Agile
  • Agile Transformation
  • Software Craftsmanship
  • Modern Software Development
  • Open Source Software
  • Software Architecture
  • microservices
  • API Design
  • FastData
  • Data Lake
  • Streaming
  • GKE
  • TDD & BDD
  • DDD
  • Agile Coaching
  • Cloud Native
  • Kubernetes
  • Mia-Platform

Come i Microservizi favoriscono il lavoro dei Feature Teams

In un contesto Agile i Feature Teams sono una delle strutture organizzative più efficaci per sviluppare un ecosistema complesso in modo rapido, mantenendo alta la qualità e basso il TCO (total cost of ownership).

Spesso questi team sono però vincolati da architetture monolitiche, o a lasagna/spaghetti, che non consentono di operare end-to-end sulle feature, creando dipendenze tra team, colli di bottiglia e frustrazione.

Lo stile architetturale a Microservizi (sì, è uno stile e non un pattern e quindi va interpretato a seconda dei casi) da una mano a questi team ad essere più indipendenti tra loro e li aiuta a lavorare tutti con lo stesso scopo: generare valore per gli utenti finali in modo continuo.

In questo talk vedremo come organizzare più team che lavorano su uno stesso prodotto e come lo stile architetturale a Microservizi supporti questa organizzazione evolvendo con l'evolversi dei team.

Do pair programming with an artificial intelligence

Si prevede che nel 2022 il 40% dello sviluppo di applicazioni software sia co-sviluppato insieme ad una intelligenza artificiale (sorgente Gartner 2019).

Ci pensate? Come sarà sviluppare in pairing? Saremo più produttivi? Faremo meno errori? Il codice sarà più pulito? La gestione dei feature toggle sarà più semplice? I rilasci saranno ancora più semplici?

Immaginate fare ping-pong programming con la vostra intelligenza artificiale personale, quanto sarebbe motivante e divertente scrivere codice. E se applichiamo TDD potremmo arrivare ad un livello di clean code mai visto. Anche le persone meno esperte potrebbero imparare a sviluppare in modo pulito ed efficace.

In questa mezz’ora voglio esplorare insieme a voi questo modo che sembra lontano (vi ricordate 10 anni fa delle macchine che guidano da sole? :-) ) ma in realtà è già intorno a noi e si sta facendo sempre più pervasivo.

Microservices, Micro Frontends and Feature Teams

Quali sono le buone pratiche per progettare un'architettura in stile Microservices?

Come rendere evolutiva un'applicazione Frontend senza che invecchi dopo poco tempo?

Come organizzare più team che lavorano su una Piattaforma che ha centinaia di Microservices e decine di Frontend?

A queste tre domande risponderò durante il talk con esempi pratici e casi di vita vissuta.

Stili architetturali in Kubernetes

E’ meglio separare i microservizi per layer o per scopo? Quanti gateway devo avere? E’ necessario un pub/sub per far comunicare i microservizi? La persistenza dove la metto? Quali linguaggi uso?

Sono alcune delle domande tipiche che ci si pone quando si parte a disegnare e sviluppare una piattaforma moderna basata su microservizi e containers.

In questo talk vedremo alcuni stili architetturali e buone pratiche di test, deploy, monitoraggio e business continuity per creare piattaforme robuste e scalabili.

Spoiler: non parlerò di Twelve-Factor App :-)

Scaling Legacy

La crescita veloce è uno degli aspetti più rilevanti dell'economia negli ultimi anni. Startup, scaleup e unicorni sono tutte aziende che, anno su anno, crescono in modo vertiginoso a livello di numeri di business e di persone, facendo scaling dei sistemi IT.

Le aziende "pre native digitali" stanno guardando a queste realtà come a potenziali (o reali) competitor e si stanno organizzando per scalare. Ma un conto è avere una struttura di business nata per scalare, un conto è scalare con un business avviato da almeno 20/30 anni. Cultura aziendale, sistemi IT e tecnologie si sono stratificati nel tempo e possono essere un ostacolo a questa corsa verso l'alto.

In questo talk vedremo buone pratiche, tecniche e modelli per scalare realtà enterprise sia a livello tecnico (e tecnologico), sia a livello organizzativo. Lo faremo attraverso esempi concreti di casi reali e proponendo spunti su come superare le difficoltà che si incontrano durante il percorso.

Parleremo di Cloud Native, di migrazione da Monoliti e Microservices, di API as a Product, di Organizzazioni Enterprise in stile Open Source e di Cultura Aziendale.

My Agile Journey

Sono ormai passati 10 anni dalla prima volta che partecipai all’Italian Agile Day. Da quel giorno è partito il mio viaggio “agile” con grandi aspettative.

In questi anni ho avuto la fortuna di sperimentare diverse pratiche, metodi e tecniche “agili”. A volte è andata bene, a volte male. In entrambi casi ho imparato molto e vorrei condividere con voi la mia esperienza.

Scrum, Kanban, TDD, Product Canvas, Clean Code, Story Mapping, Planning Poker, Retrospective, Continuous Delivery e molto altro ancora sono stati i miei compagni di viaggio.

Vi racconterò, senza filtri, cos’ha funzionato e cosa invece no per diverse centinaia di team nello sviluppo e il rilascio in produzione di decine di sistemi IT.

Saranno 30 minuti intensi nella speranza di dare degli spunti di riflessione a chi, come me, si è trovato nelle stesse situazioni. In sostanza agile è un susseguirsi di esperimenti che portano ad un miglioramento continuo che non ha mai fine. Qual è il modo migliore per imparare se non “imparare dai propri errori”?

Stop Meeting, Start Coding!

Agile è entrato nel gergo comune di molte aziende che hanno a che fare con progetti IT. Questa è una buona cosa: il termine è conosciuto e accettato come una buona prassi, le persone sono ben disposte ad adottare metodi e pratiche che consentono di migliorare la gestione del ciclo di vita di un prodotto software e sono favorevoli al cambiamento.

Quando però si parte veramente mi sono trovato in diverse situazioni dove Agile si limitava alla parte “persone” e “organizzazione” ma non entrava nel merito di come si sviluppa il codice!

La provocazione “Stop Meeting, Start Coding” vuol ridurre all’essenziale i momenti di confronto e concentrarsi a scrivere buon codice, insieme!

In questo talk presenterò alcune buone pratiche di coding che favoriscono anche l’efficacia organizzativa.

7 buone abitudini per scrivere software funzionante - v1.1

In una sessione di live coding vedremo sette buone abitudini per scrivere software funzionante.

1. Autorepair Applications
2. "Informagics"
3. Technical Debt VS Time-to-market
4. All as a Code
5. Good software design
6. Pareto law
7. Evolutionary Design

Lavoreremo insieme su pezzi di codice in Node.js e Javache gireranno live su Docker e k8s e applicheremo buoni principi di design e programmazione con un unico obiettivo: "Create Value for Customers!"

Invisible Infrastructures

L'eccellenza tecnica è uno dei principi cardine dell’agilità e come tale favorisce la creazione di valore mantenendo le architetture semplici e i processi snelli. I sistemi legacy sono però un ostacolo per la ricerca dell’eccellenza tecnica. Di fatto il debito tecnico che si stratifica negli anni non aiuta la continua innovazione e la business agility.

Le nuove tecnologie, come Cloud e Big Data, sono degli abilitatori per creare applicazioni semplici e mantenibili nel futuro. Ma da soli non bastano.

Il problema è che ogni tecnologia ha le sue complessità e spesso queste sono indipendenti dalle logiche applicative. Può succedere che il team spenda più tempo a mettere in piedi l’infrastruttura e la connessione a tutti i servizi Cloud, che a scrivere le parti applicative. E questo tempo spesso si replica N-volte quanti sono gli N-progetti sviluppati da diversi team.

Manca un concetto comune di infrastruttura e piattaforma.

In questo talk vedremo come l’ “infrastruttura invisibile” possa semplificare il lavoro dei team favorendo l’eccellenza tecnica e la business agility.

Piccola anticipazione. L’infrastruttura invisibile é come le rotaie per un viaggiatore in treno: si gode il viaggio sorseggiando la sua bevanda preferita senza preoccuparsi della complessità che letteralmente viaggia sotto i suoi piedi.

DevFest Italia 2020 Sessionize Event

October 2020

Agile Venture Vimercate 2020 Sessionize Event

May 2020

GDG DevParty Together Sessionize Event

May 2020

Agile for Innovation 2020 Sessionize Event

March 2020 Milan, Italy

Agile Venture Milano 2020 Sessionize Event

February 2020 Milan, Italy

Italian Agile Days 2019 Sessionize Event

November 2019 Modena, Italy

Working Software Sessionize Event

July 2019 Milan, Italy

Agile Venture Milano 2019 Sessionize Event

January 2019 Milan, Italy

Giulio Roggero

CTO & Co-Founder Mia-Platform

Milan, Italy

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top