Dá uma olhada nos desafios que te esperam como Pessoa Desenvolvedora Mobile Sr - Flutter aqui no BV:
- Participar ativamente do desenvolvimento de novas funcionalidades e evoluções do Aplicativo do BV, desenvolvido em Flutter (Android e iOS)
- Atuar na construção de interfaces responsivas, performáticas e com foco na melhor experiência do usuário.
- Atuar nos projetos que consistem em aumentar e flexibilizar o negócio.
- Participar de definições técnicas, arquitetura e boas práticas de desenvolvimento.
- Realizar manutenção, correção de bugs e melhorias contínuas nos aplicativos.
- Colaborar com times multidisciplinares, como produto, design, QA, backend, Segurança e DevOps.
- Contribuir com revisão de código, testes e documentação técnica.
Monitoramento e performance de sistemas.
E aí, se identificou? Agora gostaríamos de saber se você tem o perfil e os conhecimentos abaixo:
- Experiência em Flutter;
- Dart + Flutter: widgets (Stateless/Stateful), layout responsivo, temas, animações e performance básica;
- Arquitetura e padrões: Clean Architecture (camadas), SOLID, organização por features, padrões de UI (MVVM/MVI), gestão de dependências (DI);
- Gerenciamento de estado: BLoC/Cubit, Provider, Riverpod (conforme padrão do time), tratamento de side effects e imutabilidade;
- Integração com APIs: consumo REST/JSON, interceptors, paginação, retries/timeouts, tratamento padronizado de erros, OpenAPI (quando disponível);
- Autenticação e segurança: OAuth2/OIDC/JWT, armazenamento seguro (Keychain/Keystore via Secure Storage), proteção de dados sensíveis e práticas OWASP mobile básicas;
- Persistência local e cache: SQLite (sqflite), Hive/SharedPreferences, estratégia offline-first (quando aplicável), sincronização e cache TTLTestes automatizados: unit (Dart test), widget tests, integration tests, mocks (mocktail/mockito), golden tests (quando aplicável);
- Qualidade e build: Flutter analyze/lints, formatação (dart format), cobertura, controle de versões, padrões de commit e organização de repositório;
- CI/CD Mobile: pipelines (ex.: GitHub Actions/Jenkins), versionamento (build number), assinatura, distribuição (Firebase App Distribution/TestFlight/Play Console) e automação de releases;
- Observabilidade: logs estruturados, crash reporting (ex.: Crashlytics), métricas básicas (tempo de render, startup), monitoramento de erros e rastreio de eventos;
- Plataformas e integração nativa: noções iOS/Android (permissões, lifecycle, background/foreground), platform channels, push notifications (FCM);
- UI/UX e acessibilidade: design system, componentes reutilizáveis, acessibilidade (semantics), internacionalização (i18n), suporte a múltiplas densidades/tamanhos.