Engenheiros DevOps são especialistas multidisciplinares que sabem automatizar processos e entendem como trabalham desenvolvedores, QA e gerentes. Eles sabem programar, aprendem rapidamente ferramentas complexas e não se perdem diante de uma tarefa desconhecida. Engenheiros DevOps são escassos — estão dispostos a pagar de 200 a 300 mil rublos, mas ainda assim há muitas vagas disponíveis.
Dmitry Kuzmin explica o que exatamente faz um DevOps e o que é necessário estudar para se candidatar a essa posição. Como bônus, links importantes para livros, vídeos, canais e comunidades profissionais.
O que faz um engenheiro DevOps
Na questão do DevOps, é importante não confundir os termos. O fato é que DevOps não é uma área de atuação específica, mas uma filosofia profissional. É uma metodologia que ajuda desenvolvedores, testadores e administradores de sistema a trabalharem mais rápida e eficientemente através da automação e da integração.
Assim, um engenheiro DevOps é um especialista que implementa essa metodologia no processo de trabalho:
- Na fase de planejamento, o engenheiro DevOps ajuda a decidir qual arquitetura será utilizada pelo aplicativo, como ele será escalado e a escolher o sistema de orquestração.
- Em seguida, ele configura servidores, realiza a verificação automatizada e o upload de código, além da validação do ambiente.
- Depois, automatiza testes e resolve questões relacionadas ao deploy.
- Após o lançamento, é importante coletar feedback dos usuários e implementar melhorias. O DevOps faz com que os usuários não percebam essas melhorias e que o processo de atualização seja contínuo.
- E ainda resolve dezenas de tarefas que ajudam a organizar o sistema de trabalho de desenvolvedores, QA, administradores de sistema e gerentes.
Tudo o que foi escrito acima acontece em projetos próximos ao ideal. No entanto, na vida real, muitas vezes é preciso começar em um projeto onde o planejamento foi negligenciado, a arquitetura estava errada, e a automação foi considerada apenas quando todos os projetos já estavam parados. E desvendar todos esses problemas, resolvê-los e fazer tudo funcionar é uma habilidade chave do especialista em DevOps.
No mercado de trabalho há confusão. Às vezes, as empresas buscam engenheiros DevOps para a posição de engenheiro de sistemas, engenheiro de build ou alguém semelhante. As responsabilidades podem variar dependendo do tamanho da empresa e da área — em alguns lugares procuram uma pessoa para consultoria, em outros pedem para automatizar tudo, enquanto em outros exigem que o profissional execute funções mais amplas de administrador de sistemas que saiba programar.
O que você precisa para começar na profissão
Ingressar na profissão requer preparação prévia. Simplesmente chegar a cursos do zero, sem entender nada de TI, e se formar no nível júnior não será suficiente. É necessário um conhecimento técnico prévio:
- É ideal se você já tiver trabalhado por pelo menos seis meses como administrador de sistemas, especialista em operações ou em testes. Ou pelo menos ter uma ideia de como os aplicativos são iniciados, em que ambiente podem se desenvolver e o que fazer ao encontrar um erro. Se você não tem experiência, faça qualquer curso de administração de Linux, repetindo tudo o que acontece em sua máquina pessoal.
- Entenda como funcionam as tecnologias de rede — aprenda a instalar, configurar e gerenciar redes locais e globais.
- Veja como e de que forma a programação é estruturada — escreva alguns scripts em Python ou Go, tente entender os princípios da POO (Programação Orientada a Objetos), leia sobre o ciclo de desenvolvimento de produtos.
- É útil ter conhecimento de inglês técnico — não é necessário conversar sobre tópicos variados, mas basta saber ler documentação e interfaces.
Não é necessário saber tudo mencionado em detalhes, para começar a aprendizagem em DevOps, um nível mínimo de preparação é suficiente. Se você tem esse conhecimento técnico, tente se inscrever em cursos.
O que um DevOps deve saber
Um bom engenheiro DevOps é um especialista multifuncional com uma visão muito ampla. Para ter sucesso, você terá que compreender várias áreas de TI simultaneamente.
Desenvolvimento
DevOps escreverá um script que ajudará os desenvolvedores a implantar o código no servidor. Criará um programa que testa 'em tempo real' a responsividade dos bancos de dados. Escreverá um aplicativo para controle de versionamento. Finalmente, perceberá uma potencial problema no desenvolvimento que pode surgir no servidor.
Um forte especialista em DevOps conhece várias linguagens adequadas para automação. Embora não as conheça em profundidade, ele consegue rapidamente escrever um pequeno programa ou ler código de terceiros. Se nunca trabalhou com desenvolvimento antes, comece com Python — sua sintaxe é simples, é fácil trabalhar com tecnologias de nuvem, e há muita documentação e bibliotecas disponíveis.
Sistemas operacionais
É impossível conhecer todas as funcionalidades de cada versão de cada sistema — o treinamento para isso pode levar milhares de horas e não trazer resultados significativos. Em vez disso, um bom DevOps entende os princípios gerais de funcionamento de qualquer sistema operacional. Embora, de acordo com as menções em vagas de emprego, a maioria trabalhe atualmente no Linux.
Um bom engenheiro entende em qual sistema é melhor implantar um projeto, quais ferramentas usar e quais erros potenciais podem surgir durante a implementação ou operação.
Nuvens
O mercado de tecnologias de nuvem em média de 20-25% ao ano — essa infraestrutura permite automatizar operações de teste de código, construção de aplicações a partir de componentes e entrega de atualizações para os usuários. Um bom DevOps compreende tanto soluções totalmente em nuvem quanto híbridas.
Nos requisitos padrão para engenheiros, geralmente está listado GCP, AWS e Azure.
Isso inclui também o domínio de ferramentas de CI/CD. Normalmente, o Jenkins é utilizado para integração contínua, mas vale a pena experimentar outras opções. Há muitas, como Buddy, TeamCity e Gitlab CI. É útil aprender sobre o Terraform — uma ferramenta declarativa que ajuda a levantar e configurar remotamente a infraestrutura nas nuvens. E Packer, que é necessário para a criação automática de imagens de sistemas operacionais..
Sistemas de orquestração e microsserviços
A arquitetura de microsserviços tem muitas vantagens — estabilidade, escalabilidade rápida, simplicidade e reutilização. O DevOps entende como os microsserviços funcionam e pode antecipar problemas potenciais.
Conhece profundamente Docker e Kubernetes. Entende como funcionam os contêineres e como construir um sistema de forma que seja possível desacoplar parte deles sem consequências para o sistema como um todo. Por exemplo, sabe como construir um cluster Kubernetes usando Ansible.
O que mais o futuro DevOps deve experimentar?
A lista de ferramentas que podem ser úteis para um engenheiro DevOps é praticamente infinita. Alguns trabalham na orquestração de projetos, outros passam a maior parte do tempo na automação de implantações e testes, e há aqueles que se concentram em melhorar a eficiência na gestão de configurações. No processo, ficará claro onde aprofundar e quais projetos serão úteis.
Aqui está um pequeno mínimo que ajudará no início:
- Entenda como o Git e o Github funcionam, caso ainda não tenha se deparado com isso. Instale o GitLab em seu servidor.
- Familiarize-se com as linguagens de marcação JSON e YAML.
- Instale e experimente trabalhar com bancos de dados — não apenas MySQL, mas também NoSQL. Experimente o MongoDB.
- Aprenda a gerenciar a configuração de múltiplos servidores. Por exemplo, utilizando o Ansible.
- Configure imediatamente o monitoramento de carga e logs. Teste a combinação Prometheus, Grafana, Alertmanager.
- Pesquise as melhores soluções de deployment para diferentes linguagens — basta se familiarizar, você desenvolverá suas habilidades em um projeto de treinamento ou trabalho.
Por que começar a estudar DevOps agora
Há escassez de profissionais de DevOps no mercado. Isso é condicionalmente confirmado pela quantidade e qualidade das vagas:
- Na Rússia, apenas no HeadHunter, estão constantemente disponíveis mais de 2 mil vagas com essa palavra-chave.
- E apenas 1.900 pessoas publicaram currículos.
Considerando que ter um currículo publicado não significa estar ativamente à procura de trabalho, isso resulta em cerca de duas, ou até três, vagas por especialista — essa situação não ocorre nem mesmo no popular mercado de desenvolvimento web. Adicione a isso as vagas do Habr e dos canais do Telegram — a falta de especialistas é enorme.

