/ by /   Lavoro / 0 comments

DEVOPS SPECIALIST: CHI È, COSA FA E QUALI SONO LE POSSIBILITÀ DI CARRIERA

Quando ci si riferisce alle soft skill che deve possedere il candidato ideale, spesso si fa riferimento alla capacità di lavorare in un team. Oggigiorno, infatti, la necessità di reclutare professionisti che sappiano lavorare in gruppo, collaborando e coordinandosi con diversi colleghi, è diventato un requisito indispensabile per molte aziende.

A favorire lo sviluppo di progetti realizzati da team eterogenei e quindi composti da professionisti con competenze differenti, negli ultimi anni, si sono sviluppate metodologie e figure di coordinamento che facilitano lo sviluppo degli stessi; DevOps è una di queste.

COSA SIGNIFICA DEVOPS

Con il termine DevOps ci si riferisce a una metodologia che sfruttando le nuove logiche di condivisone, collaborazione e integrazione, ha lo scopo di promuovere un insieme di processi volti alla comunicazione tra diverse divisioni, in particolare quelle di sviluppo e di operations. Come ci suggerisce il nome, infatti, il termine è stato coniato dalla contrazione delle parole inglesi developement e operations.

Questa metodologia nasce proprio dalla necessità di integrare e automatizzare i processi, in modo da accelerare e ottimizzare il rilascio di prodotti/servizi software e garantirne allo stesso tempo sicurezza e qualità.

Nello specifico le caratteristiche innovative di tale approccio sono:

  • La formazione di un unico team coeso di sviluppatori e sistemisti in modo da condividere il know-how, scambiarsi le informazioni e unire i flussi di lavoro.
  • La Creazione di un modello di delivery completamente integrato attraverso l’utilizzo di un unico codice di riferimento che include: software, middleware e ambiente operativo.
  • Integrazione, erogazione, distribuzione e monitoraggio continui, mediante pratiche che automatizzano le fasi di rilascio del software.
devops

Da un punto di vista filosofico si potrebbe dire che Devops sia la continuazione logica del percorso nato con la metodologia Agile con la differenza che quest’ultima si focalizza sul rapporto e la relazione tra il business e l’area developement mentre DevOps nel rapporto con il dipartimento IT nella sua interezza.

Per riassumere il tutto quindi, DevOps è un insieme di pratiche supportate da strumenti automatici e processi di management volte a migliorare l’intero ciclo di sviluppo di un prodotto applicativo, dalla fase di progettazione alla fase di rilascio.  

Tra i vantaggi dell’utilizzo del metodo DevOps per gli stakeholder coinvolti spiccano:

  • Attenzione al cliente: grazie a cicli di rilascio software più brevi, gli sviluppatori possono ricevere dei feedback continui, raccogliendo opinioni e richieste in corso d’opera.
  • Velocità e qualità: con l’utilizzo di tale metodologia si accelerano i tempi di rilascio e si minimizzano gli errori, migliorando la qualità del servizio e riducendo i costi…
  • Sicurezza: grazie alle policy di conformità automatizzate e a strumenti di gestione della configurazione i controlli sono sistematici e si riducono i rischi.
  • Scalabilità: i rischi legati alla poca efficienza di aggiornamenti periodici sono ridotti grazie a un alto livello di automazione e coerenza; un esempio è l’utilizzo di infrastrutture come codice.

CHI È E COSA FA UN PROFESSIONISTA CHE LAVORA IN QUESTO AMBITO?

Come accennato precedentemente, queste metodologie per funzionare correttamente hanno bisogno di una figura di riferimento che funga da coordinatore e supervisore.

Anche se non si possono descrivere in maniera circoscritta e generalizzata le responsabilità di un professionista DevOps, in quanto queste possono variare in funzione dell’azienda in cui si opera, si possono individuare delle attività così come delle caratteristiche comuni al ruolo.

