Descrição da Vaga
A Digisystem busca um Desenvolvedor Mobile Sênior com expertise em Dart e Flutter para atuar no desenvolvimento de aplicações. O profissional será responsável por construir layouts responsivos, gerenciar temas, animações e otimizar a performance, aplicando Clean Architecture, princípios SOLID e padrões de interface como MVVM ou MVI. Será fundamental a experiência com gerenciamento de estado (BLoC/Cubit, Provider ou Riverpod), integração com APIs REST, implementação de OAuth2, OpenID Connect (OIDC) e JWT, além de persistência local com SQLite, Hive e SharedPreferences.
Responsabilidades
- Desenvolver aplicações utilizando Dart e Flutter, incluindo widgets (Stateless e Stateful) e layouts responsivos.
- Aplicar Clean Architecture, princípios SOLID e padrões de interface como MVVM ou MVI.
- Gerenciar estado com BLoC/Cubit, Provider ou Riverpod, tratando side effects e utilizando conceitos de imutabilidade.
- Consumir APIs REST, implementando interceptors, paginação, retries, timeouts e tratamento padronizado de erros.
- Implementar OAuth2, OpenID Connect (OIDC) e JWT, armazenando credenciais de forma segura.
- Utilizar SQLite (sqflite), Hive e SharedPreferences para persistência local e cache.
- Desenvolver testes unitários (Dart Test), Widget Tests e Integration Tests.
- Utilizar Flutter Analyze, lints e Dart Format para garantir a qualidade do código.
- Implementar e manter pipelines de CI/CD utilizando GitHub Actions ou Jenkins.
- Implementar logs estruturados e monitoramento com Crashlytics.
- Atuar com conhecimentos em iOS e Android, incluindo permissões, ciclo de vida da aplicação e Push Notifications.
- Desenvolver baseado em Design System, criando componentes reutilizáveis e implementando acessibilidade.
Requisitos
- ✓Experiência com desenvolvimento de aplicações utilizando Dart e Flutter, incluindo widgets (Stateless e Stateful), construção de layouts responsivos, gerenciamento de temas, animações e otimização básica de performance.
- ✓Conhecimento em Arquitetura e padrões: aplicação de Clean Architecture (arquitetura em camadas), princípios SOLID, organização do projeto por features, padrões de interface como MVVM ou MVI e gerenciamento de dependências (Dependency Injection - DI).
- ✓Experiência com Gerenciamento de estado: BLoC/Cubit, Provider ou Riverpod (conforme padrão do time), incluindo tratamento de side effects e utilização de conceitos de imutabilidade.
- ✓Experiência com Integração com APIs: consumo de APIs REST utilizando JSON, implementação de interceptors, paginação, retries, timeouts, tratamento padronizado de erros e integração com especificações OpenAPI, quando disponível.
- ✓Conhecimento em Autenticação e segurança: implementação de OAuth2, OpenID Connect (OIDC) e JWT, armazenamento seguro de credenciais utilizando Keychain/Keystore por meio do Secure Storage, proteção de dados sensíveis e aplicação das boas práticas OWASP Mobile.
- ✓Experiência com Persistência local e cache: utilização de SQLite (sqflite), Hive e SharedPreferences, implementação de estratégias offline-first quando aplicável, sincronização de dados e gerenciamento de cache com TTL.
- ✓Experiência com Testes automatizados: desenvolvimento de testes unitários (Dart Test), Widget Tests, Integration Tests, utilização de mocks com Mocktail ou Mockito e Golden Tests, quando aplicável.
- ✓Conhecimento em Qualidade e build: utilização do Flutter Analyze e lints, formatação de código com Dart Format, acompanhamento de cobertura de testes, controle de versões, padrões de commit e organização do repositório.
- ✓Experiência com CI/CD Mobile: implementação e manutenção de pipelines utilizando GitHub Actions ou Jenkins, gerenciamento de versionamento (build number), assinatura de aplicações, distribuição via Firebase App Distribution, TestFlight ou Play Console e automação de releases.
- ✓Conhecimento em Observabilidade: implementação de logs estruturados, monitoramento com Crashlytics, acompanhamento de métricas básicas como tempo de renderização e startup, monitoramento de erros e rastreamento de eventos.
- ✓Conhecimentos em Plataformas e integração nativa: iOS e Android, incluindo permissões, ciclo de vida da aplicação (lifecycle), execução em background/foreground, Platform Channels e Push Notifications utilizando Firebase Cloud Messaging (FCM).
- ✓Conhecimento em UI/UX e acessibilidade: desenvolvimento baseado em Design System, criação de componentes reutilizáveis, implementação de acessibilidade utilizando Semantics, internacionalização (i18n) e suporte a diferentes densidades e tamanhos de tela.
Benefícios
- ✓Vale Alimentação ou Refeição
- ✓Plano de Saúde Após 90 dias
- ✓Plano Odontológico
- ✓Seguro de Vida
Categorias
Sobre a Empresa
Mais vagas na Digisystem →A Digisystem é uma empresa que entende de tecnologia e de negócio, por este motivo nós somos o seu melhor parceiro na jornada da Transformação Digital. A nossa missão é: transformar tecnologia em resultado para a sua empresa! Estamos atuando no mercado com mais de 30 anos de experi...[Ver Mais]
Informações Adicionais
Você será redirecionado para o site da empresa