🔷 Sobre nós:
A Prolog está desde 2016 transformando a Gestão de Frotas através da tecnologia, com presença em 3 países e fazendo a diferença em mais de 1.000 operações de transportes!
Na Prolog, não paramos de aprender porque conhecimento é o nosso combustível; não assumimos nada, guiamo-nos por dados para garantir a rota certa; temos foco no que importa, sem desviar da faixa de nossas prioridades; valorizamos o resultado porque sabemos onde queremos chegar; com capricho e precisão para cada entrega rodar perfeitamente e; não nos conformamos com ineficiência porque nossa frota é feita para rodar em alta performance!
Através dos nossos módulos de Gestão de Pneus, Gestão de Manutenção e Gestão de Checklist, levamos maior produtividade, precisão e previsibilidade para a gestão de frota dos nossos clientes!
- 🔗 Conheça mais sobre o nosso negócio clicando aqui!
- ➡️ Já na nossa página de carreiras, você pode conferir melhor os nossos valores culturais e um pouco mais!
Estamos buscando uma pessoa para atuar na posição de Desenvolvedor(a) Mobile Flutter | Pleno
e você pode conferir os detalhes da nossa oportunidade abaixo, vem ver!
📍 Importante: Atualmente, estamos localizados no bairro Pedra Branca na Palhoça/SC e adotamos o modelo de trabalho híbrido.
🔷 No dia a dia você vai:
- Desenvolver e manter aplicações mobile com Flutter e Dart, garantindo qualidade, performance e eficiência do código em ambiente de produção com dados em tempo real.
- Colaborar com times de produto e engenharia no refinamento das demandas, assegurando alinhamento sobre requisitos técnicos em funcionalidades críticas como rastreamento, gestão de pneus e manutenção.
- Identificar e corrigir bugs, implementando melhorias contínuas para otimizar desempenho em dispositivos com recursos limitados e conexões instáveis.
- Realizar revisões de PRs e disseminar boas práticas de engenharia (arquitetura, state management, testes) dentro da equipe.
- Implementar testes automatizados (unitários e de widget) e garantir cobertura adequada para assegurar estabilidade das aplicações.
- Otimizar performance considerando consumo de bateria, memória, sincronização offline-first e integração com APIs em tempo real.
- Participar das cerimônias do time (dailies, refinamentos, check-ins, check-outs, retros) contribuindo para um ambiente colaborativo e de constante evolução.
- Integrar soluções mobile com backend e plataformas de terceiros, garantindo funcionalidades como notificações push, geolocalização e sincronização de dados de forma confiável.
🔷 Para assumir essa missão você precisa ter:
Fundamentos Flutter/Dart:
- Experiência sólida com Dart e Flutter SDK 3.0+.
- Domínio de widgets, ciclo de vida e princípios de composição, reutilização e isolamento de componentes.
- Experiência com navegação declarativa, incluindo deep linking e rotas parametrizadas.
Arquitetura e Padrões:
- Experiência comprovada com arquitetura MVVM e Repository Pattern para separação de camadas.
- Conhecimento em injeção de dependência e code generation.
- Domínio de mappers e DTOs para transformação de dados entre camadas.
Ferramentas e Versionamento:
- Experiência com Git para branching, pull requests e code review; FVM; flavors; e processos de CI/CD para Flutter.
Persistência e Offline-First:
- Experiência sólida com bancos de dados locais.
- Conhecimento em arquitetura offline-first com sincronização bidirecional, resolução de conflitos e gerenciamento de estados intermediários.
- Experiência com armazenamento seguro para dados sensíveis.
Integração com APIs:
- Experiência sólida com algum HTTP Client para consumo de APIs REST.
- Domínio de serialização JSON e mapeamento de modelos complexos.
Firebase e Cloud:
- Experiência com Firebase (Analytics, Remote Config, Cloud Messaging, Crashlytics) e AWS (S3, Cognito).
- Conhecimento em monitoramento (como Sentry) para tracking de crashes e performance em produção.
UI e Componentes:
- Experiência com design system e criação de componentes reutilizáveis customizados.
Performance e Otimização:
- Experiência em otimização considerando consumo de bateria, memória e cache de dados.
- Conhecimento em lazy loading, paginação infinita e gestão de memory leaks.
Testes:
- Experiência com testes unitários e de widget.
- Conhecimento em mocks, stubs e práticas de code coverage.
🔷 Não é obrigatório, mas nossos olhos brilharão se você:
- Tiver experiência com comunicação entre componentes usando padrões como Event Bus ou Streams reativos.
- Souber trabalhar com funcionalidades nativas como câmera, geolocalização, mapas, Bluetooth e processamento em segundo plano.
- Tiver conhecimento em processamento e otimização de imagens (compressão, rotação, caching).
- Já tiver trabalhado com notificações push, deep linking e integração de WebView.
- Tiver experiência com testes de integração e automação de testes E2E.
- Tiver contribuído com bibliotecas open source ou mantido forks customizados.
- Já tiver lidado com aplicativos em produção com grande volume de usuários e dados em tempo real.
- Demonstrar senso crítico para propor melhorias arquiteturais, refatorações e otimizações proativamente.