Chi è un ingegnere DevOps, cosa fa, quanto guadagna e come diventarlo

Gli ingegneri DevOps sono specialisti multidisciplinari che sanno come automatizzare i processi e sanno come lavorano sviluppatori, QA e manager. Sanno programmare, padroneggiano rapidamente strumenti complessi e non si perdono di fronte a compiti non familiari. Ci sono pochi ingegneri DevOps: sono disposti a pagarli 200-300 mila rubli, ma ci sono ancora molti posti vacanti.

Dmitry Kuzmin spiega cosa fa esattamente DevOps e cosa devi studiare per candidarti per una posizione del genere. Bonus: collegamenti importanti a libri, video, canali e comunità professionale.

Cosa fa un ingegnere DevOps?

In una situazione DevOps, è importante non confondere i termini. Il fatto è che DevOps non è un'area di attività specifica, ma una filosofia professionale. È una metodologia che aiuta sviluppatori, tester e amministratori di sistema a lavorare in modo più rapido ed efficiente attraverso l'automazione e la continuità.

Di conseguenza, un ingegnere DevOps è uno specialista che implementa questa metodologia nel processo di lavoro:

  • Nella fase di pianificazione, un ingegnere DevOps aiuta a decidere quale architettura utilizzerà l'applicazione, come verrà scalata e a scegliere un sistema di orchestrazione.
  • Quindi configura i server, esegue il controllo e il caricamento automatizzati del codice e controlla l'ambiente.
  • Quindi automatizza i test e risolve i problemi di distribuzione.
  • Dopo il rilascio, è importante raccogliere feedback dagli utenti e implementare miglioramenti. DevOps si assicura che gli utenti non notino questi miglioramenti e che il processo di aggiornamento sia continuo.
  • E allo stesso tempo risolve decine di problemi che aiutano a migliorare il sistema di lavoro di sviluppatori, QA, amministratori di sistema e manager.

Tutto ciò che è scritto sopra avviene in progetti vicini all'ideale. Nel mondo reale, devi avviare un progetto in cui è stata mancata la pianificazione, l'architettura era sbagliata e hai iniziato a pensare all'automazione quando tutti i progetti si sono interrotti. E comprendere tutti questi problemi, risolverli e far funzionare tutto è una competenza chiave di uno specialista DevOps.

C’è confusione nel mercato dei talenti. A volte un'azienda cerca ingegneri DevOps per la posizione di ingegnere di sistema, ingegnere di costruzione o qualcun altro. Le responsabilità cambiano anche a seconda delle dimensioni dell'azienda e della direzione: da qualche parte cercano una persona per la consulenza, da qualche parte gli viene chiesto di automatizzare tutto e da qualche parte gli viene richiesto di eseguire funzioni avanzate di un amministratore di sistema che sa programmare.

Cosa ti serve per iniziare la professione

L'accesso alla professione richiede una preparazione preliminare. Non sarai in grado di seguire semplicemente i corsi da zero, senza capire nulla di IT, e imparare a livello junior. Background tecnico richiesto:

  • Ideale se lavori per sei mesi o più come amministratore di sistema, specialista in operazioni o test. O almeno avere un'idea di come si avviano le applicazioni, in quale ambiente possono svilupparsi e cosa fare se viene visualizzato un errore. Se non hai esperienza lavorativa, segui un qualsiasi corso sull'amministrazione Linux, ripetendo tutto ciò che accade sul tuo computer di casa.
  • Comprendere come funzionano le tecnologie di rete: imparare a installare, configurare e gestire reti locali e geografiche.
  • Scopri come e cosa funziona la programmazione: scrivi alcuni script in Python o Go, prova a comprendere i principi dell'OOP (programmazione orientata agli oggetti), leggi il ciclo generale di sviluppo del prodotto.
  • Sarà utile la conoscenza dell'inglese tecnico: non è necessario comunicare su argomenti liberi, è sufficiente saper leggere documentazione e interfacce.

Non è necessario conoscere tutto quello elencato nel dettaglio; per iniziare ad apprendere DevOps è sufficiente un livello minimo di formazione. Se hai un background così tecnico, prova ad iscriverti ai corsi.

Cosa dovrebbero sapere i DevOps

Un buon ingegnere DevOps è uno specialista multidisciplinare con una visione molto ampia. Per lavorare con successo, dovrai comprendere diverse aree IT contemporaneamente.

Разработка

DevOps scriverà uno script che aiuterà gli sviluppatori a installare il codice sul server. Creerà un programma che verifica la reattività dei database “al volo”. Scriverà un'applicazione per il controllo della versione. Infine, nota semplicemente un potenziale problema di sviluppo che potrebbe apparire sul server.

Un forte specialista DevOps conosce diversi linguaggi adatti all'automazione. Non li capisce a fondo, ma può scrivere velocemente un piccolo programma o leggere il codice di qualcun altro. Se non hai mai incontrato lo sviluppo prima, inizia con Python: ha una sintassi semplice, è facile lavorare con le tecnologie cloud e c'è molta documentazione e librerie.

