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

Gli ingegneri DevOps sono professionisti polivalenti, capaci di automatizzare i processi e comprendere come lavorano sviluppatori, QA e manager. Sanno programmare, apprendere rapidamente strumenti complessi e non si fanno intimorire da compiti sconosciuti. Gli ingegneri DevOps sono pochi — sono pronti a ricevere stipendi di 200-300 mila rubli, ma ci sono comunque molte offerte di lavoro.

Dmitrij Kuz'min spiega in che cosa consiste specificamente il lavoro di un ingegnere DevOps e cosa è necessario studiare per candidarsi a un ruolo del genere. Come bonus, link importanti a libri, video, canali e comunità professionale.

Cosa fa un ingegnere DevOps

Nella situazione relativa a DevOps è importante non confondere i termini. Infatti, DevOps non è una direzione specifica, ma una filosofia professionale. È una metodologia che aiuta sviluppatori, tester e amministratori di sistema a lavorare più velocemente ed efficientemente attraverso l'automazione e l'integrazione.

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

  • Nella fase di pianificazione, l'ingegnere DevOps aiuta a determinare quale architettura utilizzerà l'applicazione, come sarà scalata e a scegliere il sistema di orchestrazione.
  • Successivamente configura server, verifica automatizzata e caricamento del codice, e verifica dell'ambiente.
  • Dopo automatizza i test e si occupa delle questioni di deployment.
  • Dopo il rilascio è importante raccogliere feedback dagli utenti e implementare miglioramenti. DevOps fa in modo che gli utenti non percepiscano questi miglioramenti e che il processo di aggiornamento sia continuo.
  • E nel contempo affronta decine di compiti che aiutano a stabilire un sistema di lavoro tra sviluppatori, QA, amministratori di sistema e manager.

Tutto quanto scritto sopra avviene in progetti che si avvicinano all'ideale. Nella realtà, invece, ci si può ritrovare a iniziare un progetto dove la pianificazione è stata saltata, l'architettura è errata, e si è pensato all'automazione solo quando tutti i progetti si sono fermati. Affrontare tutti questi problemi, risolverli e fare in modo che tutto funzioni è una competenza chiave per uno specialista DevOps.

C'è confusione nel mercato del lavoro. A volte le aziende cercano ingegneri DevOps per la posizione di ingegnere di sistema, ingegnere di build o qualcos'altro. Le responsabilità variano a seconda delle dimensioni dell'azienda e del settore — in alcuni casi cercano persone per consulenze, in altri chiedono di automatizzare tutto, e in altri ancora richiedono di svolgere funzioni avanzate di amministratore di sistema in grado di programmare.

Cosa serve per iniziare nella professione

Entrare nella professione richiede una preparazione preliminare. Non è possibile partecipare a corsi partendo da zero, senza conoscere nulla dell'IT, e raggiungere il livello junior. Serve un background tecnico:

  • È ideale se hai lavorato per almeno sei mesi come amministratore di sistema, specialista delle operazioni o nel testing. Oppure almeno hai un'idea di come le applicazioni si avviano, in quale ambiente possono svilupparsi e cosa fare se vedi un errore. Se non hai esperienza, segui un corso di amministrazione Linux, ripetendo tutto ciò che accade sulla tua macchina di casa.
  • Comprendi come funzionano le tecnologie di rete: impara a installare, configurare e gestire reti locali e globali.
  • Scopri come e di cosa si compone la programmazione: scrivi alcuni script in Python o Go, prova a capire i principi della OOP (programmazione orientata agli oggetti), leggi sul ciclo di sviluppo del prodotto.
  • Una buona conoscenza dell'inglese tecnico sarà utile: non è necessario comunicare su argomenti liberi, basta saper leggere la documentazione e le interfacce.

Non è necessario conoscere tutto ciò che è stato elencato in modo approfondito; per cominciare a studiare DevOps, è sufficiente un livello minimo di preparazione. Se hai un background tecnico, prova a iscriverti a dei corsi.

Cosa deve sapere un DevOps

Un buon ingegnere DevOps è uno specialista polivalente con una vasta visione. Per lavorare con successo, dovrai comprendere subito diversi ambiti dell'IT.

Sviluppo

DevOps scriverà uno script che aiuti gli sviluppatori a installare il codice su un server. Creerà un programma che testa “on the fly” la reattività dei database. Scriverà un'applicazione per il controllo delle versioni. Infine, noterà semplicemente un potenziale problema nello sviluppo che potrebbe manifestarsi sul server.

Un forte specialista DevOps conosce diversi linguaggi adatti all'automazione. Non li padroneggia a menadito, ma riesce a scrivere rapidamente un piccolo programma o leggere codice altrui. Se non si è mai affrontato lo sviluppo, si può cominciare con Python: ha una sintassi semplice, è facile lavorare con le tecnologie cloud, e c'è molta documentazione e librerie disponibili.

