DevOps Expert

DevOps Expert

Descrizione

L’esperto DevOps (o DevOps Engineer) un professionista IT che lavora con il team di sviluppo software, il personale operativo IT, gli utenti del sistema e la gestione per ottimizzare il lancio di nuovi aggiornamenti e programmi, integrando l'approccio DevOps nei processi di sviluppo e rilascio della applicazioni. Introduce processi, strumenti e metodologie DevOps per l’unificazione e l’automazione dei processi gestendo sia il codice che la manutenzione e la gestione applicativa. Si coordina con sviluppatori, amministratori di sistema, programmatori e altri professionisti IT nel team di rilascio che lavorano sullo stesso prodotto,  colmando il divario tra le azioni necessarie per apportare modifiche rapide a un'applicazione e le attività che ne assicurano l'affidabilità. L'obiettivo è di mettere in grado i vari team di consegnare i progetti più velocemente e in modo più efficiente. Per svolgere queste attività, occorre non solo padroneggiare i cicli di sviluppo, ma conoscere anche la cultura, le pratiche e gli strumenti DevOps.

Attività principali richieste dal mercato

  • ottimizzazione dei DevOps Life Cycle (Pianificazione, Feedback continuo, Operazione, CI/CD continua, Costruzione)
  • definizione, creazione e manutenzione degli ambienti di produzione e delle modalità di rilascio più adatti alle soluzioni software sviluppate dall'organizzazione
  • automazione e ottimizzazione di sistemi, processi e flussi per un grado di automazione crescente;
  • creazione e manutenzione degli strumenti per il rilascio, l'operatività e il monitoraggio
  • sviluppo e configurazione di sistemi di integrazione continua (CI) e di consegna continua (CD) *  
  • assistenza operativa per applicazioni nuove o esistenti 
  • supporto nel debug delle problematiche in produzione e nella gestione della sicurezza
  • benchmarking e test delle prestazioni
  • gestione dei dati e aggiornamenti delle librerie per le release di nuovi prodotti

Requisiti/livello formazione

In genere è richiesta una laurea o un titolo di specializzazione in informatica, tecnologia dell’informazione, sistemi informativi, ingegneria del software, ingegneria dei sistemi. Molti esperti o ingegneri DevOps passano a DevOps da altri ruoli, facendo leva su un background nello sviluppo software, nella gestione dell’hardware, nella gestione generale dell’IT o nell’amministrazione di sistema, ovvero ambiti che richiedono/formano competenze trasferibili in un lavoro di ingegneria DevOps. Il portafoglio ideale di competenze include esperienza con gli strumenti di automazione (Atlassian Bamboo, Jenkins), sistemi VCS di controllo di versione (Git), strumenti di repository hosting (GitHub, GitLab, Atlassian BitBucket), strumenti di gestione della configurazione (Puppet, Chef), software di monitoraggio (Nagios, Raygun); familiarità con i linguaggi di scripting più diffusi (PHP, Node.js, ASP.NET, Ruby, Perl, Python e Java) e con gli strumenti di containerizzazione (Docker, Kubernetes o K8s); conoscenza degli strumenti di gestione dei progetti per DevOps (Trello, Atlassian Jira, Atlassian Confluence) e dei i servizi cloud pubblici più diffusi (Microsoft Azure, Google Cloud, AWS), competenze di sviluppo WordPress e utilizzo di strumenti di hosting come DevKinsta.

Skills tecnologiche

  • conoscenza di ambienti operativi (Linux/ Linux Administration) e linguaggi di programmazione (es. Java, Javascript)                    
  • piattaforme cloud (AWS, Azure, GCP)                    
  • tool di sviluppo: Eclipse, IBM Rational Application Developer                    
  • tool di sviluppo di IaC (infrastructure as a code) (es. Terraform)                     
  • coding scripting (es. Groovy, Bash shell o Python)                    
  • tool di bug tracking (es. Atlassian JIRA)                    
  • tool di versionamento (GIT, Atlassian Bitbucket)                     
  • tool di gestione delle repositories (Maven expert, Sonatype Nexus, NPM, Grunt, Bower)                    
  • tool per pipelines di CI (Atlassian Bamboo, Jenkins, Cruise Control, Hudson, Team City)                    
  • tools di CD (IAM, ECS, S3, Lambda, RDS, API Gateway, AWS CodeDeploy)                    
  • application server (IBM Websphere, JBoss, Tomcat)                     
  • tool di gestione delle vulnerability (NodeJS e Docker) e tools per la sicurezza                    
  • familiarità con le architetture di networking

Principali certificazioni richieste dal mercato

Certificazioni Red Hat per amministratori, architetti, sviluppatori, operatori, ingegneri (tabella dedicata), International DevOps Certification Academy (DevOps Generalist™, DevOps Executive™, DevOps Project Manager™, DevOps Product Owner™, DevOps Architect™, DevOps Developer™, DevOps Operations Engineer™, DevOps Quality Assurance (Test) Engineer™, DevOps Information Security Engineer™, DevOps Release Manager™, DevOps Trainer™, DevOps Coach™), Certificazioni DevOps Foundation (DevOps Foundation, DevOps Leader (DOL)®, Site Reliability Engineering (SRE) Foundation℠, DevSecOps Foundation (DSOF)℠, Continuous Delivery Ecosystem Foundation℠, Continuous Testing Foundation℠, Certified Agile Service Manager (CASM)®, Certified Agile Process Owner (CAPO)® )