No final do ano passado eu comecei a procurar emprego e, como de costume, procurei pelo cargo de sysadmin ou system administrator.

Na minha carreira como sysadmin eu majoritariamente administrei infra-estrutura composta de servidores Linux e Unix, redes – switches, roteadores, firewalls, subnets, vlans -, storage, backup, etc.

Lógico que essa infra foi evoluindo. No começo eram dezenas a centenas de servidores físicos dentro de um “CPD” ou data centre. Cada um com seu próprio sistema operacional, discos locais. Talvez um servidor NFS. Com o passar do tempo isso foi sendo consolidado e virtualizado. VMWare entrou na parada e muito do nosso trabalho ficou mais fácil. Era possível ter um storage consolidado, máquinas virtuais que podiam ser administradas remotamente e migradas “live” entre máquinas físicas.

https://www.xkcd.com/705/

Mas os conceitos ainda não tinham mudado muito. Até surgir o movimento DevOps que basicamente revoluciona como você cria e gerencia infra-estrutura.

Ao invés de instalar servidores, configurar switches, particionar discos no storage e fazer backup em fita você escreve um imenso arquivo YAML ou JSON declarando o que precisa ser feito e despacha isso pro seu cloud provider. E tudo aquilo que você deseja acontece automagicamente.

Por causa disso o termo sysadmin parece ter mudado. Quando comecei a procurar vagas de sysadmin tudo o que eu encontrava com esse título eram vagas do tipo suporte de usuário. Vagas para cuidar de impressora, servidor Windows e desktops.

Não me levem a mal. O trabalho em si é perfeitamente válido e necessário. Alguém precisa fazer. Mas no meu entender tradicional isso seria desktop support ou algo assim. Não sysadmin.

Precisei mudar os termos de busca e comecei a usar DevOps e SRE ao invés e foi aí que achei as vagas que realmente combinavam com o que eu estava procurando.

Porém o mais interessante é que majoritariamente as vagas procurando alguém de DevOps e SRE colocam foco na parte “Dev”. Todas pedem linguagens de programação e banco de dados, por exemplo, mas raramente vi uma vaga que falasse explicitamente da parte “Ops”, como redes ou conhecimentos mais aprofundados de sistemas operacionais.

A vaga que eu peguei é oficialmente “DevOps Software Developer”. Passei por 3 rounds de entrevista, incluindo uma on-site quase o dia inteiro com diversas pessoas. Consegui saber o suficiente para ser contratado como software developer.

Vou dizer que eu estava um pouco apreensivo já que escrever software sempre foi uma coisa secundária e só nos últimos 5 anos que comecei a fazer isso “do jeito certo”.

Mas bastou um mês no novo emprego para perceber que enquanto o time já estava mais ou menos bem servido na parte de “Dev”, ninguém realmente entendia a parte de “Ops”. Cada vez que surgia um problema de conectividade, por exemplo, todo mundo ficava completamente perdido.

O resumo da história é que a profissão sysadmin como tradicionalmente conhecemos está desaparecendo. Porém é uma grande oportunidade para quem tem conhecimentos em operações: A maior parte das empresas montando um time de DevOps não tem um bom entendimento da parte de Ops!

Lógico que não é só mudar o título no seu currículo. É essencial se engajar e aprender a escrever software. Estou planejando um outro post em breve, mas a minha opinião até o momento é que para fazer a transição com sucesso você vai precisar conhecer (além do background de sysadmin):

  • Cloud computing (AWS no mínimo, GCP e Azure se puder)
  • Ferramentas de CI/CD
  • Arquiteturas de microservices
  • Containers e Kubernetes
  • 3 linguagens de programação: Shell Script, Python e Go