DevOps: conceito, como funciona e mercado de trabalho - Hora da Facul
DevOps: conceito, como funciona e mercado de trabalho
Por Natalia Tojal em 15:37 de 21/06/21
Você, provavelmente já ouviu o termo "DevOps", mas nunca entendeu bem seu conceito. Podemos dizer que vai muito além de um simples sistema, processo ou até cultura. Engloba tudo isso e muito mais. Por isso, hoje vamos falar um pouco mais sobre DevOps, o que é, como funciona, suas principais vantagens e sobre o mercado de trabalho.
O que é e como surgiu o DevOps?
Como funciona o processo e quais são as vantagens?
Existe profissional específico para o DevOps?
DevOps é o futuro para TI
DevOps é uma junção dos termos "development" (Dev) e "operations" (Ops), que podemos traduzir como Desenvolvimento e Operações.
Patrick Debois é considerado o criador deste "movimento" e também criou o DevOps Day, um grande evento mundial para interessados na evolução e aprimoramento na área de TI. Atualmente conta com edições por todo o mundo, inclusive no Brasil.
Tudo começou em 2009, quando o cenário da tecnologia estava muito conturbado e necessitava de mudanças positivas.
A área de software sofria com entregas, mudanças repentinas de clientes, exigência de novos recursos, fluxos de receita, tudo o mais rápido possível… Sem um respiro. Era praticamente impossível fazer tudo isso e ainda assim manter um ambiente estável.
Foi então que o DevOps veio para ajustar esse sistema e resolver esse problema de desequilíbrio entre entrega boa e ambiente saudável.
Agora vamos falar como funciona exatamente, na prática.
Como dito antes, o DevOps é uma combinação entre cultura, metodologia, processo e práticas, que tem o objetivo de integrar as áreas de desenvolvimento, operação e controle de qualidade. Dessa forma, a entrega será ágil e contínua, aumentando e melhorando o valor do serviço e a experiência do cliente.
A cultura DevOps necessita de 3 pilares essenciais para funcionar perfeitamente. São eles:
integração contínua (ou seja, as equipes sempre em sintonia, compartilhando conhecimento);
implementação contínua (ou seja, liberação rápida de novas versões de softwares);
feedback contínuo (ou seja, feedbacks para todas as equipes sobre o processo e serviço).
É como se fosse uma grande roda que gira sem parar, mas em um bom ritmo para todos. Então, durante todo o processo de planejamento, desenvolvimento, fornecimento e operação do software, é necessário manter essa roda girando também.
Além disso, há também pilares culturais que sustentam essa metodologia, como, por exemplo: colaboradores integrados e alinhados com a cultura, foco total no projeto, reuniões constantes e conjuntas, infraestrutura de qualidade, padronização das configurações e, principalmente, uma boa gestão.
É possível trabalhar diretamente voltado ao DevOps. Atualmente, as empresas utilizam o termo "engenheiro de DevOps", mesmo que não seja perfeito para definir esse "cargo" em si.
Mas o que esse engenheiro faz exatamente? Essa pessoa será responsável por unir todas as equipes, fazendo com que trabalhem em um fluxo contínuo e integrado. E esse fluxo de entrega e integração contínua também poderá ser introduzido e/ou desenvolvido por esse profissional.
Por isso, um engenheiro de DevOps precisa entender sobre essa cultura, sobre os processos na empresa e também sobre linguagens de programação. É necessário que entenda todo o ciclo de desenvolvimento de software, pois só assim conseguirá trazer ferramentas e processos que garantirão sucesso ao resolver os desafios das operações tradicionais.
Um profissional completo tem conhecimento e experiência tanto na área de Desenvolvimento, quanto na área de Operação. Assim entende ambos os lados e consegue equilibrá-los, de forma que possam trabalhar juntos.
E não podemos deixar de citar as soft skills, também conhecidas como "habilidades interpessoais". O engenheiro também é um gestor de processos e, com isso, necessita lidar com diferentes pessoas e jeitos de trabalhar.
Algumas soft skills necessárias para esse cargo são:
habilidades de planejamento;
capacidade de resolver problemas e desafios.
Exatamente por tudo isso, existe uma piada que ronda a internet de que não existe um engenheiro de DevOps júnior, pois as empresas procuram alguém com experiência e habilidades ímpares.
Para trabalhar nesse ramo, uma possibilidade é se formar em alguma área voltada à tecnologia, como engenharia de sistemas ou ciência da computação, e depois buscar uma especialização ou treinamento específico para DevOps.
Resumindo, o profissional da área é alguém capaz de entender o macro e o micro, unindo todas as equipes envolvidas no processo, criando um fluxo contínuo e de qualidade até a entrega final.
A cultura DevOps não é tão antiga e há muitas empresas que ainda trabalham com o sistema tradicional, sendo repleto de falhas. Além disso, é ridicularizada por vários profissionais, por parecer uma utopia, impossível de dar certo.
Mas, uma coisa é certa: para implementar essa cultura, é preciso muito mais do que simples vontade vinda de cima. Todos os colaboradores precisam acreditar nesse processo e se empenhar também. A cultura organizacional é extremamente importante.
Vai muito além de um passo a passo mecânico a ser seguido. Como é um processo que envolve pessoas, as pessoas precisam estar envolvidas.
Se a implementação der certo, a roda girar e as equipes ficarem realmente integradas, o sucesso para a empresa e para seus clientes poderá ser enorme. A qualidade do serviço entregue poderá superar expectativas. Mas tudo depende das pessoas e da cultura da empresa.
Para quem se interessa pelo assunto e quer se aprofundar, há um livro escrito pelo próprio Patrick Debois e mais 3 especialistas, Gene Kim, Jez Humble, e John Willis. Chama-se "The Devops Handbook" e aborda estudos de caso e recomendações sobre produtividade no desenvolvimento de softwares. Leitura obrigatória para quem trabalha na área.
Resumindo, DevOps é uma cultura organizacional, que visa integrar todas as equipes envolvidas no processo de desenvolvimento de software. Garante entrega contínua, qualidade no serviço, um fluxo sem gargalos, além de otimizar a produtividade das operações na área de TI. Necessita de uma boa gestão de processos, pessoas interessadas e empenhadas, união, foco no projeto e feedbacks contínuos. Mas, se aplicada com precisão e coerência, poderá trazer resultados muito melhores à empresa, aos colaboradores e, principalmente, aos clientes que necessitam de bons softwares.