Consolidando a cultura de Engenharia na Loft

Renato Chaves
Loft
Published in
6 min readJun 25, 2021

A cultura de uma empresa se refere a um conjunto de valores, crenças e ações que definem a forma como uma organização conduz seu negócio. Aqui na Loft, a cultura sempre foi um pilar fundamental para o nosso crescimento, desde o primeiro dia. Temos outros artigos que entram em detalhes sobre a cultura da Loft, como este, do Thales, e portanto não vou me alongar nisso. Mas além da cultura da empresa como um todo, também precisamos dar atenção à cultura em questões específicas da área de engenharia, e é sobre isso que vamos falar agora. Vem comigo!

Por ter crescido muito rapidamente, a equipe de engenharia da Loft começou a viver uma espécie de “crise de identidade”, sem ter um direcionamento claro sobre como deveríamos lidar com alguns problemas no nosso dia-a-dia. Alguns exemplos:

  • Quem deve ser responsável por desacoplar os contextos dos monolitos que surgiram quando a empresa iniciou suas atividades?
  • Queremos incentivar que os times sejam completamente independentes nas adoção de tecnologias ou priorizar uma arquitetura mais uniforme?
  • Qual é o balanço entre velocidade e qualidade que precisamos? Como otimizar?

Respostas para perguntas como estas não são triviais, e na prática são o que compõe a cultura de engenharia. Para facilitar o alinhamento entre as pessoas do time sobre como atuar no cotidiano, percebemos que precisávamos primeiro oficializar nossa Visão de engenharia:

Vamos levar a experiência de compra de um apartamento à era do e-commerce, através de tecnologia humanizada, transformando lofters e parceiros em super humanos, acelerando aprendizado e removendo gargalos.

Em seguida, decidimos consolidar algumas diretrizes mais práticas na forma de Princípios de Engenharia. Para isso, criamos um comitê formado por sete pessoas, sendo algumas gestoras e outras desenvolvedoras, que ficou responsável por propor um conjunto inicial de princípios. Feito isso, divulgamos para toda a equipe e abrimos para contribuição, pois construir de maneira colaborativa é a forma como trabalhamos aqui na Loft.

Confira a seguir os nossos princípios!

Engenharia Ativa

Na engenharia, todas as pessoas se sentem empoderadas e são responsáveis não apenas pela entrega das suas tarefas, mas por tudo o que impacta as entregas da Loft. Não procuramos culpados, construímos soluções criativas de forma colaborativa.

Trabalhamos ativamente com Product Managers, Product Designers, OPs e demais stakeholders para entender as dores e oportunidades do nosso mercado, propor hipóteses, realizar testes, aprender, e por fim, construir soluções que escalam. Cada especialidade tem sua parte de responsabilidade no processo, mas somos participantes ativos em toda a jornada, co-construindo durante todo o processo.

Para isso, precisamos de lideranças que assumam essa accountability, sendo ativamente propositivas e atuando de maneira estratégica. Neste sentido, incentivamos todos a assumirem um papel de extreme ownership, assumindo a total responsabilidade pelas soluções construídas através de tecnologia na Loft.

Entrega Incremental e Constante

Somos um grupo de pessoas que trabalha de forma coesa, alinhada e focada nos objetivos da Loft, que consistentemente entrega resultados superiores através de colaboração e inovação.

Como parte de uma startup em seu momento de explore and expand, focamos nosso trabalho em aprender com rapidez, iterar e entregar resultados de alta qualidade. Nosso foco é em impacto/outcome, não em tecnologia pela tecnologia.

Sabemos nos adaptar entre momentos de alta incerteza, onde precisamos focar em ciclos curtos de aprendizado e valor com muita rapidez, e momentos em que precisamos transformar o aprendizado em produtos escaláveis, de alta qualidade, confiabilidade, removendo gargalos técnicos e de negócio e reduzindo toils.

Para isso, temos um time que trabalha com um foco claro no resultado final, orientado a métricas (de negócio, sempre que possível), trabalhando de forma colaborativa e com um grande senso de responsabilidade por atingir seus objetivos.

Alinhamento e Autonomia

Acreditamos que uma entrega de software de impacto requer uma abordagem com foco em times autônomos, de longa duração, focados em um fluxo rápido e constante de valor.

A forma como essas squads são estruturadas tem influência direta na rapidez e no impacto das soluções arquitetônicas e técnicas que construímos. Por isso, somos muito cuidadosos em criar squads estáveis, com focos claros, buscando constante aumento no flow e diminuição na carga cognitiva de cada time.

