As metodologias e ferramentas de DevOps permitem que as organizações acelerem sua construção e adoção de serviços cruciais. Se você quiser se tornar um engenheiro de DevOps sólido, precisará desenvolver uma compreensão não apenas dos princípios de DevOps, mas também de como esses princípios afetam as equipes e os produtos.
Isso significa que os engenheiros de DevOps devem ter excelentes habilidades de colaboração e trabalho em equipe. Vamos explorar o que é preciso para se tornar um engenheiro de DevOps.
Primeiro Passo: Entendendo o DevOps
Há vários detalhamentos sólidos de DevOps on-line, incluindo este extenso do Gitlab; SimpliLearn também tem um bom explicador. Em essência, uma boa estratégia de DevOps abrange três áreas:
- Tecnologia (CI/CD, automação, ferramentas de teste, etc.)
- Processos e metodologia (ou seja, Agile e Scrum)
- Equipe e cultura interna (todos alinhados em direção ao mesmo objetivo!)
Leva tempo para mudar uma cultura interna para abraçar totalmente o DevOps. Por exemplo, você deve ensinar uma equipe a usar efetivamente a metodologia Agile e, em seguida, adotar as ferramentas que permitem um trabalho mais rápido. É difícil, mas muitas organizações sentem que os resultados valem a pena.
o Relatório de atualização de TI 2022 do DevOps Institute lista os cinco principais processos e estruturas obrigatórios nas empresas de TI:
- DevOps e DevSecOps
- Ágil
- Engenharia de Confiabilidade do Site (SRE)
- Design Thinking e System Thinking
- ITIL
Completamente novo no DevOps? Comece estudando as três áreas a seguir:
Se você deseja construir uma carreira como engenheiro de DevOps, precisará dominar essas habilidades, ferramentas e processos ao ponto onde você pode incluí-los em seu currículo. Seus materiais de inscrição também devem enfatizar seus resultados anteriores e projetos bem-sucedidos, bem como sua capacidade de trabalho em equipe eficaz.
Vários caminhos para se tornar um engenheiro de DevOps
David Torgerson, vice-presidente de infraestrutura e TI da Lucid, diz que entrou no DevOps muito jovem. “Quando eu tinha 13 anos, meu avô era dono de uma escola de formação técnica para pessoas se tornarem profissionais de carreira trabalhando em segurança, sysadmin, desenvolvimento e outras áreas”, diz ele. “Eu adorava ir e conversar com os alunos porque eles estavam me contando sobre sua experiência no mundo real em campos novos e emergentes.”
Por meio dessas conversas, ele entendeu como o DevOps está no meio de todos os problemas de segurança, administração de sistemas, desenvolvimento e negócios, e pode ajudar a unir essas áreas para resolver problemas realmente complexos.
“Mesmo que eu não estivesse trabalhando naquela idade, aquela exposição precoce a essas pessoas e campos me colocou no caminho de incorporar esses princípios em todas as funções que tive desde então”, diz ele.
Para Matt Bacchi, engenheiro sênior de DevOps da Codecademy, a experiência foi um pouco diferente: ele passou de técnico de laboratório de informática, depois suporte técnico por telefone, desenvolvimento, administração do Sistemae engenharia de lançamento antes de finalmente entrar no DevOps.
“DevOps é uma área do setor onde a experiência multidisciplinar e a diversidade de formações são extremamente importantes e úteis para sua equipe”, ressalta. “Então, ter um currículo que mostre que você tentou muitas outras coisas com sucesso pode ser um sinal de que você é uma pessoa curiosa.”
Como o treinamento afeta sua carreira de DevOps
Torgerson diz que certas certificações provaram ser úteis para sua carreira, citando:
As certificações podem ser úteis para engenheiros com mentalidade de DevOps porque podem permitir que você veja o “quadro geral” e entenda os princípios fundamentais em ação em qualquer tecnologia. “A certificação CISSP me deu uma ampla compreensão de todos os aspectos de segurança e foi muito útil para equilibrar minha compreensão geral dos diferentes critérios envolvidos nesse campo”, diz ele. “O certificado da Cisco é fantástico porque se concentra nos princípios de rede.”
Torgerson diz que a certificação da Microsoft permitiu que ele entendesse melhor os sistemas distribuídos e como eles são projetados para funcionar em escala: “Esses princípios foram inestimáveis para que eu pudesse aplicar em meu trabalho, mesmo trabalhando em um ambiente totalmente Linux”.
Além das certificações específicas do setor, qualquer pessoa interessada em DevOps pode obter certificações específicas de DevOps, incluindo:
Existem outras certificações de DevOps, geralmente específicas da empresa, que ficam on-line o tempo todo; se você deseja se tornar um engenheiro de DevOps eficaz, precisa estar constantemente ciente do que há de novo (e do que está sendo desativado).
Para os engenheiros de DevOps em setores específicos, o conhecimento de certas ferramentas, linguagens de programação e estruturas também é obrigatório. “Uma função de DevOps geralmente exigirá alguns scripts, por isso é importante ter pelo menos algumas linguagens de programação em seu currículo”, observa Bacchi. “Pitão é particularmente útil, dado o quão comum é.”
Mentoria é sempre fundamental
Com o DevOps, é tão importante poder ensinar quanto aprender. “Você não apenas precisa ter um amplo conjunto de habilidades, mas sua proficiência precisa ser profunda o suficiente para poder mostrar aos outros o que está fazendo”, diz Bacchi. “Assim que você se tornar um especialista no assunto, precisará começar a explicar e detalhar conceitos para outros engenheiros e desenvolvedores de DevOps.”
De sua perspectiva, há um componente de orientação que está embutido na função. Colaboração e trabalho em equipe (e comunicação eficaz) são fundamentais para o processo, a metodologia e a cultura.
Depois de se formar em engenharia da computação e mestre em ciência da computação, Divya Wadhwani iniciou sua carreira como engenheiro de software e trabalhou seu caminho até um líder de equipe de engenharia.
“Percebi durante meu tempo como diretora que minhas equipes eram constantemente desafiadas pelo DevOps e estavam sempre trabalhando para encontrar soluções melhores”, diz Wadhwani, diretora de programas de educação da Harness, onde ajuda a desenvolver treinamentos ao vivo, cursos individualizados , e certificações padrão do setor para aqueles que desejam aprimorar suas habilidades de DevOps.
“Sempre quis ser capaz de criar oportunidades de aprendizado para outras pessoas no mesmo espaço, resolvendo os mesmos problemas que enfrentei, e meu tempo nessa função provou ser uma ótima maneira de aprender não apenas para mim, mas também ajudam a educar outras pessoas sobre as melhores práticas de DevOps”, diz ela.
Nunca pare de aprender
Profissionais de DevOps bem-sucedidos precisam desenvolver uma forte capacidade de não desligar quando um problema aparentemente impossível surgir em seu caminho. “Quando as pessoas vêm até você com um problema, você precisa ser capaz de reconhecer as razões pelas quais você não quer abordá-lo e girar para ver o que é possível”, diz Torgerson.
Embora algo possa ser uma pergunta impossível pelo valor nominal, perguntar o que é possível, especialmente tecnicamente, é uma habilidade inestimável. “É aqui que esse amplo entendimento de muitas tecnologias se torna útil porque você pode começar a criar soluções verdadeiramente exclusivas para mover esses sistemas na direção certa”, acrescenta.
Embora os engenheiros de DevOps geralmente enfrentem grandes tarefas, manter suas habilidades técnicas e “soft skills” atualizadas é fundamental para reunir uma equipe e/ou organização para superar os desafios. “Aconselho qualquer pessoa na indústria de DevOps a continuar aprendendo e fortalecendo suas habilidades, não importa em que estágio de sua carreira esteja”, diz Wadhwani. “O espaço DevOps está mudando e evoluindo continuamente com novas ferramentas, plataformas e processos.”
Depois de dominar uma mentalidade flexível, os engenheiros de DevOps geralmente podem dar suporte a diferentes segmentos de sua organização, desempenhando funções de suporte importantes em novas equipes. Por exemplo, um engenheiro de DevOps poderia construir um centro de excelência de DevOps dentro da crescente infraestrutura de nuvem de uma organização.
“Construir uma prática em torno da confiabilidade do serviço e da engenharia do caos, por Engenharia de Confiabilidade do Site (SRE) equipes em particular, podem ajudar a estabelecer mais resiliência nos aplicativos que eles suportam”, diz Wadhwani.
Bacchi diz que recomenda construir um blog e aprender em público. “Inclua tanto seus fracassos quanto seus sucessos, porque o primeiro geralmente fornece lições mais impactantes para você e seus leitores”, diz ele. “Escreva posts no blog sobre qualquer coisa que você goste, mesmo que outros já tenham escrito extensivamente sobre o assunto.”