8000 GitHub - frete-com/desafio-android
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

frete-com/desafio-android

Repository files navigation

Desafio Android

Se você chegou até este repositório quer dizer que esta interresado em fazer parte da Frete.com. No nosso portal você pode conhecer mais sobre nós!

Esse desafio pode ser utilizado como uma das etapas do retrututamento e seleção de novos talentos da Frete.com. Ao melhorar esse projeto você terá a oportunidade de demonstrar suas capacidades técnicas.

O que esperamos de um desenvolvedor na Frete.com?

Na hora de desenvolver o projeto tenha em mente o que esperamos de um desenvolvedor na Frete.com, principalmente nas questões relacionadas ao desenvolvimento de software, conforme abaixo:

  • Escrever código de fácil leitura e manutenção, corrigir bugs, participar da definição de ferramentas, tecnologias e processos de acordo com as melhores práticas de engenharia de software;
  • Implementar soluções de alta complexidade de maneira autônoma, garantindo progresso, minimizando os riscos de atraso através da detecção de possíveis problemas nos requisitos;
  • Busca e realiza análises para embasar as decisões técnicas;
  • Elevar o nível da prática de testes de qualidade de software do time, identificando e mitigando riscos a nível do código, funcionalidade ou projeto;
  • Assumir o processo de desenho de solução, considerando os riscos e dependências associados às decisões técnicas.

Quais hard skills consideramos importantes para um desenvolvedor Android?

  • Conhecimento sólido de Kotlin;
  • Conhecimento de Hilt, Retrofit, Coroutines, Room, WorkManager, Data Store, entre outras bibliotecas importantes para ecosistema Android;
  • Conhecimento de boas práticas de desenvolvimento (MVVM, DDD, Clean Architecture, Design Patterns, SOLID, etc);
  • Conhecimento sobre o construção de layouts com o Jetpack Compose;
  • Conhecimento sobre Git.

Aplicação modelo para o desefio

Esse projeto realiza uma requisição e mostra os dados retornados para o usuário.

Desafio

O que gostaríamos de melhorar no projeto?

Você tem total liberdade para escolher a abordagem que considerar mais adequada, além de implementar outras melhorias que julgar necessárias, levando em conta sua experiência e disponibilidade para resolver esse desafio.

De qualquer forma levantamos alguns pontos que gostariamos que sejam consideradoss na hora do desenvolvimento, conforme abaixo:

  • Adaptação a mudanças: A arquitetura deve reagir bem a mudanças na lógica de apresentação e negócios;
  • Preservação do estado da tela em mudanças de configuração: O aplicativo deve manter o estado da tela durante mudanças de configuração, garantindo uma experiência contínua para o usuário;
  • Implementação de caching de dados: Os dados retornados da API poderiam ser salvos localmente para melhorar o desempenho e reduzir o consumo de dados;
  • Implementação de testes unitários: Com um grande número de desenvolvedores e mudanças frequentes, é essencial ter testes unitários para garantir a qualidade e a estabilidade do código.

A solução pode ser apresentada de duas formas, levando em conta sua comodidade e disponibilidade de tempo

  • Solução pré-desenvolvida: Você pode optar por apresentar uma solução que foi desenvolvida previamente;
  • Pair programming: Resolver o desafio em pair programming (bate-papo) com nossos desenvolvedores.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0