Sistemi operativi

È impossibile conoscere tutte le capacità di ciascuna versione di ciascun sistema: potresti dedicare migliaia di ore a tale formazione e non sarebbe di alcuna utilità. Invece, un buon DevOps comprende i principi generali del lavoro su qualsiasi sistema operativo. Anche se, a giudicare dalle menzioni nei posti vacanti, la maggior parte ora lavora su Linux.

Un buon ingegnere capisce quale sistema è migliore per implementare un progetto, quali strumenti utilizzare e quali potenziali errori possono verificarsi durante l'implementazione o il funzionamento.

nuvole

Il mercato della tecnologia cloud sta crescendo in media del 20-25% all'anno: tale infrastruttura consente di automatizzare le operazioni di test del codice, assemblaggio di applicazioni da componenti e fornitura di aggiornamenti agli utenti. Un buon DevOps comprende sia le soluzioni completamente cloud che quelle ibride.

I requisiti standard per gli ingegneri solitamente includono GCP, AWS e Azure.

Ciò include la competenza negli strumenti CI/CD. In genere, Jenkins viene utilizzato per l'integrazione continua, ma vale la pena provare gli analoghi. Ce ne sono molti, ad esempio Buddy, TeamCity e Gitlab CI. Sarà utile studiare Terraform: è uno strumento dichiarativo che ti aiuta a impostare e configurare da remoto l'infrastruttura nei cloud. E Packer, necessario per creare automaticamente le immagini del sistema operativo.

Sistemi di orchestrazione e microservizi

L'architettura dei microservizi presenta numerosi vantaggi: stabilità, capacità di scalabilità rapida, semplificazione e riutilizzo. DevOps capisce come funzionano i microservizi e può anticipare potenziali problemi.

Conosce perfettamente Docker e Kubernetes. Comprende come funzionano i contenitori, come costruire un sistema in modo da poterne disabilitare alcuni senza conseguenze per l'intero sistema nel suo insieme. Ad esempio, può creare un cluster Kubernetes utilizzando Ansible

Cos’altro dovrebbe provare il futuro DevOps?

L'elenco degli strumenti che possono essere utili per un ingegnere DevOps è infinito. Alcuni lavorano sull'orchestrazione del progetto, altri dedicano la maggior parte del loro tempo ad automatizzare la distribuzione e i test e altri ancora migliorano l'efficienza nella gestione della configurazione. Nel processo, diventerà chiaro dove scavare e quali progetti saranno utili.

Ecco un altro piccolo minimo che aiuterà all’inizio:

  • Comprendi come funzionano Git e Github se non l'hai già fatto. Installa GitLab sul tuo server.
  • Acquisisci familiarità con i linguaggi di markup JSON e YAML.
  • Installa e prova a lavorare nei database, non solo MySQL, ma anche NoSQL. Prova MongoDB.
  • Comprendere come gestire la configurazione di più server contemporaneamente. Ad esempio, utilizzando Ansible.
  • Configura subito il monitoraggio del carico e i registri. Prova la combinazione Prometheus, Grafana, Alertmanager.
  • Cerca le migliori soluzioni per l'implementazione di diverse lingue: devi solo conoscerle, implementarle e comprenderle in un progetto di formazione o di lavoro.

Perché dovresti iniziare a imparare DevOps adesso

C’è carenza di personale nel mercato degli ingegneri DevOps. Ciò è confermato condizionatamente dalla quantità e dalla qualità dei posti vacanti:

  • In Russia, solo su HeadHunter, sono costantemente disponibili più di 2mila posti di lavoro per questa parola chiave.
  • E solo 1 persone hanno pubblicato il proprio curriculum.

Considerando che pubblicare un curriculum non significa cercare attivamente un lavoro, si scopre che ci sono due o anche tre posti vacanti per uno specialista: questa situazione non esiste nemmeno nel popolare mercato dello sviluppo web. Aggiungi qui altri posti vacanti dai canali Habr e Telegram: la carenza di specialisti è enorme.

Chi è un ingegnere DevOps, cosa fa, quanto guadagna e come diventarlo
Prestare attenzione ai requisiti salariali dei candidati

DevOps non è meno richiesto nel mondo: se hai intenzione di trasferirti negli Stati Uniti o in Europa, solo sul portale Glassdoor Più di 34mila aziende sono alla ricerca di tali specialisti. I requisiti frequenti includono 1-3 anni di esperienza, capacità di lavorare con i cloud e non aver paura delle funzioni di consulenza.

Ci sono molte meno offerte per freelance: gli ingegneri DevOps cercano principalmente personale e posizioni a tempo pieno.

Chi è un ingegnere DevOps, cosa fa, quanto guadagna e come diventarlo
Trovare un progetto freelance adatto è difficile, ma è possibile

