Home > Carreira

O que é um engenheiro DevOps e como você pode se tornar um?

Cada vez mais empresas estão dizendo que querem contratar engenheiros de DevOps e estão dispostas a pagar um bom dinheiro para isso

Josh Fruhlinger, Infoworld

17/09/2019 às 8h05

Foto: Shutterstock

DevOps é uma cultura e filosofia que, em poucas palavras, visa unificar os silos organizacionais de desenvolvimento (profissionais que criam aplicativos) e operações (profissionais que garantem que esses aplicativos estejam funcionando da maneira que deveriam) em uma equipe. Esse time utiliza integração, entrega e testes contínuos para disponibilizar melhorias na base de código existente na produção.

Logicamente, então, um engenheiro de DevOps é alguém com as habilidades necessárias para atuar nessa equipe. Mas, como tudo relacionado a DevOps, a definição precisa sobre o profissional pode ser difícil de alcançar - e algumas pessoas afirmam que o termo "engenheiro de DevOps" não é a melhor forma de definir o cargo. No entanto, cada vez mais empresas estão dizendo que querem contratar engenheiros de DevOps e estão dispostas a pagar um bom dinheiro. Vamos ver o que essas organizações estão procurando.

Definição de Engenheiro de Devops

A implementação de uma filosofia de DevOps não significa que você está substituindo todas as suas equipes de desenvolvimento e operações por uma massa indiferenciada de funcionários, afinal, colaboradores diferentes terão habilidades diferentes. Haverá programadores, administradores de sistema, DBAs etc., todos trabalhando juntos.Quando as empresas usam o termo engenheiro de DevOps, querem alguém que possa ajudar a unir todas essas funções. A Altexsoft, empresa de engenharia de software, descreve o papel da seguinte maneira:

"Alguns consideram essa pessoa um administrador de sistemas que sabe codificar ou um desenvolvedor com as habilidades de um administrador de sistemas. De certa forma, ambas as definições são justas. A principal função de um engenheiro de devops é introduzir o fluxo de trabalho de entrega e integração contínua, o que requer o entendimento das ferramentas [devops] e o conhecimento de várias linguagens de programação."

Já o desenvolver Igor Kantor explica que um engenheiro de devops é "alguém que entende o ciclo de vida de desenvolvimento de software e traz ferramentas e processos de engenharia de software para resolver desafios de operações clássicas". A chave é ter conhecimento e experiência suficientes nos dois os lados dev e ops para entender como eles podem trabalhar juntos - além das soft skills que permitem que os membros mais especializados da equipe se conectem e entendam o mundo além da sua função.

Treinamento de Engenheiro de DevOps

Há uma piada recorrente em lugares como o Reddit, onde os profissionais de TI afirmam que não existe um engenheiro de DevOps junior. Isso ocorre porque a variedade de habilidades técnicas que as empresas que contratam engenheiros de devops estão procurando vai além do que alguém recém-formado poderia ter adquirido.

A maneira de treinar para um cargo de engenheiro de devops é através de uma experiência de trabalho que pode fornecer aos desenvolvedores exposição ao lado das operações, ou vice-versa. Como Jeffrey Lee disse:

"Não há treinamento ou caminho educacional para se tornar um engenheiro de devops. Em outras palavras, são tipicamente as pessoas que confiam em seu conjunto de habilidades atual e se ramificaram em outros papéis. Eles são contratados porque têm profundo conhecimento sobre o campo e têm muita experiência prática. Você não encontrará uma vaga de emprego no LinkedIn que não solicite pelo menos cinco anos de experiência antes de se inscrever."

Habilidades do Engenheiro de DevOps

Só porque não há uma trilha educacional de engenheiro DevOps formal, não significa que você não pode optar por orientar sua carreira para conseguir um emprego na área.

Para isso, você precisa tomar uma decisão consciente para adquirir um conjunto diversificado de habilidades, seja por meio da experiência no trabalho ou por meio de treinamento formal.

Igor Kantor apresenta uma série completa sobre as principais tecnologias e plataformas que devem ser dominadas caso você tenha interesse em se tornar um engenheiro de DevOps: Linux, Python e AWS ou alguma outra plataforma em nuvem; Terraform e Ansible; Git e GitHub; Docker; Jenkins; Amazon ECS e Kubernetes; ELK.

