Struttura del corso
Modulo 1: Standard architetturali scalabili
Obiettivo: Definire un insieme semplice e condiviso di standard architetturali a cui gli ingegneri principali possano fare riferimento nelle decisioni quotidiane.
Argomenti
- Principi architetturali: cosa è necessario standardizzare e cosa invece può essere lasciato alla discrezione dei team
- Nozioni di base sulla suddivisione del sistema: definizione di confini e responsabilità
- Nozioni di base sull’integrazione: contratti API, gestione delle versioni e compatibilità
- Introduzione alle tecnologie di messaggistica: confronto tra Kafka e RabbitMQ, cosa standardizzare
- Nozioni di base sui dati: attribuzione della proprietà informativa e approccio “fonte unica di verità” (Mongo + SQL Server)
- Antipattern architetturali comuni nei sistemi ad alta scalabilità
- Documentazione leggera delle decisioni: concetti come ADR e RFC
Modulo 2: Architettura del codice in grandi soluzioni .NET
Obiettivo: Definire linee guida pratiche per le scelte architetturali all’interno di soluzioni .NET su larga scala.
Argomenti
- Strutturazione di grandi soluzioni .NET: moduli, livelli e confini organizzativi
- Direzioni delle dipendenze e come mantenere visibile l’architettura nel codice
- Librerie condivise: quando risultano utili e quando generano accoppiamento indesiderato
- Confini d’integrazione nel codice: pattern per separare le responsabilità
- “Lenti di valutazione” dell’architettura del codice: cosa osservare rapidamente in fase di revisione
- Gestione degli errori senza compromettere la coerenza generale
Modulo 3: Revisioni progettuali che portano a decisioni concrete
Obiettivo: Creare un approccio standardizzato alle revisioni progettuali in grado di generare accordi e comprensione condivisa.
Argomenti
- Cosa rende efficace una revisione progettuale a livello principale
- Flusso operativo della revisione: cosa viene esaminato e in quale momento
- Criteri di valutazione: quali aspetti sono davvero importanti
- Gestione delle discussioni: come mantenere produttivi i dialoghi tra professionisti senior
- Chiusura delle decisioni: come concludere i dibattiti e procedere oltre
- Documentazione dei risultati: decisioni prese e azioni successive da intraprendere
- Esercitazione pratica su un caso studio di sistema completo
Modulo 4: Influenzare senza autorità per ingegneri principali
Obiettivo: Potenziare le abilità di mentorship, feedback e raggiungimento della coesione con i colleghi.
Argomenti
- Mentorship vs direzione: come guidare senza assumere il controllo assoluto
- Fornitura di feedback tecnico d’alto livello, chiaro e basato sugli standard definiti
- Tecniche pratiche per favorire la coesione tra professionisti esperti
- Gestione costruttiva dei disaccordi e della resistenza al cambiamento
- Schema conversazionali e frasi tipiche che gli ingegneri principali possono riutilizzare quotidianamente
Requisiti
I partecipanti dovranno portare da 2 a 3 esempi anonimizzati di dibattiti ricorrenti (ad esempio scelte relative alla suddivisione del sistema, approcci all’integrazione o regole di strutturazione del codice). Eventuali standard interni già esistenti possono essere condivisi in modo opzionale.
Recensioni (2)
Conoscenza, coinvolgimento e rapporto del formatore
Adam Kuklewski - GE Medical Systems Polska
Corso - Technical Architecture and Patterns
Traduzione automatica
Mi sono piaciuti gli esercizi che hanno aiutato ad aprire la mente e a guadagnare nuove prospettive sull'architettura del software.
Gabriele - EAGLEPROJECTS S.p.A.
Corso - Architecture and Design: Core + Advanced Training
Traduzione automatica