Il percorso professionale convenzionale di un ingegnere DevOps può essere immaginato in questo modo:

  • Ha lavorato come amministratore di sistema in una piccola azienda IT da sei mesi a un anno. Contemporaneamente studia un linguaggio adatto all'automazione.
  • Studia intensamente sui corsi per circa sei mesi.
  • Si trasferisce in un altro lavoro: in un'azienda che vende soluzioni cloud, una filiale di una grande azienda, agli sviluppatori di grandi progetti. In poche parole, dove è necessaria un'automazione e un'implementazione costanti. Nella posizione iniziale è di circa 100 mila rubli.
  • Lavora e studia attivamente da diversi anni, aumentando più volte il suo reddito.
  • Diventa un esperto nella comunità professionale e passa alla consulenza. Oppure diventa architetto di sistema o direttore IT.

DevOps è difficile. È necessario combinare le competenze di più professioni contemporaneamente. Diventa una persona pronta a offrire miglioramenti laddove gli altri specialisti IT non pensano nemmeno ad altro. Pagano molto per questo, ma richiedono anche una grande quantità di conoscenze.

Quanto guadagnano i DevOps?

Secondo i dati del secondo trimestre del 2019, lo stipendio medio dei devops è compreso tra 90 e 160mila rubli. Ci sono offerte più economiche, per lo più 60-70 mila.

Ci sono costantemente offerte fino a 200mila e ci sono posti vacanti con stipendi fino a 330mila rubli.

Chi è un ingegnere DevOps, cosa fa, quanto guadagna e come diventarlo
Tra i professionisti delle operazioni, DevOps viene pagato più degli altri. Fonte: Habr.Carriera

Gli ingegneri DevOps, compresi i principianti, sono ora richiesti nelle grandi banche, aziende, servizi cloud, sistemi commerciali e altre organizzazioni che si preoccupano della manutenzione delle proprie soluzioni IT.

Un ottimo candidato per un posto vacante junior con uno stipendio di 60-90mila sarebbe un amministratore di sistema alle prime armi con circa un anno di esperienza e un diploma specializzato.
 
Chi è un ingegnere DevOps, cosa fa, quanto guadagna e come diventarlo
Non esistono statistiche di questo tipo, ma sembra che le persone che hanno esperienza con Linux siano pagate di più

Cosa guardare e leggere per crescere nella tua professione

Per immergerti nel mondo di DevOps, prova diverse fonti di informazione:

  • Fondamenta del cloud nativo per il computing [YouTube, ENG] - molti video da conferenze e webinar didattici.
  • Canale DevOps [YouTube, RUS] - resoconti video della conferenza professionale DevOps in Russia.
  • Manuale DevOps [libro, RUS] è uno dei libri più popolari sulla filosofia DevOps. Il libro contiene i principi generali della metodologia, spiega a cosa prestare attenzione prima di tutto quando si lavora su qualsiasi progetto.
  • Thomas Limoncelli "La pratica dell'amministrazione di sistemi e reti" [libro, RUS] - molta teoria e principi su come dovrebbe essere strutturata l'amministrazione del sistema.
  • Devops settimanale [libro, ENG] - una rassegna settimanale di notizie su ciò che sta accadendo in DevOps in tutto il mondo.
  • Devops_deflope [Telegram, RUS] - notizie del settore, annunci di conferenze, collegamenti a nuovi articoli e libri interessanti.
  • Devops_it [Telegram, RUS] - Chat in lingua russa dove puoi chiedere consigli e chiedere aiuto con le configurazioni.
  • Devops.com è un grande sito internazionale con articoli, webinar, podcast e rubriche delle più grandi aziende del settore.
  • Hangops_Ru — Comunità di lingua russa di ingegneri e simpatizzanti DevOps.
  • I migliori libri per la lingua che utilizzerai per lo sviluppo.

Dove studiare DevOps

Puoi acquisire conoscenze strutturate durante il corso “Ingegnere DevOps"in Netologia. Imparerai il ciclo completo della metodologia:

  • Scopri come analizzare il codice e utilizzare rapidamente gli strumenti di controllo della versione.
  • Comprendere le migliori pratiche per l'integrazione continua, il test e la creazione.
  • Impara a gestire e automatizzare le modifiche alle applicazioni.
  • Mettiti alla prova con gli strumenti di configurazione e gestione.
  • Abituati a selezionare e configurare immediatamente i servizi necessari per il monitoraggio.

Ottieni un corso di programmazione Python come bonus: risolverai i problemi in modo ancora più semplice e veloce. Tutto è pratico: utilizziamo AWS, GCP o Azure.
Questo è sufficiente per trasformare un ingegnere alle prime armi o un amministratore di sistema in un DevOps ricercato e aumentare piacevolmente il tuo prezzo sul mercato del lavoro.

Chi è un ingegnere DevOps, cosa fa, quanto guadagna e come diventarlo

Fonte: habr.com

Aggiungi un commento