Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Como aumentamos a produtividade adotando uma única tecnologia

Como aumentamos a produtividade adotando uma única tecnologia

Desenvolver um produto complexo nem sempre é tarefa para uma só linguagem de programação, porém adicionar várias linguagens de programação pode tornar o time mais lento adicionando complexidade onde não deveria existir.

Vamos falar dos problemas que enfrentamos com o desenvolvimento da Conta Azul Mais e como unificar o desenvolvimento com Java nos trouxe a capacidade de escalar time, produto e sistema.

Evento http://www.thedevelopersconference.com.br/tdc/2019/florianopolis/trilha-java

Gabriel Feitosa

April 24, 2019
Tweet

More Decks by Gabriel Feitosa

Other Decks in Technology

Transcript

  1. O início da plataforma ContaAzul+ • O que é Contabilidade

    em tempo real? • Vamos fazer do zero ou comprar uma empresa? • Vamos usar quais tecnologias? • Quais serão nossos MVPs? • Evento Conta Azul [CON]
  2. Contabilidade em tempo real • Software as a Service (SaaS)

    ◦ Integrando os dados do cliente (MPE) com o contador ◦ Automatizando a inserção de dados para o contador Evolução das tecnologias de acordo com o tempo
  3. Origem da informação a ser contabilizada • Vários microsserviços ◦

    Compra ◦ Venda ◦ Financeiro ◦ ... • Monolito
  4. • Vários times envolvidos Dificuldades • Diferentes versões de bibliotecas

    ◦ Dificuldade de criar uma lib para padronização
  5. Compramos a primeira empresa • Aquisição da Wabbi ◦ Monolito

    ◦ Time pequeno (1 back e 2 fronts) ◦ Feito em .Net e React ◦ Banco SqlServer Necessidade de montar um ambiente de entrega contínua do zero na AWS
  6. • ContaAzul ContaAzul+ • Está fácil? Vamos usar Go! ◦

    Ninguém do time tinha experiência ◦ Serviços de integração tinham prazo para morrer ◦ Servia de proxy: lê mensagem, transforma e chama uma API do motor contábil Integração dos dois mundos Fluxo da informação ?
  7. Arquitetura inicial • Incertezas e dificuldades ◦ Conhecimento de negócio

    somente de um lado ◦ Segregação do time por linguagem de programação ◦ Demora na entrega de valor ▪ Uma regra contábil a cada 2 ~ 3 dias ▪ Muitas regras contábeis a serem adicionadas • Gargalo no time contábil
  8. Arquitetura inicial Venda/Compra Tópico Vendas Integrador fiscal Integrador contábil Financeiro

    Banco CA Banco financeiro Tópico Financeiro Motor fiscal Banco fiscal Integrador contábil Motor contábil Banco Contábil Banco CA
  9. Arquitetura inicial Venda/Compra Tópico Vendas Integrador fiscal Integrador contábil Financeiro

    Banco CA Banco financeiro Tópico Financeiro Motor fiscal Banco fiscal Integrador contábil Motor contábil Banco Contábil Banco CA
  10. Arquitetura atual • Escalabilidade: ◦ Time: qualquer engenheiro terá o

    onboarding rápido ◦ Produto: Engenharia não travará evolução do produto ◦ Sistema: suporta alta demanda sem sofrer
  11. Arquitetura atual Venda/Compra Tópico Vendas Financeiro Banco CA Banco financeiro

    Tópico Financeiro Motor fiscal Banco fiscal Motor contábil Banco Contábil Motor contábil Motor contábil API
  12. Arquitetura atual • Demora na entrega de valor ◦ Uma

    regra contábil a cada 1 ~ 2 horas ▪ Redução de 90% de trabalho ◦ Muitas regras contábeis a serem adicionadas (manda mais \o/)
  13. Próximos passos • Fortalecimento do contexto contábil na empresa ◦

    Trabalhando com o fluxo do usuário e não por silos • Migração de banco de dados legado ◦ A base contábil terá alto volume de dados