Ao conhecer uma pessoa que está aplicando para a Magrathea gostamos de ter uma conversa sobre código. Afinal, escrever, ler e discutir sobre código faz parte da nossa rotina diária de trabalho.
Você pode implementar o projeto usando qualquer linguagem de sua preferência. Lembre-se: use a linguagem com a qual você tem mais familiaridade.
Queremos avaliar sua capacidade de fornecer um produto simples com documentação suficiente para outros desenvolvedores contribuírem ativamente para o projeto posteriormente. Na entrevista vamos prestar atenção nos seguintes itens:
- Comunicação na revisão do código presencial;
- Argumentos sobre desafios enfrentados e escolhas realizadas na implementação;
Ao revisar seu código vamos prestar atenção nos seguintes itens:
- Organização do código;
- Código bem escrito, limpo e coeso;
- Arquitetura e princípios de desenvolvimento;
- Documentação (README.md) com instruções claras para reproduzir o projeto;
- Uso adequado de versionamento do código em git;
- Uso de testes automatizados;
- Deploy da aplicação: recomendamos Heroku por ter plano free;
- O design da API RESTful é implementado, usando corretamente os verbos HTTP e o código de status apropriado;
- Uso adequado de HTML5, CSS3 e JavaScript em um front-end minimamente estruturado.
Caso você não se sinta confortável com algum desses itens, tudo bem, apenas nos fale sobre isso, ok? O objetivo aqui não é você programar de graça para nós, nem te fazer perder tempo com algo irrelevante. Nosso objetivo aqui é ter um código sobre o qual podemos conversar. Como você deve ter notado, a gente preza muito por colaboração, trabalho em time e comunicação. O objetivo aqui é ter, minimamente, essa experiência com você.
Respeite o seu nível de conhecimento e experiência, o importante é você saber dizer o motivo das suas escolhas. Se você tiver qualquer dúvida, por favor, entre em contato com a gente. Se quiser uma revisão no seu código em um Pull Request no Github, pode nos chamar. Estamos disponíveis para te ajudar a finalizar esse processo. Ah, por último. Você acha que consegue nos responder em quanto tempo? Duas semanas é ok para você?
A seguir seguem algumas ideias de projetos que você pode implementar:
Tem alguma outra ideia? Tem algum projeto que já está pronto e gostaria de apresentar? Fale com a gente :)
- Apague este README.md e adicione informações que achar relevante como configurar o projeto, contendo os comandos que devem ser executados para executar ele e os testes;
- Abra um PR apontando para a branch master deste repositório;
- Escreva qualquer consideração na descrição do PR e faça qualquer comentário que achar pertinente no código.