 
        
        Nossa empresa é líder no mercado e busca um profissional de tecnologia que possa ajudá-lo a alcançar seus objetivos. Aqui, você encontrará desafios interessantes, colaboração de alto nível e oportunidades de crescimento.
Objetivo do Cargo
Atuar como técnico liderando o desenvolvimento de soluções para sistemas complexos.
Principais Funções:
 * Avaliar e definir a arquitetura dos sistemas e propor melhorias;
 * Traduzir os requisitos de negócio em arquiteturas e sistemas enquadrando-os nos sistemas já existentes ou propondo novos módulos;
 * Planejar e executar soluções para o ecossistema de microsserviços;
 * Garantir o maior nível possível de automação das soluções;
 * Participar de pesquisas e implantação de novas tecnologias;
 * Garantir a integração das ferramentas, interagindo com as demais áreas;
 * Monitorar o ambiente e criar ações proativas para garantir a saúde do ecossistema;
 * Garantir a confiabilidade do ecossistema junto ao time de Segurança;
 * Desenvolver ferramentas com o intuito de garantir que os recursos estão sendo utilizados de forma consciente;
 * Participar de melhorias no processo de desenvolvimento técnico do time;
 * Desenvolver código junto aos times para resolver problemas técnicos e gerar valor de negócio;
 * Adquirir conhecimento amplo sobre arquitetura dos sistemas e suas integrações;
Competências Exigidas
- Arquitetura Front-End: MVP, MVVM;
- Conhecimento em Injeção de dependências, separação de responsabilidades e inversão de controle. Uso de getIt;
- Conhecimento Serviços Web e Comunicação: Conhecimento do Protocolo Criação e consumo de APIs RESTful, Otimização de latência (caches, otimização de consultas, estratégias para carregamento de páginas), Tratamento de Erros;
- Conhecimento em Bibliotecas e Ferramentas: REST Client: Retrofit (Dart) e Dio, navegação com Beamer, json_serializable, build_runner, mocktail, flutter_test;
- Conhecimento em Programação Orientada a Objetos e Design Patterns;
- Conhecimento em Testes e Qualidade de Código: Unit Testing, Automações, Planejamento de Testes;
- Conhecimento em Troubleshooting: debugging, análise de erros de compilação e cache, análise de logs, Investigação e correção de cenários reais de crashes e problemas;
- Conhecimento em Kotlin;
- Experiência com desenvolvimento de sistemas e linguagem de programação Java;
- Experiência com tecnologias de comunicação assíncrona como Rabbit e Kafka;
- Experiência com microsserviços (DevOps e Docker);
- Experiência com bancos de dados relacionais;
- Experiência com Spring (Core, Boot, Cloud, Data etc.);
- Experiência com ferramentas de desenvolvimento de testes e conhecimento sobre boas práticas relacionadas a qualidade e desempenho de software;
- Conhecimento em CI/CD e plataforma Jenkins;
- Experiência com refatoração de código, ferramentas e práticas de observabilidade e monitoramento de sistemas;
- Conhecimento em práticas e ferramentas de segurança;