Para que as squads não fiquem bloqueadas entre si, fomentamos uma comunidade interna onde todos podem contribuir com produtos e componentes fora do seu squad. Entretanto, o squad maintainer de um determinado componente continua sendo responsável por decidir a direção que deve ser seguida, bem como aprovar ou rejeitar contribuições externas e por garantir a operação estável em produção.

Construímos Diferenciais Competitivos

Para a Loft, tecnologia é um meio para o fim. Procuramos criar internamente apenas as tecnologias que enxergamos como diferencial ou vantagem competitiva. Para o que for commodity, nossa primeira opção é adotar uma solução de mercado.

O uso de soluções Software-as-a-Service (Saas) e Commercial Off-the-Shelf (COTS) nos permite aprender e entregar soluções mais rapidamente em comparação a desenvolver toda a solução internamente. Nesses casos, nosso trabalho é integrar esses produtos e plataformas de forma a proporcionar uma experiência sem fricção para nossos clientes e desenvolver valor agregado em cima delas.

Soluções Canônicas

Para otimizar o desempenho coletivo dos squads, nossa estratégia é que cada time foque em seu próprio domínio e problema de negócio, reduzindo ao máximo possível o tempo investido em problemas de aspecto tecnológico já resolvidos pela comunidade ou por outras equipes internas.

Portanto, adotamos e/ou disponibilizamos um conjunto curado de building blocks, que devem ser utilizados para construir os sistemas da empresa de forma canônica. Alguns exemplos são: linguagem de programação, frameworks, solução de mensageria. Um conceito similar ao Golden Path, do Spotify, ou Paved Road, da Netflix.

Times que seguem por este caminho têm um alto nível de certeza de que tudo simplesmente vai funcionar “out of the box”. Outro benefício desta prática é diminuir a fricção quando um time precisa contribuir nas aplicações de outro time, bem como diminuir a curva de aprendizado/adaptação em eventuais transições de pessoas entre os times.

Embora fortemente recomendada, a adoção dos building blocks não é obrigatória. Squads podem experimentar outras abordagens, o que ajuda a evitar a estagnação das soluções e a retroalimentá-las. Entretanto, desejamos manter o conjunto de ferramentas suportadas limitado a uma única opção para cada necessidade. Portanto, após aprender com os experimentos, devemos optar por um desses caminhos:

  • Evoluir a solução canônica para que passe a contemplar o novo comportamento desejado
  • Transformar a nova alternativa na solução canônica e substituir todos os usos da opção anterior pela nova

Orientados a Dados

A tomada de decisão em produto e engenharia é sempre embasada em dados. Tomamos decisões baseadas em métricas obtidas através de experimentos próprios ou benchmarks de mercado. Quando não temos dados para tomar uma decisão, o primeiro passo é testar e metrificar para que a decisão possa ser tomada de forma objetiva.

Quando os dados que temos desafiam o nosso senso comum e experiência, nós reavaliamos as métricas e as restrições dos experimentos, mas mantemos o nosso foco em dados.

Temos princípios! E agora?

Um ponto que vale a pena mencionar é que essa é apenas a versão inicial dos Princípios, que devem ser constantemente revisados e ajustados, principalmente num cenário em que a empresa em si continua crescendo e mudando. No instante da publicação deste texto, por exemplo, estamos em discussões para incluir mais um ou dois princípios que guiem a forma de abordar qualidade no nosso processo de desenvolvimento de software.

Ainda assim, consideramos que o mais importante era oficializá-los logo, mesmo que não estejam perfeitos, e divulgá-los para toda a área de engenharia em um All Hands, bem como constantemente reforçá-los no Slack e outros fóruns que fizerem sentido.

Outra ação que fizemos foi rodar uma pesquisa para entender a percepção das pessoas desenvolvedoras sobre nossa aplicação dos princípios ao longo dos vários times e tribos, através da qual inferimos que já há uma alta aderência a eles (até maior do que esperávamos, na verdade). Em seguida, promoveremos discussões em cada tribo, nas quais pretendemos reforçar cada princípio, obter feedback sobre eles e gerar novos acionáveis mais contextualizados. Um deles, por exemplo, será o mapeamento das soluções canônicas que já temos e da adoção de cada uma delas.

Por fim, achamos válido dar visibilidade para a comunidade (através deste artigo :D), pois entendemos que é um conteúdo interessante de se ter conhecimento ao considerar a Loft como próxima empresa a se trabalhar.

Se você gostou dessa iniciativa e quer nos ajudar a aplicar nossos Princípios de Engenharia na prática, ou mesmo contribuir na evolução deles, veja nossas oportunidades abertas e se junte ao nosso time!

#VemPraLoft #OJeitoLoft #TransformeComAGente

--

--