Engenharia e *Ops na Oncase

Marcello Pontes
Oncase
Published in
4 min readNov 27, 2019
Automação, performance, participação e transparência.

A Oncase oferece co-criação de produtos inteligentes aos seus clientes. Esse é o resumo do que fazemos. A versão longa está 👉 aqui.

Há alguns anos, éramos conhecidos e posicionados como uma empresa que resolvia os problemas dos seus clientes usando majoritariamente a suíte Pentaho. O cenário mudou. O universo tecnológico se expandiu e nosso time, além de crescer, precisa acompanhar.

É característica peculiar do nosso trabalho, ter que fazer com inacreditável velocidade, a cada ciclo de 30–45 dias (Fase de Assessment) de um time, MVPs com qualidade de produto acabado. Várias fases de assessment rodam em paralelo com times diferentes.

Alguns dos desafios desse cenário são:

  • Produtividade em cenário muito dinâmico — Como aumentar a produtividade do time, fazendo com que o indivíduo gaste a maior parte do tempo resolvendo o problema do cliente e não o dele, de configurar infra, já que a cada produto, as ferramentas podem mudar completamente?
  • Atualização e nivelamento tecnológico — Como conseguir surfar na onda das últimas tecnologias, beneficiar nossa produtividade e motivar nosso time?

A gente tem conseguido atender a essas duas questões com duas premissas/mentalidades:

  • Cultura de engenharia aberta — esse post; e
  • Oncase StackOps — outro post.

O propósito desse artigo é, ser teórico e introduzir a temática para, a seguir, em outros textos, aprofundar em aspectos mais práticos e até apresentar ferramentas.

Engenharia aberta

Com o crescimento substancial, sobretudo em senioridade, do nosso time, cresce também a necessidade em praticarmos a cultura aberta.

Mas o que é isso na prática?

Encorajar experimentação e adoção de tecnologias

O indivíduo do nosso time é encorajado a adotar novas tecnologias que estejam disponíveis.

Isso tem motivado o pessoal a ficar mais de olho no mercado e tem também suscitado várias discussões abertas sobre arquitetura de plataformas analíticas dentro do nosso Slack.

Mais à frente, explico alguns critérios técnicos que a gente segue para disponibilizar uma ferramenta nova internamente, mas as pessoas são motivadas a justificarem tecnicamente a adoção sob alguns quesitos.

Encorajar o debate aberto

Nós somos remotos por natureza. Nosso maior head count fica em Recife, mas a gente quer e precisa ser remoto — mais sobre isso em outro post. Em busca também de transparência e de habilitar participação por adesão, a gente encoraja o debate público de idéias de Engenharia.

Na prática isso significa:

  • Priorizar discussões em canais abertos de comunicação — literalmente canais e threads do Slack;
  • Produção e compartilhamento de documentos eletrônicos de requisitos — reuniões presenciais não são desestimuladas, mas a parte relevante é normalmente digitalizada;
  • Decisões sobre stack são trazidas a público — o time tem poder de voto e opinião sobre as grandes decisões tecnológicas de projetos e da empresa.

Processo de decisão sem bloqueios

Normalmente em fases iniciais de projetos de tecnologia, o que se faz é, por à mesa gente de negócio, design e tecnologia para decidirem os primeiros passos e requisitos. A pessoa de tecnologia que participa é tipicamente um arquiteto, ou algum outro profissional senior.

A gente tem uma demanda muito grande pra esse tipo de atividade, mas nem sempre tem arquiteto disponível. O que encorajamos então é que, quem se sentir confortável em assumir o papel possa fazer sem receios. Como isso acontece?

Na prática, a gente mantém um pool de atividades de levantamento e é dada a oportunidade de participação por adesão — mesmo para outros desenvolvedores. Se algum arquiteto não puder participar, a área de negócio pode puxar um voluntário. A única exigência é na transparência do processo: conversas, decisões, documentações.

Isso não significa, no entanto, que não há um responsável ou responsáveis. A hierarquia de senioridade tecnológica continua funcionando e decidindo, é que ela passa a ser muito mais assíncrona e sem bloqueios.

Conclusão

Dentre outros princípios, também muito importantes, que a gente cultiva no nosso time, a cultura de transparência e abertura tem aparecido no dia a dia de maneira muito viva.

Tem sido motivador ver pessoas de times completamente distintos entre si, trabalhando com ferramentas também diferentes, convergirem dentro dessa mentalidade e se beneficiarem das soluções que seus vizinhos estão desenvolvendo.

Então, recapitulando alguns dos principais ganhos:

  • Produtividade — menos bloqueio, adoção rápida de ferramentas; mais sobre adoção no próximo post;
  • Motivação do time — indivíduos conseguem trabalhar com o que há de mais novo em tecnologias, observados critérios públicos e participativos;
  • Atualização tecnológica — sem processos engessados e com pessoas antenadas no que está acontecendo no cyberespaço de ferramentas;
  • Compliance, transparência e accountabilityCom mais transparência, preocupação em ser remoto por natureza e documentação, fica mais fácil manter-se seguro, além de dar aos indivíduos a dor e o prazer de serem responsáveis por decisões estratégicas.
  • Oportunidade de ascensão — processos non-blocking dão oportunidades para pessoas desempenharem papéis diferentes e "venderem seu peixe".

--

--