Quem é engenheiro DevOps, o que faz, quanto ganha e como se tornar um

Os engenheiros DevOps são especialistas multidisciplinares que sabem automatizar processos e sabem como trabalham desenvolvedores, QA e gerentes. Eles sabem programar, dominam rapidamente ferramentas complexas e não ficam perdidos quando se deparam com uma tarefa desconhecida. Existem poucos engenheiros DevOps - eles estão dispostos a pagar de 200 a 300 mil rublos, mas ainda há muitas vagas.

Dmitry Kuzmin explica o que exatamente o DevOps faz e o que você precisa estudar para se candidatar a tal posição. Bônus: links importantes para livros, vídeos, canais e comunidade profissional.

O que um engenheiro DevOps faz?

Numa situação de DevOps, é importante não confundir os termos. O fato é que DevOps não é uma área específica de atuação, mas sim uma filosofia profissional. É uma metodologia que ajuda desenvolvedores, testadores e administradores de sistemas a trabalhar de forma mais rápida e eficiente por meio de automação e integração.

Assim, um engenheiro DevOps é um especialista que implementa esta metodologia no processo de trabalho:

  • Na fase de planejamento, um engenheiro de DevOps ajuda a decidir qual arquitetura o aplicativo usará, como será dimensionado e escolherá um sistema de orquestração.
  • Em seguida, ele configura servidores, verifica e carrega automaticamente o código e verifica o ambiente.
  • Em seguida, ele automatiza os testes e resolve problemas de implantação.
  • Após o lançamento, é importante coletar feedback dos usuários e implementar melhorias. O DevOps garante que os usuários não percebam essas melhorias e que o processo de atualização seja contínuo.
  • E, ao mesmo tempo, resolve dezenas de problemas que ajudam a melhorar o sistema de trabalho de desenvolvedores, controle de qualidade, administradores de sistema e gerentes.

Tudo o que está escrito acima acontece em projetos próximos do ideal. No mundo real, você tem que iniciar um projeto onde faltou o planejamento, a arquitetura estava errada e você começou a pensar em automação quando todos os projetos pararam. E entender todos esses problemas, resolvê-los e fazer tudo funcionar é uma habilidade fundamental de um especialista em DevOps.

Há confusão no mercado de talentos. Às vezes, uma empresa procura engenheiros DevOps para o cargo de engenheiro de sistemas, engenheiro de construção ou outra pessoa. As responsabilidades também mudam dependendo do tamanho da empresa e da direção - em algum lugar eles procuram uma pessoa para consultoria, em algum lugar são solicitados a automatizar tudo e em algum lugar são obrigados a executar funções avançadas de um administrador de sistema que sabe programar.

O que você precisa para começar na profissão

O ingresso na profissão requer preparação preliminar. Você não poderá simplesmente fazer cursos do zero, sem entender nada de TI, e aprender até o nível júnior. Formação técnica necessária:

  • Ideal se você trabalha por seis meses ou mais como administrador de sistema, especialista em operações ou testes. Ou pelo menos tenha uma ideia de como os aplicativos são iniciados, em que ambiente eles podem ser desenvolvidos e o que fazer se encontrar um erro. Se você não tem experiência profissional, faça algum curso de administração Linux, repetindo tudo o que acontece na sua máquina doméstica.
  • Entenda como funcionam as tecnologias de rede - aprenda a instalar, configurar e gerenciar redes locais e de longa distância.
  • Veja como e o que a programação funciona - escreva alguns scripts em Python ou Go, tente entender os princípios da OOP (Programação Orientada a Objetos), leia sobre o ciclo geral de desenvolvimento de produtos.
  • O conhecimento de inglês técnico será útil - não é necessário comunicar-se sobre temas livres, basta saber ler documentação e interfaces.

Não é necessário conhecer detalhadamente tudo listado, para começar a aprender DevOps basta um nível mínimo de treinamento. Se você tem essa formação técnica, experimente se inscrever em cursos.

O que o DevOps deve saber

Um bom engenheiro DevOps é um especialista multidisciplinar com uma visão muito ampla. Para trabalhar com sucesso, você terá que entender diversas áreas de TI ao mesmo tempo.

Desenvolvimento

O DevOps escreverá um script que ajudará os desenvolvedores a instalar o código no servidor. Criará um programa que testa a capacidade de resposta dos bancos de dados “on the fly”. Escreverá um aplicativo para controle de versão. Por fim, basta observar um possível problema de desenvolvimento que pode aparecer no servidor.