Possiamo descrivere queste figure professionali come degli intermediari che svolgono attività di collegamento tra i team di sviluppo e di operations, attività individuabili in:

  • Gestione progetti: ha un ruolo di supervisione dei team coinvolti e di gestione dei progetti: programmano, gestiscono, controllano, delegano, valutano e danno consigli alle risorse coinvolte nel progetto.
  • Miglioramento infrastruttura it: concentrandosi su un approccio CI/CD (integrazione continua e distribuzione continua) creano soluzioni per aiutare gli sviluppatori a creare un’infrastruttura sempre più adatta alle esigenze dell’azienda grazie all’apporto di piccoli miglioramenti.
  • Automatizzazione processi e ottimizzazione cicli di rilascio: crea degli script che automatizzino tutta la catena di assemblaggio e il conseguente rilascio dell’applicativo.
  • Controllo sicurezza di sistema: si assicura che ci sia una protezione adeguata da possibili attacchi informatici

In altre parole, i DevOps Specialist si occupano di tutta la filiera dello sviluppo software partendo dal codice fino alla delivery e al monitoraggio delle applicazioni introducendo processi strumenti e metodologie che siano in grado di soddisfare le varie fasi.

Tutte le attività menzionate si basano su una buona conoscenza del ciclo di sviluppo del software oltre che una conoscenza approfondita della cultura/filosofia DevOps, dei suoi strumenti e delle sue procedure.

QUALI SONO LE HARD E LE SOFT SKILLS NECESSARIE?

Ecco alcune delle competenze richieste:

  • Soft skill: deve possedere buone doti relazionali dovendosi interfacciare e comunicare con i membri dei vari team facendo in modo che siano tutti allineati; allo stesso modo deve confrontarsi con i stakeholder coinvolti per capirne le esigenze:
  1. ascolto attivo
  2. comunicazione efficace
  3. risoluzione dei conflitti
  4. problem solving e capacità creative
  5. capacità di lavorare di squadra
  6. esperienza nella gestione di progetti.
  • Hard skill: oltre alle cosiddette soft skills un buon DevOps deve avere delle ottime competenze tecniche:
  1. Conoscenza dei principali linguaggi di scripting e di programmazione
  2. Tecnologie di integrazione reti e integrazioni cloud
  3. Conoscenza e comprensione di concetti come Containerizzazione e automazione
  4. Conoscenze pratiche di cyber security
  • Conoscenza della metodologia e degli strumenti Devops: un professionista DevOps non può non conoscere le procedure e le pratiche di tale metodologia e di conseguenza la conoscenza dei seguenti strumenti specifici:
  1. Strumenti di automazione  
  2. Strumenti di repository codice
  3. Software per il monitoraggio
  4. Software per la containerizzazione
  5. Strumenti per la gestione di progetti
  • Background informatico: Sicuramente per avere una buona conoscenza delle tecnologie appena menzionate, un DevOps deve avere alle spalle un background di studi nel campo dell’informatica o di materie affine ad essa.

QUANTO GUADAGNA UN PROFESSIONISTA DEVOPS?

Nonostante questa figura sia presente sul mercato del lavoro da diversi anni, l’accelerazione del processo di digitalizzazione dell’ultimo periodo ha fatto sì che la richiesta di tali professionisti da parte delle aziende sia aumentata. Chiaramente la remunerazione di questi professionisti dipende dalla loro seniority, ma all’interno del mercato del lavoro italiano la RAL si attesta tra i 28k per le figure più junior fino ai 50 per i senior.

fonte: Glassdoor sul mercato italiano

Sebbene attraverso l’utilizzo di procedure e strumenti DevOps si ottimizzano e automatizzano i processi tecnologici, senza adeguate modifiche strutturali e organizzative questa metodologia è di difficile implementazione; infatti, per ottenere dei miglioramenti distintivi in ottica di prestazioni aziendali è necessario un cambiamento della cultura aziendale e quindi nel modo in modo in cui le persone lavorano e collaborano.

(Immagini di Freepik)