Descrição da oportunidade
#Por que ser um Engenheiro de Software no ASAAS:
- O#Asaas se posiciona como a infraestrutura financeira para o crescimento das PMEs no Brasil. A conta digital completa para empresas.
- Ajudamos mais de 155 mil empreendedores em todo o Brasil a automatizar a gestão financeira das suas empresas e melhorar o relacionamento com seus clientes.
- O #Asaas vem ampliando sua atuação para além do core de automação financeira e cobrança para soluções completas de gestão e serviços financeiros, como: conta digital, cartão, antecipação de recebíveis, crédito
- O que define o refactor estratégico da sua base tecnológica para preparar a plataforma para um nível de escala muito maior e migrando para uma arquitetura celular, também chamada de “modular monolith com microserviços desacoplados”, inspirada em empresas como Nubank e Spotify.
- Com isso, estamos atraindo competências em Engenharia de Software na estruturação e evolução do ambiente de engenharia / infra de tecnologia, com foco em arquitetura.
#O seu desafio na ASAAS será:
- Colaborar com o Squad DNA (Design’N’Architecture) para projetar, desenvolver e manter serviços centrais, com impacto direto em toda a engenharia de produtos do #Asaas.
- Pensar e desenvolver padrões de engenharia para escalabilidade, performance, segurança e confiabilidade dos serviços centrais do #Asaas e sua respectiva integração com os serviços internos.
- Definir padrões arquiteturais, protocolos de uso, gestão de acesso e privilégios, organização do ambiente cloud, containers, segurança.
#Estamos atraindo vivências e experiências em:
- Arquitetura distribuída e monolítica com foco em escalabilidade e alta volumetria
- Modelagem de bancos de dados – relacional e não relacional
- Concorrência – tomada de decisão sobre tecnologia e padrões arquiteturais
- Atuar com independência, sem depender de validações constantes, assumindo a responsabilidade por problemas e entregas, gerenciando o ciclo completo do produto (discovery, entrega e manutenção).
- Sustentar decisões técnicas com base em dados, contexto de negócio e trade-offs, em RFCs (Request for Comments), code reviews e decisões de stack ou ferramentas,
- Envolver pares, lideranças e stakeholders em torno de ideias e iniciativas sem usar autoridade formal, ao promover boas práticas de engenharia (ex: cobertura de testes, padronização de APIs REST vs gRPC).
- Escolher e executar caminhos técnicos com confiança, considerando riscos, urgência e impacto, ao definir se um serviço será implementado como monólito modular ou microserviço separado, dependendo do momento do produto.
- Comunicar ideias, problemas e decisões com clareza, objetividade e empatia, ao escrever documentação técnica ou decisões de arquitetura.
#O que você vai fazer todos os dias:
- Transformar lógica de negócio em código de alta qualidade, respeitando os padrões e práticas estabelecidos;
- Participar da definição e implementação de novas funcionalidades e correção de bugs;
- Compreender e discutir os problemas e soluções propostas, buscando sempre a melhor solução técnica para os desafios encontrados;
- Revisar o código entregue pelos colegas de equipe;
- Dividir grandes entregas em pequenos entregáveis coesos;
- Monitorar a solução implementada em produção, avaliando erros, performance e disponibilidade;
- Colaborar com melhorias ou novos padrões na base de conhecimento da Engenharia;
- Identificar e resolver problemas estruturais no código dos produtos (cross-cutting concerns);
- Acompanhar monitoramento das aplicações e implementar melhorias de performance;
- Implementar componentes e abstrações reutilizáveis para a engenharia;
- Prestar consultorias para os times de engenharia em decisões técnicas;
- Comunicar decisões técnicas com base em trade-off arquiteturais.
#O que você precisa conhecer e saber fazer:
- Desenvolvimento WEB, com foco em: HTML, CSS e Javascript;
- Frameworks, bibliotecas e ferramentas, tais como Java, Python, JS, Ruby entre outros;
- Programação orientada a objetos e integração entre serviços via APIs Rest e filas;
- Modelagem de bancos de dados relacional;
- Pipeline de Deploy e versionamento de código com Git;
- Aplicação de boas práticas, padrões e princípios de Engenharia de Software;
- Cloud (AWS, Azure ou Google Cloud);
- Práticas de integração e entrega contínuas e testes automatizados;
- Estilos arquiteturais de software;
- Inglês técnico.