Preste atenção nas expectativas salariais dos candidatos
DevOps também é bastante procurado no mundo — se você está pensando em se mudar para os EUA ou Europa, apenas no portal mais de 34 mil empresas estão à procura desses especialistas. As exigências comuns incluem experiência de 1 a 3 anos, habilidade em trabalhar com "clouds" e estar disposto a realizar funções de consultoria.
No freelance, as ofertas são bem mais escassas — os engenheiros DevOps são principalmente buscados para posições fixas e em tempo integral.

Encontrar um projeto adequado no freelance é complicado, mas possível
Um percurso de carreira condicional de um engenheiro DevOps pode ser representado aproximadamente assim:
- Trabalha como administrador de sistemas em uma pequena empresa de TI por seis meses a um ano. Ao mesmo tempo, estuda uma linguagem adequada para automação.
- Estuda intensivamente em cursos, por cerca de seis meses.
- Muda de emprego — para uma empresa que vende soluções em nuvem, um ramo de uma grande corporação que desenvolve grandes projetos. Em termos simples, para um lugar onde há necessidade de automação constante e implementação. Na posição inicial, isso corresponde a cerca de 100 mil rublos.
- Trabalha e estuda ativamente por vários anos, aumentando a renda várias vezes.
- Torna-se um especialista na comunidade profissional e muda para consultoria. Ou cresce para arquiteto de sistemas ou diretor de TI.
DevOps é complicado. É preciso combinar habilidades de várias profissões. Tornar-se a pessoa que está pronta para propor melhorias onde outros especialistas de TI nem sequer pensam em outra coisa. Pagam bem por isso, mas também será necessário um grande volume de conhecimento.
Quanto os DevOps ganham
De acordo com dados do segundo trimestre de 2019, o salário médio mediano dos DevOps varia entre 90 e 160 mil rublos. Existem propostas mais baratas — principalmente entre 60 e 70 mil.
Constantemente há ofertas de até 200 mil, e às vezes surgem vagas com salário de até 330 mil rublos.

