Desde muito cedo que acompanho diversos desportos individuais e coletivos, tendo o atletismo um lugar de destaque. Cresci a acompanhar relatos emocionantes sobre vitórias e recordes de atletismo no meu seio familiar, pelo que nutri uma paixão pela competição, que, durante a pandemia, ganhou uma maior expressão na minha vida, levando-me a definir um objetivo ambicioso: participar numa maratona.
Corri a minha primeira maratona em 2022, contudo o tempo de realização da mesma ficou áquem das minhas expectativas e, assim, surgiu um novo objetivo: correr uma maratona e finalizar em menos de três horas. O desafio é já em setembro, com a participação na minha segunda maratona.
Mas aqui surge uma reviravolta: sou também profissional de Tecnologia da Informação, imerso no mundo do DevOps. O DevOps não é apenas um conjunto de práticas e ferramentas, é uma cultura, uma forma de estar, que promove uma colaboração estreita entre o desenvolvimento (Dev) e as operações (Ops), otimizando as entregas ao cliente final, já que esses mesmos ciclos de entrega são, geralmente, curtos (2 a 4 semanas). Esta rápida recolha de informação sobre o produto por parte do cliente permite fazer correções ou alterações, sem esperar pelo fim do projeto, algo que, no passado, a gestão Waterfall não permitia.
O que tem isto a ver com a minha participação numa maratona? Tudo! Surpreendentemente, descobri que os princípios do DevOps podem ser aplicados na preparação para uma maratona.
A preparação para uma maratona, tal como um ciclo de vida de entrega de produto DevOps, pode ser dividida em três fases distintas: desenvolvimento, testes e produção. Em cada fase, como em cada mesociclo, há lições a serem aprendidas e ajustes a serem realizados. Assim, planeio a minha preparação com base nestes três ciclos. De forma a simplificar, coloco entre parênteses alguns exemplos de ferramentas DevOps ou fases de desenvolvimento e testes.
No primeiro mesociclo, analogamente como na fase de desenvolvimento do produto, são estabelecidas as bases. Aqui, focamo-nos nas questões aerobias (infraestrutura), em que se começa a desenvolver a carga de treinos (linhas de código, no Bitbucket) e pequenas sessões de séries. Faz-se um primeiro teste de lactato (testes unitários) para a partir dessa base se começar a definir treinos mais específicos para evitar lesões. Tal como nas equipas de desenvolvimento, existem diversas ferramentas/equipamentos que podem ser usados como Training Peaks (Jira) para planeamento de atividades, monitor cardíaco/monitor de potência (Zabbix/Grafana), entre outros.
À medida que avançamos para o segundo mesociclo, entramos na fase de testes. Esta será uma fase de preparação bem mais pesada em termos de carga de quilómetros (testes), em que se começa a trabalhar bastante mais a parte anaerobia (testes de esforço), valida-se a forma física e se os objetivos são reais ou se será necessário enquadrá-los. Como fui dizendo ao longo do texto, cada treino, cada nova semana, ajuda a otimizar o treino seguinte. Nesta fase, começa-se a testar também a alimentação e a hidratação (testes unitários), bem como o equipamento a usar no dia da prova, sejam eles sapatilhas, meias, t-shirt ou calções (testes de sistema).
Chegando ao mesociclo final, aproximamo-nos da entrada em produção – o dia da corrida. No primeiro quartel deste ciclo começa-se a visualizar o dia da prova, em que tudo tem de estar praticamente afinado. Não há grande retorno, apesar de ainda ser possível adaptar algumas questões. No último quarto deste mesociclo, principalmente na última semana, começa o chamado carb–load ou ingestão de hidratos de carbono “excessiva” (preparar monitorizações, backups, scripts de rotina, prevenir as equipas impactadas) de maneira preparar reservas para o grande dia.
E chega, então, “o” dia, mas tal como na implementação de software, tudo pode acontecer. Todos os envolvidos (cliente) têm a expectativa que tudo corra bem e se, efetivamente, a corrida (entrada em produção) for como planeada, toda a preparação valeu a pena. Caso contrário, é uma aprendizagem para o futuro e volta “tudo ao início”, como o símbolo do infinito, que representa o DevOps. Aliás, “tudo ao início” não, porque a experiência adquirida permitirá uma melhor preparação para a próxima maratona.
Esta convergência entre a minha paixão pelo atletismo e a minha carreira em tecnologia não é apenas uma curiosidade; é uma demonstração vívida de como campos aparentemente divergentes se podem complementar.
Portanto, enquanto me preparo para a minha segunda maratona, sei que não estou apenas a correr contra o relógio; estou a abraçar um desafio que transcende os limites convencionais, aproveitando o melhor do DevOps para alcançar novos patamares no atletismo e na vida.
Sérgio Vale Pires é Team Leader no departmento BPCE-IT na Natixis em Portugal