Um forte especialista em DevOps conhece várias linguagens adequadas para automação. Ele não os entende completamente, mas pode escrever rapidamente um pequeno programa ou ler o código de outra pessoa. Se você nunca encontrou desenvolvimento antes, comece com Python - ele tem uma sintaxe simples, é fácil de trabalhar com tecnologias de nuvem e há muita documentação e bibliotecas.

Sistemas operacionais

É impossível conhecer todas as capacidades de cada versão de cada sistema – você poderia gastar milhares de horas nesse treinamento e não adiantaria nada. Em vez disso, um bom DevOps compreende os princípios gerais de trabalho em qualquer sistema operacional. Porém, a julgar pelas menções nas vagas, a maioria agora trabalha em Linux.

Um bom engenheiro entende qual sistema é melhor para implantar um projeto, quais ferramentas usar e quais erros potenciais podem aparecer durante a implementação ou operação.

Nuvens

Mercado de tecnologia em nuvem está crescendo em média, 20-25% ao ano - essa infraestrutura permite automatizar as operações de teste de código, montagem de aplicativos a partir de componentes e entrega de atualizações aos usuários. Um bom DevOps compreende soluções totalmente em nuvem e híbridas.

Os requisitos padrão para engenheiros geralmente incluem GCP, AWS e Azure.

Isso inclui proficiência em ferramentas CI/CD. Normalmente, Jenkins é usado para integração contínua, mas vale a pena tentar análogos. Existem muitos deles, por exemplo Buddy, TeamCity e Gitlab CI. Será útil estudar o Terraform - é uma ferramenta declarativa que ajuda você a instalar e configurar remotamente a infraestrutura nas nuvens. E Packer, que é necessário para criar imagens de sistema operacional automaticamente.

Sistemas de orquestração e microsserviços

A arquitetura de microsserviços tem muitas vantagens – estabilidade, capacidade de escalabilidade rápida, simplificação e reutilização. O DevOps entende como funcionam os microsserviços e pode antecipar possíveis problemas.

Conhece perfeitamente Docker e Kubernetes. Compreende como funcionam os containers, como construir um sistema para que você possa desabilitar alguns deles sem consequências para o sistema como um todo. Por exemplo, ele pode construir um cluster Kubernetes usando Ansible

O que mais o futuro DevOps deveria tentar?

A lista de ferramentas que podem ser úteis para um engenheiro DevOps é interminável. Alguns trabalham na orquestração de projetos, outros passam a maior parte do tempo automatizando a implantação e os testes e outros melhoram a eficiência no gerenciamento de configurações. No processo, ficará claro onde cavar e quais projetos serão úteis.

Aqui está outro pequeno mínimo que ajudará no início:

  • Entenda como o Git e o Github funcionam, caso ainda não o tenha feito. Instale o GitLab em seu servidor.
  • Familiarize-se com as linguagens de marcação JSON e YAML.
  • Instale e experimente trabalhar em bancos de dados - não apenas MySQL, mas também NoSQL. Experimente o MongoDB.
  • Entenda como gerenciar a configuração de vários servidores ao mesmo tempo. Por exemplo, usando Ansible.
  • Configure o monitoramento de carga e os registros imediatamente. Experimente a combinação Prometheus, Grafana e Alertmanager.
  • Procure as melhores soluções de implantação para diferentes linguagens - basta conhecê-las, implementá-las e compreendê-las em um treinamento ou projeto de trabalho.

Por que você deveria começar a aprender DevOps agora

Há falta de pessoal no mercado para engenheiros DevOps. Isso é confirmado condicionalmente pela quantidade e qualidade das vagas:

  • Na Rússia, somente no HeadHunter, mais de 2 mil empregos estão constantemente disponíveis para esta palavra-chave.
  • E apenas 1 pessoas postaram seus currículos.

Considerando que postar currículo não significa busca ativa de emprego, verifica-se que para um especialista existem duas ou até três vagas - situação que não existe nem no popular mercado de desenvolvimento web. Adicione aqui mais vagas dos canais Habr e Telegram - a escassez de especialistas é enorme.

Quem é engenheiro DevOps, o que faz, quanto ganha e como se tornar um
Preste atenção aos requisitos salariais dos candidatos

DevOps não é menos procurado no mundo - se você for se mudar para os EUA ou Europa, somente no portal Glassdoor Mais de 34 mil empresas procuram esses especialistas. Os requisitos frequentes incluem 1 a 3 anos de experiência, capacidade de trabalhar com nuvens e não ter medo de funções de consultoria.

Há muitas vezes menos ofertas de freelancer - os engenheiros de DevOps procuram principalmente funcionários e cargos de tempo integral.

Quem é engenheiro DevOps, o que faz, quanto ganha e como se tornar um
Encontrar um projeto freelance adequado é difícil, mas é possível