Entre os especialistas em operações, os DevOps são os que recebemos mais. Fonte:
DevOps engineers, incluindo os iniciantes, agora são necessários em grandes bancos, corporações, serviços em nuvem, sistemas comerciais e outras organizações que se preocupam em manter suas soluções de TI.
Um excelente candidato para uma vaga júnior com salário entre 60 e 90 mil seria um administrador de sistemas iniciante com cerca de um ano de experiência e diploma na área.

Não há estatísticas nesse sentido, mas pela sensação, as pessoas com experiência em Linux recebem mais.
O que assistir e ler para crescer na profissão
Para mergulhar no mundo do DevOps, tente várias fontes de informação:
- [YouTube, ENG] — muitos vídeos de conferências e webinars educacionais.
- [YouTube, RUS] — vídeos de relatórios da conferência profissional de DevOps na Rússia.
- [livro, RUS] — um dos livros mais populares sobre filosofia DevOps. O livro contém princípios gerais da metodologia e explica a que prestar atenção em primeiro lugar ao trabalhar em qualquer projeto.
- [livro, RUS] — muita teoria e princípios sobre como a administração de sistemas deve ser estruturada.
- [livro, ENG] — um resumo semanal de notícias sobre o que está acontecendo no DevOps ao redor do mundo.
- [Telegram, RUS] — notícias da indústria, anúncios de conferências, links para novos artigos e livros interessantes.
- [Telegram, RUS] — um chat em russo onde você pode pedir conselhos e solicitar ajuda com configurações.
- Devops.com — um grande site internacional com artigos, webinários, podcasts e colunas das maiores empresas da indústria.
- — uma comunidade de falantes de russo de engenheiros DevOps e simpatizantes.
- Os melhores livros na linguagem que você usará para desenvolver.
Onde estudar para ser DevOps
Você pode obter conhecimento estruturado no curso «» na Netology. Você aprenderá o ciclo completo da metodologia:
- Descobrirá como analisar códigos e usar rapidamente ferramentas de controle de versões.
- Você entenderá as melhores práticas de integração contínua, testes e construção.
- Aprenderá a gerenciar mudanças em aplicativos e a automatizá-las.
- Na prática, você estudará ferramentas de configuração e gerenciamento.
- Estará acostumado a escolher e configurar imediatamente os serviços necessários para monitoramento.
Como bônus, você receberá um curso de programação em Python — resolverá problemas ainda mais rápido e fácil. Tudo na prática — usando AWS, GCP ou Azure.
Isso é suficiente para transformar um engenheiro iniciante ou um administrador de sistemas em um DevOps requisitado e aumentar agradavelmente seu valor no mercado de trabalho.
Fonte: habr.com