Sistemi operativi

Conoscere tutte le funzionalità di ogni versione di ogni sistema è impossibile: ci vorrebbero migliaia di ore di formazione e non ne varrebbe la pena. Invece, un buon DevOps comprende i principi generali di funzionamento su qualsiasi OS. Tuttavia, dalle menzioni nelle offerte di lavoro, la maggior parte degli attuali lavorano in Linux.

Un buon ingegnere sa quale sistema sia migliore per implementare un progetto, quali strumenti utilizzare e quali errori potenziali potrebbero sorgere durante l'implementazione o l'esercizio.

Cloud

Il mercato delle tecnologie cloud stà crescendo in media del 20-25% all'anno: tale infrastruttura permette di automatizzare le operazioni di testing del codice, assemblaggio delle applicazioni dai componenti e distribuzione degli aggiornamenti agli utenti. Un buon DevOps è esperto sia di soluzioni completamente cloud che ibride.

Nei requisiti standard per gli ingegneri si citano solitamente GCP, AWS e Azure.

Includere anche la padronanza degli strumenti CI/CD. Di solito, per l'integrazione continua si usa Jenkins, ma è utile provare anche soluzioni analoghe. Ce ne sono molte, come Buddy, TeamCity e Gitlab CI. È utile studiare Terraform: è uno strumento dichiarativo che aiuta a configurare e gestire infrastrutture nel cloud in remoto. E Packer, necessario per la creazione automatica delle immagini OS..

Sistemi di orchestrazione e microservizi

L'architettura a microservizi ha molti vantaggi: stabilità, possibilità di scalare rapidamente, semplificazione e riutilizzabilità. Un DevOps comprende come funzionano i microservizi e può prevenire potenziali problemi.

Conosce approfonditamente Docker e Kubernetes. Comprende come funzionano i container, come costruire un sistema in modo che alcune parti possano essere disattivate senza conseguenze per l'intero sistema. Ad esempio, sa costruire un cluster Kubernetes utilizzando Ansible.

Cosa provare ancora per diventare un futuro DevOps.

Si possono elencare infinite strumentazioni utili per il lavoro di un ingegnere DevOps. Alcuni si occupano dell'orchestrazione dei progetti, mentre altri passano gran parte del tempo ad automatizzare il deploy e il testing, e altri ancora mirano a migliorare l'efficienza nella gestione delle configurazioni. Nel processo sarà chiaro dove approfondire e quali progetti possono tornare utili.

Ecco un minimo indispensabile che ti aiuterà all'inizio:

  • Familiarizzati con il funzionamento di Git e GitHub, se non l'hai già fatto. Installa GitLab sul tuo server.
  • Impara i linguaggi di markup JSON e YAML.
  • Installa e prova a lavorare con i database, non solo con MySQL, ma anche con NoSQL. Prova MongoDB.
  • Scopri come gestire la configurazione di più server contemporaneamente. Ad esempio, utilizzando Ansible.
  • Imposta subito un monitoraggio del carico e dei log. Prova la combinazione Prometheus, Grafana, Alertmanager.
  • Cerca le migliori soluzioni per il deploy in base ai diversi linguaggi — è sufficiente fare solo conoscenza; il vero apprendimento avverrà nel tuo progetto di addestramento o lavorativo.

Perché vale la pena iniziare a studiare DevOps ora

C'è una carenza di ingegneri DevOps sul mercato. Questo è confermato, in parte, dal numero e dalla qualità delle offerte di lavoro:

  • In Russia, su HeadHunter, ci sono sempre oltre 2.000 posti di lavoro disponibili con questa parola chiave.
  • E solo 1.900 persone hanno caricato il loro curriculum.

Tenendo conto che pubblicare un curriculum non implica di per sé una ricerca attiva di lavoro, si può affermare che ci sono due, se non tre, offerte per ogni specialista — una situazione che nemmeno il popolare mercato dello sviluppo web presenta. Aggiungi anche le offerte da Habr e dai canali Telegram — la carenza di specialisti è enorme.

Chi è un ingegnere DevOps, cosa fa, quanto guadagna e come diventarlo
Presta attenzione alle aspettative salariali dei candidati

Esiste una domanda significativa anche a livello globale — se hai intenzione di trasferirti negli Stati Uniti o in Europa, su questo portale Glassdoor oltre 34.000 aziende cercano specialisti. Tra i requisiti più comuni ci sono l'esperienza da 1 a 3 anni, la capacità di lavorare con i ‘cloud’ e la disposizione a svolgere funzioni di consulenza.

Le offerte freelance sono molto meno numerose — gli ingegneri DevOps sono principalmente ricercati per posizioni a tempo pieno.

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