A carreira convencional de um engenheiro DevOps pode ser imaginada mais ou menos assim:

  • Ele trabalha como administrador de sistemas em uma pequena empresa de TI há seis meses a um ano. Ao mesmo tempo, estuda uma linguagem adequada à automação.
  • Ele estuda intensamente em cursos por cerca de seis meses.
  • Muda para outro emprego - para uma empresa que vende soluções em nuvem, uma filial de uma grande corporação, para desenvolvedores de grandes projetos. Simplificando, onde há necessidade de automação e implementação constantes. Na posição inicial são aproximadamente 100 mil rublos.
  • Ele trabalha e estuda ativamente há vários anos, aumentando várias vezes sua renda.
  • Torna-se um especialista na comunidade profissional e passa para a consultoria. Ou se torna um arquiteto de sistemas ou diretor de TI.

DevOps é difícil. Você precisa combinar as habilidades de várias profissões ao mesmo tempo. Torne-se uma pessoa que está pronta para oferecer melhorias onde outros especialistas em TI nem pensam em mais nada. Eles pagam muito por isso, mas também exigem muito conhecimento.

Quanto ganha o DevOps?

De acordo com os dados do segundo trimestre de 2019, o salário médio médio para Devops está entre 90 e 160 mil rublos. Existem ofertas mais baratas - principalmente 60-70 mil.

Constantemente há ofertas de até 200 mil e há vagas com salários de até 330 mil rublos.

Quem é engenheiro DevOps, o que faz, quanto ganha e como se tornar um
Entre os profissionais de operações, o DevOps é mais bem pago do que outros. Fonte: Habr.Carreira

Engenheiros DevOps, incluindo iniciantes, agora são necessários em grandes bancos, corporações, serviços em nuvem, sistemas comerciais e outras organizações que se preocupam com a manutenção de suas soluções de TI.

Um excelente candidato para uma vaga júnior com salário de 60 a 90 mil seria um administrador de sistemas iniciante com cerca de um ano de experiência e diploma de especialização.
 
Quem é engenheiro DevOps, o que faz, quanto ganha e como se tornar um
Não existem tais estatísticas, mas parece que as pessoas que têm experiência em Linux recebem mais

O que assistir e ler para crescer na profissão

Para mergulhar no mundo do DevOps, experimente diversas fontes de informação:

  • Fundação de computação nativa em nuvem [YouTube, ENG] - muitos vídeos de conferências e webinars educacionais.
  • Canal DevOps [YouTube, RUS] - reportagens em vídeo da conferência profissional DevOps na Rússia.
  • O Manual DevOps [livro, RUS] é um dos livros mais populares sobre a filosofia DevOps. O livro contém princípios gerais da metodologia, diz no que prestar atenção antes de tudo ao trabalhar em qualquer projeto.
  • Thomas Limoncelli "A Prática de Administração de Sistemas e Redes" [livro, RUS] - muita teoria e princípios sobre como a administração do sistema deve ser estruturada.
  • Devops semanalmente [livro, ENG] - uma revisão semanal de notícias sobre o que está acontecendo em DevOps ao redor do mundo.
  • Devops_deflope [Telegram, RUS] - notícias do setor, anúncios de conferências, links para novos artigos e livros interessantes.
  • Devops_en [Telegram, RUS] - Bate-papo em russo onde você pode pedir conselhos e ajuda com configurações.
  • Devops.com é um grande site internacional com artigos, webinars, podcasts e colunas das maiores empresas do setor.
  • Hangops_Ru — Comunidade de engenheiros e simpatizantes de DevOps que falam russo.
  • Os melhores livros para o idioma que você usará para desenvolvimento.

Onde estudar DevOps

Você pode obter conhecimento estruturado no curso “Engenheiro de DevOps" em Netologia. Você aprenderá o ciclo completo da metodologia:

  • Aprenda como analisar código e usar rapidamente ferramentas de controle de versão.
  • Entenda as melhores práticas para integração, teste e construção contínuas.
  • Aprenda a gerenciar e automatizar alterações de aplicativos.
  • Experimente ferramentas de configuração e gerenciamento.
  • Acostume-se a selecionar e configurar imediatamente os serviços necessários para monitoramento.

Receba um curso de programação Python como bônus - você resolverá problemas de forma ainda mais rápida e fácil. Tudo é prático – usamos AWS, GCP ou Azure.
Isso é suficiente para transformar um engenheiro ou administrador de sistema novato em um DevOps muito procurado e aumentar agradavelmente seu preço no mercado de trabalho.

Quem é engenheiro DevOps, o que faz, quanto ganha e como se tornar um

Fonte: habr.com

Adicionar um comentário