Desenvolvedor Mobile Pleno
Digisystem
Descrição da vaga
3.3.1. Responsabilidades:3.3.1.1. Trabalhar em equipe de desenvolvimento (código/testes) com múltiplos projetos;3.3.1.2. Entender e transformar requisitos de negócio, funcionais e não funcionais, em código modular e reutilizável;3.3.1.3. Aplicar as boas práticas de engenharia de software e padrões de projeto;3.3.1.4. Adotar frameworks, linguagens de programação, arquitetura e divisão de componentes do sistema e documentação ao longo do ciclo de vida do projeto;3.3.1.5. Implementar e manter aplicações, bibliotecas, componentes e frameworks;3.3.1.6. Desenvolver e fazer manutenção de códigos/testes de sistemas;3.3.1.7. Orientar programadores Juniores nos processos de desenvolvimento;3.3.2. Formação acadêmica:3.3.2.1. Graduação em curso de nível superior na área de Tecnologia da Informação, ou conclusão de qualquer curso de nível superior acompanhado de certificado de curso de pós-graduação (especialização, mestrado ou doutorado) na área de Tecnologia da Informação de, no mínimo, 360 horas.3.3.3. Requisitos obrigatórios por perfil:3.3.3.1. Experiência com Ionic nativo e híbrido;3.3.3.2. Experiência com React Native e seu ecossistema (Expo, CLI, etc.);3.3.3.3. Experiência com integração com plugins nativos via Cordova ou React Native Bridge;3.3.3.4. Experiência com publicação e manutenção de apps nas lojas Android e IOS;3.3.3.5. Conhecimento em desenvolvimento, manutenção e distribuição de aplicações mobile, uso de frameworks de desenvolvimento híbrido e notificações;3.3.3.6. Conhecimento com componentização, navegação, gerenciamento de estado (Redux/MobX/Context API).3.3.3.7. Experiência em consumir e integrar APIs RESTful seguras com autenticação via OAuth2 / JWT, desenvolvidas em Java (Spring Boot), PHP, R e Python.3.3.3.8. Experiência com apps offline com sincronização de dados segura.3.3.3.9. Experiência com Scrum ou Kanban, dentro de práticas Agile.3.3.3.10. Experiência com integração com sistemas de mensageria, como RabbitMQ, Kafka, MQTT;3.3.3.11. Experiência com versionamento, automação e entrega contínua via Git, GitLab CI/CD e OpenShift.3.3.3.12. Conhecimento em estratégias de teste mobile (mocking, coverage, test IDs).3.3.3.13. Experiência com implementação de testes com Jest, Detox, React Native Testing Library, Karma/Protractor;3.3.3.14. Experiência com banco de dados local (offline-first):3.3.3.15. SQLite, TypeORM, Room, WatermelonDB, PouchDB ou IndexedDB.3.3.3.16. Experiência com debugging com ferramentas como Flipper, Reactotron e Chrome DevTools.3.3.3.17. Experiência com boas práticas na aplicações de padrões como MVVM, Clean Architecture, DDD (Domain-Driven Design), separação de responsabilidades (Services, Repositories, UseCases)3.3.3.18. Boa experiência em algoritmos e estrutura de dados;3.3.3.19. Experiência em SQL, bancos de dados relacionais e não relacionais;3.3.3.20. Experiência em SQL, bancos de dados relacionais e não relacionais;3.3.3.21. Experiência com ECMAScript;3.3.3.22. Experiência em tecnologias Web GUI, como Angular, Vue, HTML5, CSS3;3.3.3.23. Experiências nas melhores práticas de codificação / design e padrões de projeto, otimização, escalabilidade e clusterização;3.3.3.24. Conhecimentos em ambiente DevOps;3.3.3.25. Conhecimentos em plataformas para o provisionamento e gerenciamento de containers (Kubernetes, OpenShift entre outros);3.3.3.26. Experiência em gerenciamento de dependências com Node.js + NPM ou Yarn;3.3.3.27. Inglês técnico (leitura e escrita).3.3.4. Certificações ou período de experiência por tecnologia:3.3.4.1. Experiência mínima de 5 anos em programação, sendo 1 ano comprovado em desenvolvimento Mobile; ou3.3.4.2. Experiência mínima de 3 anos em programação, sendo 1 ano comprovado em desenvolvimento Mobile e ao menos duas Certificações de Desenvolvedor Mobile em vigor e válidas.3.3.5. Competências comportamentais:3.3.5.1. Proatividade, capacidade de trabalho em equipe, capacidade de autogerenciamento e tomada de decisão, capacidade de comunicação (capacidade de se expressar oralmente e por escrito com precisão e clareza e de compreender com facilidade mensagens escritas e faladas).
