Você deve ter lido sobre nosso processo de contratação em “Trabalhe Conosco“, se não leu, leia agora.


O Processo de seleção

Nosso processo acontece em três etapas, bem rápidas e que podendo ser concluídas em menos de uma semana. Uma vez aprovado em uma das etapas o candidato será encaminhado para a etapa seguinte, são elas:

  1. Projeto de teste – o candidato realiza o projeto abaixo (de acordo com a vaga) e nos envia pelo contato de email;
  2. Entrevista online – realizada por audio do whatsapp, ou por skype, para alinharmos as expectativas;
  3. Projeto de teste continuação – pode acontecer ou não de solicitarmos um pouco mais de código;
  4. Entrevista presencial – última etapa do processo de seleção, para conhecermos melhor os candidatos e definirmos se se encaixa no que buscamos.

Para os projetos, imaginamos cada projeto em partes crescentes. Você pode fazer apenas as três primeiras partes, ou encarar as demais (as mais difíceis). Concluindo as três primeiras você pode dar um build ou publicar o projeto e nos enviar, bem como enviar um link para o código no seu repositório.

Vaga estagiário React

Tudo sobre star wars

É uma aplicação web, web app ou mobile nativo, que deve ser desenvolvido usando React ou React Native. Em caso de duvida sinta-se a vontade para enviar perguntas no canal #react no slack DevJF. A aplicação deve permitir ao usuário conhecer mais sobre o Star Wars, seus filmes, personagens, planetas e tudo mais! A base de informações deve ser a SWAPI que fornece todo dado necessário.

Imaginamos o projeto em cinco partes, crescentes, que lhe dará uma boa noção do React e dos estados. Você pode fazer apenas as três primeiras partes, ou encarar a quarta e quinta também (as mais difíceis). Concluindo as três primeiras você pode dar um build e nos enviar, bem como enviar um link para o código no seu repositório.

Você pode optar por realizar as chamadas da API usando axios ou fetch, ou então usar a biblioteca SWAPI-Wrapper.

Seguem os requisitos:

  1. Listar “people” na primeira interface, exibindo apenas um ou dois dados de cada personagem. Fique atento com paginação, pois, ao chamar /people/ ele trará só os primeiros registros;
  2. Permitir realizar uma busca. Para isso adicione um campo acima da lista de personagens. O usuário poderá digitar sua busca e então ver os resultados filtrados abaixo (na mesma interface de lista);
  3. Incluir filtro na busca. Oferecer um ou dois campos de filtros, tal como “gender” ou “height”. Realizando a busca ou filtrando, os registros são exibidos para o usuário (na mesma interface de lista);
  4. Clicando em um dos personagens, abrir uma interface de detalhes daquele item, apresentando mais campos;
  5. Nos detalhes do personagem, permitir clicar em um dos dados para visualizar seus detalhes também. Exemplo; ao clicar em um dos filmes abrirá uma interface apresentando os detalhes daquele filme. Não é preciso navegar em todos os dados, escolha apenas um ou dois dados que achar interessante montar a visualização.

Impactando ainda mais:

  1. Sendo um web app, lembre o usuário de adicionar o atalho no celular, quando ainda não tiver;
  2. Adicionar uma notificação quando o usuário abrir a aplicação pela primeira vez, dando boas vindas. Apenas na primeira vez;
  3. Dizer no repositório o que você usou de componente e tecnologia no projeto, e porque usou;
  4. Publicar o código em repositório público, com documentação em inglês.

Vaga estagiário PHP

Projeto Laravel simples

Precisamos de estudantes que tenham interesse em aprender programação, sempre. Por isso nosso processo começa com um projeto simples a ser desenvolvido usando Laravel e bootstrap. Em caso de duvida sinta-se a vontade para enviar perguntas no canal #php no slack DevJF. Seguem os requisitos:

  1. Criar banco de dados com tabela “users”, inclua ao menos um registro manualmente;
  2. Ao acessar a url principal do sistema, caso não esteja autenticado redirecionar para rota de login, caso já logado, redirecionar para rota de dashboard;
  3. Rota de login /login/ deve exibir campo de email e senha. Permitir ao usuário realizar o login, avisando caso o usuário não seja encontrado, ou se a senha não corresponder;
  4. Na rota de dashboard exibir os dados do usuário logado;
  5. Fornecer rota /api/users/{id} que ao chamar retorna os dados do usuário em JSON, para ser consumido por outro sistema;
  6. Fornecer rota /api/users/add/ que recebe um post e inclui um novo usuário;
  7. Permitir o usuário logado, pela interface, listar e incluir novos usuários (usando ajax ou não).

Impactando ainda mais:

  1. Dizer no repositório o que você usou de componente e tecnologia no projeto, e porque usou;
  2. Publicar o código em repositório público, com documentação em inglês;
  3. Publicar o projeto em produção usando o heroku

Envie o projeto e aguarde o retorno da App Masters. Caso seu projeto seja aprovado, siga para a segunda parte.

Projeto Laravel, segunda parte

Caso seja solicitado, dê continuidade ao projeto incluindo novos recursos. A ideia é prover dados dos filmes da série Start Wars.

  1. Criar a tabela “people” com os campos iguais da SWAPI, ignore os campos que são array;
  2. Adicionar um menu no dashboard para acessar os personagens, ao clicar no menu exibir a lista de personagens e o botão incluir;
  3. Ao incluir apresentar o formulário para inclusão do registro;
  4. Pela lista também deve ser possível editar e excluir cada um dos registros;
  5. Fornecer rota /api/people/ que retorna a lista de personagens;
  6. Fornecer rota /api/people/{id} que retorna os dados apenas do personagem escolhido;

Impactando ainda mais:

  1. Utilize a biblioteca swapi-php para importar todos os personagens da SWAPI para seu banco de dados.
  2. Permita que a rota de people aceite o parametro order (exemplo /api/people/?order=height), onde order será o nome de uma coluna pelo qual o dado deverá ser ordenado no retorno;
  3. Permita que a rota de people aceite o parametro q (exemplo /api/people/?q=luke), onde serão retornados apenas registros que tenham “luke” em um dos campos de texto.

Envie o projeto e aguarde o retorno da App Masters.