Este repositório possui um teste que visa avaliar sua curiosidade, seus conhecimentos em SQL / Python, análise e limpeza de dados, Storytelling e conceitos relacionados a processos ETL/ELT. O teste possui seu próprio conjunto de arquivos, parâmetros, instruções e estratégias para ser resolvido. Portanto, estude cada detalhe com sabedoria.
- O banco de dados de futebol definitivo para análise de dados e aprendizado conta com +25.000 partidas,+10.000 jogadores, 11 países europeus com seu campeonato líder Temporadas 2008 a 2016;
- Atributos de jogadores e equipes provenientes da série de videogames FIFA da EA Sports, incluindo as atualizações semanais;
- Alinhamento da equipe com a formação do esquadrão (coordenadas X, Y).Probabilidades de apostas de até 10 provedores e ;
- Eventos detalhados da partida (tipos de gol, posse de bola, escanteio, cruzamento, faltas, cartões etc…) para +10.000 partidas
Os dados que você precisará para completar este desafio está armazenado na pasta data deste repositório. Este diretório contém os seguintes arquivos:
- (🔎) Country.csv(Arquivo de dados)
- (🔎) League.csv (Arquivo de dados)
- (🔎) Match.csv (Arquivo de dados)
- (🔎) Player.csv (Arquivo de dados)
- (🔎) Player_Attributes.csv (Arquivo de dados)
- (🔎) Team.csv (Arquivo de dados)
- (🔎) Team_Attributes.csv (Arquivo de dados)
Também encontrará os arquivos:
- (🔎) Test.md(*Arquivo com as questões do teste)
- (🔎) README.md (Arquivo informações)
- (🔎)LICENSE.md (Arquivo de informações)
Sua tarefa é realizar as questões disponíveis no arquivo Test.md, que basicamente é realizar uma análise exploratória dos dados presentes nos datasets fornecidos e ter dados que comprovem suas respostas para algumas questões. O teste é composto de cinco questões obrigatórias e umas questão bônus. Deixar de responder as questões bônus não lhe trará nenhum prejuízo na avaliação do teste. Para que ocorra tudo bem com esse teste é fundamental que:
- Suas únicas e exclusivas fonte de dados devem ser os datasets fornecidos neste repositório, disponíveis em data;
- Você deve processar todos os arquivos de dados fornecidos;
- Seu script em python deve fazer o upload dos arquivos.csv para um banco SQLite;
- Aplique todas as transformações e limpeza de dados que julgar necessária (Tenha em mente que precisamos acessar dados úteis que possibilitem a extração de insights!) e ;
- Ao criar sua tabela no banco de dados, respeite a tipagem dos dados e o nome das colunas fornecidas no arquivo de descrição.
Por favor, desenvolva um script ou programa de computador utilizando a linguagem de programação SQL / Python para resolver os problemas propostos. Estamos cientes da dificuldade associadas às tarefas, mas toda criatividade, estratégia de raciocínio, detalhes na documentação do código, estrutura e precisão do código serão usados para avaliar o desempenho do candidato. Portanto, certifique-se de que o código apresentado reflita o seu conhecimento tanto quanto possível!
Esperamos que uma solução possa ser alcançada dentro de um período de tempo razoável, considerando alguns dias, portanto, fique à vontade para usar o tempo da melhor forma possível. Entendemos que você pode ter uma agenda apertada, portanto, não hesite em nos contatar para qualquer solicitação adicional👍.
Resolver problemas complexos usando conhecimentos de programação faz parte do cotidiano de Analytics Engineers. Por isso, é essencial para um candidato ter habilidade suficiente para dominar essas tecnologias.
Na fase de avaliação técnica você receberá um link com o diretório onde encontra-se todo material necessário para realizar o teste, que envolve a escrita de consultas SQL e alguns outros exercícios de programação.
As linguagens utilizadas serão Python e/ou SQL, e saiba que a escolha da linguagem não interfere na sua avaliação. Nós prestamos atenção em aspectos como um código limpo, organizado e documentado, na linha de raciocínio utilizada e se o resultado final foi atingido.
Faça um fork deste projeto, e crie um branch com sua conta no Github, utilizando seu nome e sobrenome nele. Por exemplo, um branch com o nome "Franklin Ferreira" definirá que o candidato com o mesmo nome está fazendo o upload do código com a solução para o teste. Por favor, coloque os scripts e o código em pastas separadas (com o mesmo nome das pastas de arquivo fornecidas) para facilitar nossa análise.
Se desejar, crie um arquivo PDF com imagens nos indicando todo o processo que executou para gerar sua solução. Prezamos muito por bons Storytellings.
Além disso, esperamos que o candidato possa explicar o procedimento e a estratégia adotadas usando muitos, muitos e muitos comentários ou até mesmo um arquivo README separado. Esta parte da descrição é muito importante para facilitar nosso entendimento de sua solução! Lembre-se que o primeiro contato técnico com o candidato é por meio deste teste de codificação. Apesar de reforçarmos a importância da documentação e explicação do código, somos muito flexíveis para permitir a liberdade de escolher qual será o tipo de comunicação (por exemplo, arquivos README, comentários de código, etc).
Outra boa dica a seguir é o conceito geral de engenharia de software que também é avaliado neste teste. Espera-se que o candidato tenha um conhecimento sólido de tópicos como Test-Driven Development (TDD), e paradigmas de código limpo em geral. Em resumo, é uma boa ideia prestar atenção tanto ao código quanto às habilidades dos engenheiros analíticos.
Depois de todas as análises e codificação serem feitas, crie uma solicitação de pull (PR) neste repositório.
Como uma ajuda extra, use a seguinte lista de verificação para se certificar de que todas as etapas do desafio foram concluídas:
- Baixe todos os arquivos do teste neste repositório e descompacte-os.
- Crie uma solução adequada usando scripts, bibliotecas de código aberto, soluções de código próprio, etc. Considere que seguiremos suas instruções para executar seu código e ver o resultado.
- Certifique-se de que a saída para o teste esteja de acordo com a saída necessária explicada aqui no arquivo README.md.
- Se você está entusiasmado, pode nos enviar uma análise exploratória dos dados! 👌.
- Faça comentários ou arquivos de documentação auxiliar (por exemplo, arquivos README) para auxiliar na interpretação de suas soluções. Lembre-se: adoramos ler seus comentários e explicações!
- Salve o código resultante, scripts, documentação, etc. em pastas compatíveis com o mesmo nome do conjunto de dados de entrada (Apenas para nos ajudar! 👍)
- Prepare os commits em branchs separados usando o padrão de nomeação: nome + sobrenome.
- Envie o P.R.! (Dedos cruzados!😎)