Obviamente, é uma tarefa difícil! No entanto, embora ser um mestre em todas essas plataformas seja impossível, você deve pelo menos ter uma noção de como elas funcionam. Mais importante, você deve saber como se aprofundar nelas caso seja necessário.

Ser um engenheiro de DevOps vai além de conhecer produtos ou tecnologias específicas - e, afinal, isso muda o tempo todo à medida que a indústria evolui. Na verdade, tão importante quanto a familiaridade com a filosofia dos Devops é o ciclo de vida subjacente. Isso significa que você precisará entender o processo de implantação e integração contínua (CI / CD).

E não se esqueça de algumas habilidades básicas: elas são cruciais para um papel no centro de uma mudança cultural capaz de preencher a lacuna entre desenvolvedores e operadores. O fundador da Cybric e ex-CIO do Yahoo, Mike D. Kail, resumiu essa questão: “Cada vez mais, as organizações querem engenheiros de software que dominem habilidades como empatia, integridade e resiliência para ajudar a introduzir uma nova onda de DevOps."

Para garantir um bom desempenho durante uma entrevista na área, é importante que você reflita sobre todas essas questões. Obviamente, durante os processos seletivos existem perguntas sobre tecnologias específicas, mas também é esperado que você explique como todas essas plataformas e ferramentas podem trabalhar juntas, além de mostrar aos possíveis empregadores que você entende a filosofia e os processos dos DevOps.

Se você estiver procurando uma orientação institucional sobre o pacote de habilidades que deve adquirir para se intitular engenheiro de DevOps, vale a pena pesquisar sobre o AWS Certified DevOps Engineer da Amazon. Essa certificação está obviamente focada na plataforma de nuvem da Amazon, mas estudar para o teste mostrará onde estão as lacunas no seu conhecimento na área.

Funções e responsabilidades do engenheiro de DevOps

Então, o que um engenheiro de devops faz no dia a dia? Para a Altexsoft, uma lista típica de responsabilidades de engenheiros de devops funciona da seguinte forma:

Escrever especificações e documentação para recursos do servidor

  • Gerenciar IC / CD
  • Gravação de script de CI / CD
  • Avaliação e monitoramento de desempenho
  • Manutenção e gerenciamento da infraestrutura de TI (incluindo hardware, software, rede, armazenamento, ativos virtuais e remotos e armazenamento de dados na nuvem)

É claro que não existem duas vagas de emprego iguais, e o papel do engenheiro de devops varia de empresa para empresa. O tamanho da organização pode ter um impacto específico para isso. Em uma empresa de pequeno porte, suas tarefas podem abranger todo o ciclo de vida dos devops, enquanto em uma equipe maior você pode acabar se concentrando em uma parte dele.

Se você quiser ter uma ideia do que os empregadores solicitarão como engenheiro de devops, consulte os modelos de descrição de tarefas disponíveis em sites como Dice, Workable e ZipRecruiter. Eles fornecem uma linha de base das expectativas do setor.

Vagas de engenheiro de DevOps

As vagas para engenheiros de devops estão crescendo. De acordo com o TechTarget, isso é resultado da disseminação da filosofia devops em geral por conta das novas demandas das empresas. E há motivos para querer trabalhar na área: a Glassdoor, por exemplo, categorizou o cargo de engenheiro de devops como o sexto melhor emprego da América no momento, com base na combinação de salários médios e satisfação no trabalho.

Salário de engenheiro de DeVops

Sobre esses salários ... eles são bem altos! No relatório de salários da Dice em 2019 os engenheiros de devops estão entre os cinco primeiros no ranking, com uma média de US$ 111.683 para vagas nos Estados Unidos. Já a Glassdoor calcula a média em US$ 115.666, com US$ 91.000 sendo o menor e US$ 155.000 o maior salário. Pois é, adquirir todas essas habilidades levará, sem dúvida, tempo e esforço - mas claramente também gerará uma grande recompensa.

 

Junte-se a nós e receba nossas melhores histórias de tecnologia. Newsletter Newsletter por e-mail