
Qualche anno fa, nel settore IT è nata una nuova figura professionale: l'ingegnere DevOps. È rapidamente diventata una delle professioni più importanti e richieste sul mercato. Ma ecco il paradosso: parte della popolarità di DevOps è dovuta al fatto che le aziende che assumono questi specialisti spesso li confondono con rappresentanti di altre professioni.
Questo articolo è dedicato all'analisi delle sfumature della professione DevOps, della situazione attuale sul mercato e delle prospettive. Abbiamo chiarito questa complessa questione con l'aiuto del Decano dell'università online GeekUniversity Dmitrij Burkovskij.
Dunque, cos'è esattamente DevOps?
Il termine stesso è l'abbreviazione di Development Operations. Non è tanto una professione, quanto un approccio all'organizzazione del lavoro in un'azienda di medie o grandi dimensioni durante la preparazione di un prodotto o servizio. Infatti, nel processo di preparazione sono coinvolti vari reparti di un'azienda, e le loro azioni non sono sempre ben coordinate.
Ad esempio, gli sviluppatori non sempre sono a conoscenza dei problemi che riscontrano gli utenti che lavorano con un software o servizio già rilasciato. Il supporto tecnico è ben informato, ma potrebbe non essere aggiornato su cosa accade "all'interno" del software. Qui interviene l'ingegnere DevOps, che aiuta a coordinare il processo di sviluppo, promuove l'automazione dei processi e migliora la loro trasparenza.
Il concetto di DevOps unisce persone, processi e strumenti.
Cosa deve sapere e fare un ingegnere DevOps?
Secondo uno dei più noti sostenitori del concetto di DevOps, Joe Sanchez, un professionista di questo settore deve comprendere bene le sfumature del concetto stesso, avere esperienza nell'amministrazione sia di sistemi Windows che Linux, comprendere il codice sorgente scritto in diversi linguaggi di programmazione, lavorare con Chef, Puppet, Ansible. È chiaro che per analizzare il codice è necessario conoscere più linguaggi di programmazione, non solo conoscerli, ma anche avere esperienza nello sviluppo. È inoltre molto desiderabile avere esperienza nel collaudo di prodotti software e servizi pronti.
Ma questo è in un ideale; un tale livello di esperienza e conoscenze non si trova in ogni professionista IT. Ecco un insieme di conoscenze e esperienze minime necessarie per un buon DevOps:
- OS GNU/Linux, Windows.
- Almeno 1 linguaggio di programmazione (Python, Go, Ruby).
- Linguaggio di scripting della shell - bash per lavorare con Linux e powershell per Windows.
- Sistema di controllo versione - Git.
- Sistemi di gestione della configurazione (Ansible, Puppet, Chef).
- Almeno una delle piattaforme per l'orchestrazione dei container (Kubernetes, Docker Swarm, Apache Mesos, Amazon EC2 Container Service, Microsoft Azure Container Service).
- Capacità di lavorare con fornitori di servizi cloud (ad esempio: AWS, GCP, Azure, ecc.) utilizzando Terraform, sapere come viene distribuita un'applicazione nel cloud.
- Capacità di configurare un pipeline CI/CD (Jenkins, GitLab), stack ELK, sistemi di monitoraggio (Zabbix, Prometheus).
Ecco un elenco di competenze che gli specialisti DevOps indicano più spesso su Habr Carriera.

Inoltre, lo specialista DevOps deve comprendere le esigenze e i requisiti aziendali, vedere il proprio ruolo nel processo di sviluppo e saper costruire il processo tenendo conto degli interessi del cliente.
E riguardo alla soglia di ingresso?
L'elenco delle conoscenze e delle esperienze non è stato presentato a caso. Ora è più facile capire chi può diventare uno specialista DevOps. Risulta che il passaggio a questa professione è più semplice per coloro che provengono da altre specialità IT, in particolare i sistemisti e gli sviluppatori. Entrambi possono velocemente acquisire l'esperienza e le conoscenze mancanti. Già metà del set necessario ce l'hanno, e spesso anche di più.
Inoltre, ottimi ingegneri DevOps possono provenire dai tester. Sanno cosa e come funziona, sono a conoscenza dei difetti e delle lacune del software e dell'hardware. Si può dire che un tester che conosce i linguaggi di programmazione e sa scrivere programmi è a cinque minuti dal diventare DevOps.
Un rappresentante di una specialità non tecnica, che non ha mai avuto a che fare né con lo sviluppo né con l'amministrazione di sistemi, troverà difficile entrare. Certamente, non c'è nulla di impossibile, ma i principianti devono comunque valutare adeguatamente le proprie forze. Ci vorrà del tempo per acquisire il 'bagaglio' necessario.
Dove può lavorare un DevOps?
In una grande azienda il cui lavoro è direttamente o indirettamente legato allo sviluppo di applicazioni e all'amministrazione dell'hardware. La massima carenza di ingegneri DevOps si trova nelle aziende che offrono un gran numero di servizi ai consumatori finali. Queste includono banche, operatori di telecomunicazioni, i più grandi fornitori di servizi Internet, ecc. Tra le aziende che stanno attivamente assumendo ingegneri DevOps ci sono Google, Facebook, Amazon, Adobe.
Si stanno introducendo DevOps e startup con piccole imprese, ma per molte di queste aziende l'assunzione di ingegneri DevOps è più una questione di moda che una vera necessità. Certo, ci sono eccezioni, ma non sono molte. Le piccole aziende hanno bisogno piuttosto di una figura versatile, in grado di lavorare su diversi fronti. Un buon CTO può gestire tutto ciò. Il fatto è che per le piccole imprese la velocità di esecuzione è fondamentale e l'ottimizzazione dei processi lavorativi è critica per le aziende di medio e grande dimensioni.
Ecco alcune offerte di lavoro (puoi seguire le nuove su Habr Carrière su ):
Stipendi DevOps in Russia e nel mondo
In Russia, lo stipendio medio di un ingegnere DevOps è di circa 132000 rubli al mese. Questi dati provengono dal calcolatore degli stipendi del servizio Habr Carrière, basato su 170 questionari per il secondo semestre del 2020. Sì, il campione non è molto grande, ma come 'temperatura media della clinica' è abbastanza rappresentativo.
Ci sono stipendi di 250000 rubli, altri intorno agli 80000 o anche un po' meno. Tutto dipende dall'azienda, dalla qualifica e dal professionista stesso, naturalmente.
Per quanto riguarda altri paesi, anche le statistiche sugli stipendi sono conosciute. Ottimo lavoro è stato fatto dagli specialisti di Stack Overflow, che hanno analizzato questionari di circa 90000 persone, non solo ingegneri DevOps, ma anche rappresentanti di professioni tecniche in generale. Si è scoperto che gli Engineering Manager e proprio gli ingegneri DevOps guadagnano di più.
Un ingegnere DevOps guadagna circa $71.000 all'anno. Secondo Ziprecruiter.com, lo stipendio di un professionista in questo settore va da $86.000 all'anno. Il servizio Payscale.com mostra numeri ancora più allettanti: lo stipendio medio di un professionista DevOps, secondo il servizio, supera i $91.000. E questo è lo stipendio di un junior; un senior può guadagnare $135.000.
In conclusione, va detto che la domanda di ingegneri DevOps cresce gradualmente, la richiesta di specialisti di qualsiasi livello supera l'offerta. Quindi, se hai voglia, puoi provare a farti strada in questo settore. Tuttavia, bisogna ricordare che basta avere voglia, non è sufficiente. È necessario continuare a svilupparsi, a imparare e a lavorare.
Fonte: habr.com
