Neste artigo,
Alexandra Romanenko, que colabora com o EPAM como Engenheira de Software Líder, compartilha suas opiniões sobre reciclagem e fala sobre o que procurar se você deseja se tornar um especialista em DevOps.

Fonte da foto: pexels.com
Minha história
Me deparei com a especialidade do DevOps quando ainda era desenvolvedor enquanto trabalhava em um projeto usando tecnologias sem servidor. Nos projetos clássicos de Java, as funções de testador, desenvolvedor e DevOps são claramente delineadas e os sistemas sem servidor são fundamentalmente diferentes. Esse novo e interessante tópico "alimentou" minha curiosidade profissional. Comecei a me aprofundar no projeto, estudá-lo, não se limitando apenas à minha área de trabalho. Comecei a preparar relatórios sobre o tópico de serviços da Amazon sem servidor e a conversar com eles nas reuniões do DevOps. Na minha posição atual, eu era ideal para habilidades e houve uma reorientação.
De onde vêm os especialistas em DevOps?
Minha experiência mostra que no DevOps, via de regra, eles vêm de
administradores de sistema e, com menos frequência, de
desenvolvedores. Para ser uma "ponte" confiável entre o processo de desenvolvimento e as atividades operacionais, você precisa ter conhecimento nas duas áreas. Na prática, isso é extremamente raro, porque, no processo, os colegas precisam compartilhar experiências. Por exemplo, eu não tinha conhecimento no campo da engenharia de sistemas. Não estudei as disciplinas necessárias na universidade e não as encontrei na prática. Preencher as lacunas ajudou colegas com experiência em administração de redes, com quem, por sua vez, compartilhei meus conhecimentos. Em uma boa equipe, a simbiose e a assistência mútua sempre reinam, caso contrário - de jeito nenhum.
Na minha opinião, é mais fácil para especialistas com experiência em desenvolvedor se familiarizarem com o DevOps por dois motivos:
- Eles estão mais conscientes das solicitações das equipes de desenvolvimento e teste e "falam o mesmo idioma ".
- Os programadores estão acostumados à complexidade estrutural . Eles desenvolvem destreza ao trabalhar com grandes quantidades de dados, milhares de arquivos e pastas. Qualquer projeto, em qualquer linguagem de programação, é mais complicado que o código com o qual o DevOps lida, portanto, como eles dizem, eles não estão acostumados. Mas colegas sem habilidades de desenvolvimento são um pouco mais complicados.
É verdade que há outro lado da moeda. Se, por exemplo, uma das ferramentas necessárias para o DevOps não estiver funcionando corretamente, os colegas sysadmins poderão expressar apenas seu descontentamento em voz alta. Ao mesmo tempo, como desenvolvedor, estou adicionando trabalho a mim mesmo: estou procurando um erro no código e até tentando corrigir o bug. Mas isso só é possível se o instrumento for escrito em um idioma que eu falo, se não, haverá uma amarga decepção. Um dos meus relatórios é chamado "Por que eu odeio Terraform": inicialmente porque freqüentemente quebra devido a bugs. Mas o fato de estar escrito no GO, que não possuo e, portanto, não posso corrigir bugs, também não ajuda
Fontes de conhecimento
Sou a favor de não seguir os outros cegamente, mas de fazer o meu caminho. Portanto, recomendo que você use as oportunidades disponíveis e se desenvolva em um ritmo confortável para você.
- Comece com o seu projeto. Certamente, há um especialista em DevOps em seu projeto. Analise o que ele faz, que habilidades ele usa. Se você tiver dúvidas, pergunte diretamente. Sua tarefa é se tornar DevOps em seu projeto. É sempre mais fácil treinar novamente em um ambiente familiar do que chegar a um novo emprego em uma função diferente. Você conhece as tarefas do seu projeto, conhece a equipe, condições confortáveis. Será mais fácil se adaptar ao desconhecimento de novas habilidades.
- Reuniões presenciais, palestras, mitaps. Se o seu projeto não possui um especialista em DevOps, os eventos profissionais são uma ótima solução. Nessas conferências e reuniões, você tem acesso à prática. Os desenvolvedores podem fazer perguntas e procurar aconselhamento. E os tópicos dos relatórios lhe dirão o que é agora relevante nesta profissão.
- Trabalhe com documentação oficial. Não sou fã de cursos on-line e tutoriais em vídeo. Todas as informações necessárias estão contidas na documentação oficial. Muitas vezes, as pessoas encontram um problema, pesquisam a solução no google, copiam e colam o código ou o script da resposta mais poluída do fórum. Globalmente, isso não resolve o problema. Uma pessoa ainda não entende como o que funciona ou por que ainda não funciona. Além disso, você pode procurar uma solução e criar ainda mais problemas.
Meu amigo comprou um macbook. Algo deu errado com ele, ela decidiu “pedir” à Internet uma saída. Em um dos fóruns, encontrei a resposta mais "plausível" e decidi usá-la. Como ela descobriu mais tarde, os amantes do sarcasmo votaram nesse comentário. Na resposta do fórum, estava escrito: "Execute" sudo rm -rf "na linha de comando." Como resultado, de uma só vez, ela levou tudo para si mesma em um novo computador. Se ela verificasse qual era a tarefa desse código antes de usá-lo, os problemas poderiam ter sido evitados.
É melhor passar 3 horas para entender como um código ou script funciona, do que 5 minutos para copiar a resposta de outra pessoa na Internet e 3 dias para desmontar o motivo pelo qual algo está quebrado.Principais recursos do DevOps
- Perseverança. Você precisa estar preparado para o fato de que muito não funcionará, não apenas na primeira vez, mas também na segunda ou até na terceira. Mas você não pode parar o que começou no meio do caminho. Portanto, as pessoas que são meticulosas, trabalho duro não é adequado para o personagem, será muito difícil.
- Atenção aos detalhes. O DevOps desatento é como um elefante em uma loja de porcelana. Uma ação descuidada implicará danos significativos. Você pode causar grandes prejuízos às empresas clicando acidentalmente no botão errado.
- Pensamento analítico: alguns DevOps acham que estão no caminho de menor resistência, tentando encontrar exemplos prontos e aplicá-los em seu projeto, em vez de estudar a documentação técnica. De fato, eles desenvolvem um mau hábito e chegam a um beco sem saída. Bem, se o exemplo encontrado funcionar, mas se não, então a pessoa perde tempo na próxima pesquisa. Lembre-se da citação do desenho animado “Asas, pernas e rabos”: “É melhor passar um dia, mas depois voar em 5 minutos”? Aconselho que você leia a documentação, que descreve claramente o princípio de operação de uma ferramenta. Ele permite que você inicialmente organize e inicie o processo corretamente. Tomemos um exemplo de bons desenvolvedores: eles estudam uma pergunta, analisam, pensam e depois escrevem.
- Multitarefa . Os especialistas em DevOps precisam combinar o trabalho de suporte e desenvolvimento. Por um lado, ajudo constantemente a equipe em termos de suporte. Algo quebra, não funciona, falta algo, algo precisa ser alterado, adicionado e explicado. Ao mesmo tempo, há uma constante atividade em segundo plano na programação. Obviamente, o desenvolvimento é sempre mais fácil quando ninguém puxa pelo menos algumas horas. Sendo um DevOps, tive que aceitar o fato de que alguém precisa da minha ajuda o tempo todo. Você precisa se acostumar a executar várias tarefas em paralelo, alternando e se adaptando rapidamente.
Você desenvolverá automaticamente essas habilidades. Envolva-os todos os dias. O principal é estar preparado e saber o que espera por você.
Minha abordagem para reciclagem
Uma pré-condição para uma mudança na especialização é o interesse. É ele quem incentiva o estudo de áreas afins. Para o desenvolvimento profissional, é extremamente importante estudar não apenas os tópicos do seu perfil nos quais você já tem experiência, mas também se familiarizar com orientações completamente novas para você, se inspirarem. Talvez um deles determine o vetor de maior desenvolvimento na carreira.
Você tem que tentar coisas diferentes. "A loucura de fazer a mesma coisa, na esperança de obter resultados diferentes" - eu realmente gosto dessa expressão.
Profissionais que querem estar “no topo de uma onda”, trabalham com tecnologias avançadas, ganham mais dinheiro, não podem parar por um segundo. É importante para eles monitorar tendências diariamente, se interessar por novos projetos da empresa e monitorar as tendências atuais.
Mas, pessoalmente, tenho uma abordagem mais romântica à implementação profissional: gosto de apreciar meu trabalho favorito com calma, aprimorar minhas habilidades, se você quiser "seguir o fluxo", e me forçar a me reorientar para algo novo apenas porque é popular, não meu estilo.