Como é ser um nômade no iFood

Rosicléia Frasson
iFood Tech
Published in
4 min readJun 5, 2023

Por muito tempo, o crescimento na área de tecnologia esteve muito atrelado a ideia de gerenciar outras pessoas. A progressão de carreira se dava em cargos como líder de equipe, coordenador, gerente, diretor e afins.

Liderar pessoas é sem dúvidas, um papel fascinante. Mas ao mesmo tempo requer o desenvolvimento de um conjunto de habilidades diferentes. Somado a isso, existe a tendência de afastamento da área técnica. Um gestor não passa a maior parte do seu tempo em atividades diretamente relacionadas a construção de softwares.

Com o aumento da importância da tecnologia para os negócios, empresas com um certo nível de crescimento, sentiram a necessidade de ter pessoas dedicadas a resolver problemas de tecnologia, mas que tenham responsabilidade superior a de um desenvolvedor sênior.

Então se a ideia de gerir pessoas não faz seus olhos brilharem, existe a possibilidade de seguir uma outra trilha de progressão de carreira destinada ao que chamamos de contribuidores individuais. Em resumo, um contribuidor individual pode ter inúmeras responsabilidades, porém gerenciar pessoas não é uma delas.

Os nomes para esse papel são diversos: especialista, tech lead, staff engineer, principal engineer. Aqui no iFood chamamos de nômade. Esse post é dedicado a falar um pouco sobre o que é ser um nômade e quais suas principais responsabilidades.

O que é ser um nômade?

Para começar, é importante esclarecer o que um nômade não é. Embora estamos falando de um cargo destinado a resolver problemas técnicos, não podemos definir um nômade como um super sênior. Um nômade não produz infinitamente mais código que os outros desenvolvedores. Ele não é um conhecedor de todas as linguagens de programação, padrões arquiteturais e nem uma mina de ideias brilhantes.

No entanto, é necessário ser uma referência técnica. Precisa ter fluência com código, conhecer linguagens de programação, frameworks de mercado, mecanismos de observabilidade e troubleshooting, entendimento das diversas maneiras de disponibilizar software para os usuários finais. É fundamental ter preocupação com segurança. Também é indispensável ter conhecimento profundo e vivência de um leque de tecnologias para fazer escolhas coerentes de acordo com os problemas as serem solucionados. Enfim, é essencial que as hard skills estejam bem desenvolvidas.

Mas não pára por aí, eu costumo falar que resolver os problemas puramente técnicos é a parte fácil. Organizar pessoas para fazer acontecer é a parte difícil. Um nômade é um multiplicador de forças. Ele joga junto com o time, mas precisa fazer com que um grupo de humanos remem na mesma direção. E essa direção precisa estar conectada com a estratégia da organização. É necessário trazer outras pessoas para o jogo e fazer com que as pessoas defendam as soluções certas, afinal os problemas são resolvidos por pessoas.

Principais responsabilidades de um nômade

A forma de atuação de um nômade é muito diversa. Depende muito do contexto em que ele está inserido, da maturidade dos times em que atua e da necessidade do projeto em que está alocado. Mas de forma geral, é possível dividir em cinco frentes de atuação.

A primeira delas é dar direcionamento técnico. Um nômade auxilia as equipes a enxergarem uma imagem maior do que a lista de tasks, entendendo as reais necessidades da organização e orientando todos para uma solução mais eficiente. Ou seja, é responsabilidade de um nômade a condução de discussões arquiteturais, tentando encontrar brechas nas ideias para que todos os casos de uso sejam atendidos pela solução. Também é necessário auxiliar na priorização para que as coisas sejam feitas no momento certo. Um outro ponto importante, é garantir que os padrões estabelecidos pelo time de engenharia sejam seguidos.

Elevar o nível da equipe também é uma responsabilidade de um nômade. Isso pode acontecer de uma maneira mais formal, como um treinamento, um grupo de estudos, auxiliar no desenvolvimento do plano de carreira ou de forma mais informal, como um code review, um pair programming, compartilhando uma experiência ou dando um conselho.

Outra responsabilidade importante é injetar a perspectiva de engenharia em decisões importantes para o negócio. É muito importante em uma tomada de decisão que as pessoas tenham entendimento do custo, prazo, esforço, risco que é colocar uma nova funcionalidade no ar ou manter algo que já esteja em funcionamento. Também é importante colocar na mesa, coisas que muitas vezes não são prioridades a nível de negócio, como esforços relacionados a segurança, desempenho e disponibilidade.

Um nômade também trabalha muito na remoção de impedimentos. É papel dele fazer com que o time continue avançando e entregando valor. É muito comum que um nômade fique responsável por buscar respostas que estão em outros times, sejam elas relacionadas a arquitetura de solução, padronizações de segurança, definições do produto ou de UX.

E por fim, a codificação. Um nômade também coloca a mão na massa. Ás vezes um time tem um problema complexo para resolver, em outras existe a necessidade de desenvolver provas de conceito com alguma tecnologia desconhecida pelo time para entender a aderência ao problema que precisa ser resolvido. Ou ainda atuar como mais um braço do time para auxiliar nas entregas.

Palavras finais

Um nômade não possui nenhum subordinado, mas é uma função de liderança. Seu dia a dia está muito relacionado a resolver problemas de tecnologia, no entanto ele não resolve esses problemas sozinho: softwares são desenvolvidos por times. Ser um nômade é como ser o capitão do time. É necessário jogar com o time, mas também conduzí-lo, orientá-lo para que os melhores resultados sejam atingidos.

--

--