Un tipico percorso di carriera per un ingegnere DevOps può essere rappresentato come segue:

  • Lavora come amministratore di sistema in una piccola azienda IT da sei mesi a un anno. Nel frattempo, studia un linguaggio adatto per l'automazione.
  • Studia intensamente in corsi da circa sei mesi.
  • Passa a un altro lavoro — in un'azienda che vende soluzioni cloud, filiale di una grande corporazione, ai programmatori di grandi progetti. In parole povere, va dove c'è bisogno di automazione e integrazione costante. Nella posizione iniziale guadagna circa 100.000 rubli.
  • Lavora e studia attivamente per alcuni anni, aumentando il reddito di diverse volte.
  • Diventa esperto nella comunità professionale e passa alla consulenza. Oppure cresce fino a diventare architetto di sistemi o direttore IT.

DevOps è complesso. È necessario combinare competenze di diverse professioni. Diventare una persona pronta a proporre miglioramenti dove altri specialisti IT non pensano nemmeno a un'alternativa. Per questo motivo, si guadagna molto, ma è richiesta una grande quantità di conoscenze.

Quanto guadagnano i DevOps

Secondo i dati del secondo trimestre 2019, lo stipendio medio per i DevOps si colloca tra i 90.000 e i 160.000 rubli. Ci sono offerte più basse, principalmente tra 60.000 e 70.000.

Ci sono costantemente offerte fino a 200.000 rubli, e ci sono posti di lavoro con stipendi fino a 330.000 rubli.

Chi è un ingegnere DevOps, cosa fa, quanto guadagna e come diventarlo
Tra gli specialisti della manutenzione, i DevOps vengono pagati meglio rispetto agli altri. Fonte: Habr.Career

Attualmente, gli ingegneri DevOps, compresi i principianti, sono richiesti in grandi banche, corporazioni, servizi cloud, sistemi di commercio e altre organizzazioni che si prendono cura della manutenzione delle proprie soluzioni IT.

Un candidato ideale per una posizione junior con uno stipendio di 60.000–90.000 sarà un giovane amministratore di sistema con circa un anno di esperienza e una laurea pertinente.
 
Chi è un ingegnere DevOps, cosa fa, quanto guadagna e come diventarlo
Non ci sono statistiche al riguardo, ma a giudicare dalle sensazioni, le persone con esperienza in Linux guadagnano di più.

Cosa leggere e guardare per crescere nella professione

Per immergerti nel mondo del DevOps, prova diversi fonti di informazione:

  • Cloud Native Computing Foundation [YouTube, ENG] — molti video da conferenze e webinar educativi.
  • DevOps Channel [YouTube, RUS] — video delle presentazioni dalla conferenza professionale DevOps in Russia.
  • The DevOps Handbook [libro, RUS] — uno dei libri più popolari sulla filosofia DevOps. Il libro presenta i principi generali della metodologia e spiega su cosa prestare attenzione innanzitutto quando si lavora a qualsiasi progetto.
  • Thomas Limoncelli «La pratica della gestione di sistemi e reti» [libro, RUS] — molta teoria e principi su come dovrebbe essere organizzata la gestione dei sistemi.
  • Devops Weekly [libro, ENG] — una rassegna settimanale delle notizie su ciò che accade nel DevOps in tutto il mondo.
  • Devops_deflope [Telegram, RUS] — notizie del settore, annunci di conferenze, collegamenti a nuovi articoli e libri interessanti.
  • Devops_ru [Telegram, RUS] — chat in lingua russa dove è possibile chiedere consigli e aiuto sui configuratori.
  • Devops.com — grande sito internazionale con articoli, webinar, podcast e colonne delle più grandi aziende del settore.
  • Hangops_Ru — comunità russa di ingegneri DevOps e simpatizzanti.
  • I migliori libri sul linguaggio che utilizzerai per lo sviluppo.

Dove studiare per diventare DevOps

Puoi acquisire conoscenze strutturate nel corso «Ingegnere DevOps» presso Netology. Imparerai l'intero ciclo della metodologia:

  • Scoprirai come analizzare il codice e utilizzare rapidamente gli strumenti di controllo delle versioni.
  • Comprenderai le migliori pratiche per l'integrazione continua, il test e la compilazione.
  • Imparerai a gestire le modifiche nelle applicazioni e a automatizzarle.
  • Studierai praticamente gli strumenti di configurazione e gestione.
  • Ti abituerai a scegliere e configurare immediatamente i servizi necessari per il monitoraggio.

Come bonus, otterrai un corso di programmazione in Python: risolverai i problemi ancora più velocemente e facilmente. Tutto pratico: utilizziamo AWS, GCP o Azure.
È sufficiente per trasformarti da ingegnere principiante o amministratore di sistema in un ricercato DevOps e far lievitare il tuo valore nel mercato del lavoro.

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

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster