DevX al Santagostino
By Saverio Menin
DevX al Santagostino
Lavoro al Santagostino da metà del 2019.
La società è molto focalizzata sull’aspetto tech e sul digital, quasi tutte le applicazioni interne ed esterne sono sviluppate custom.
Col mio arrivo e con l’arrivo di un piccolo team di dev interno si è notata l’esigenza di poter creare uno standard tra i dev esterni e quelli interni, questo per avere:
- Coesione tra i team
- Più facilità di mantenibilità reciproca del codice
- Servizi sempre più performanti e strutturati
Si è quindi iniziato a dare il focus a 3 aspetti che per noi compongono la nostra DevX:
- Setup di sviluppo standardizzato ed automatizzato
- Styleguide di buone pratiche e regole per la programmazione
- Developer platform come catalogo servizi e come base di partenza per nuovi progetti
Che cos’è la DevX?
Può essere intesa in due accezioni:
- DevX come UX per lo sviluppatore (quindi ad esempio in termini di API e di sviluppo di piattaforme che devono essere utilizzate a loro volta da sviluppatori);
- DevX come gestione dell’esperienza dei team di sviluppatori interno/esterno.
Cosa abbiamo iniziato a fare?
Brevemente descrivo i tre punti che ho voluto implementare nel nostro dipartimento per implementare la visione che avevo di DevX.
Setup di sviluppo standardizzato ed automatizzato
Startupper è lo script basato su ansible che utilizziamo all’onboarding di un nuovo dipendente per fare lo startup del suo mac (a breve arriverà anche per linux e windows!).
Avere un tool che ci configuri il laptop permette molti vantaggi:
- Si è operativi subito
- Si crea una configurazione standard e testata per tutti
- Non si ha più paura di formattare
Styleguide di buone pratiche e di regole per la programmazione
Le Styleguide sono pubbliche a tutti così da migliorare sempre di più con spunti ed idee.
Questo sito definisce le regole e cosa abbiamo implementato per permettere lo sviluppo sempre più comodo e bello ai nostri developers!
Scalabilità, standardizzazione dei flussi, facilità di manutenzione, facilità di startup sono state le parole chiave per la stesura delle styleguide e per la definizione della Developer platform.
Developer platform come catalogo servizi e come base di partenza per nuovi progetti
Potrei scrivere un interno articolo su questo punto (ma mi limiterò a qualche riga!). La Developer platform si appoggia su 4 pilastri:
- Catalogo dei servizi
- Punto unico di documentazione
- CI/CD integrata e automatizzata
- StarterKit per lo sviluppo di nuovi servizi che aiutano ad eliminare la complessità dell’inizio implementazione
I principali servizi utilizzati sono:
- Backstage: piattaforma opensource per la gestione di un catalogo servizi
- GitHub: come repository del codice
- GitHub Action: come workflow di CI/CD
Conclusioni
Ogni giorno pensiamo a come migliorare la nostra DevX, a come facilitare il lavoro dei nostri developer perchè strumenti che aiutano rendono le persone contente. E persone contente possono creare software migliori!