# Data Engineering Challenge ## Description This challenge has been designed for judging candidates. It can be used both as a takehome exercise that allows for async filtering as well as for a case interview. It provides the opportunity to judge: - Tooling - Git - Docker - Some SQL database - Python - Skills - The ability of the candidate to communicate and document his work. - Systems thinking and architecture design. - Software Development practices (testing, code quality, etc). - Data Engineering practices (concerns on scale, maintainability, flexibility of solution, etc). ## How to use - First, send the contents of `candidate_deliverables`. I advise giving no strict time limit, just whatever is practical for the constraints of the selection process. - Once the candidate submits his solution, judge it. - If the solution comes with instructions and/or automations that allow running it, try it. - You can get some inspiration on how to judge from `takehome_assessment_guidelines.md`. - There is no real strict threshold for what is "good enough". My advice is to (1) discard any candidate that doesn't manage to provide at least a barebones, working solution and (2) for the remaining candidates, follow through with the interview and rank them depending on quality of delivery + discussion. - If you follow through, the next step I recommend is an interview to discuss the solution in detail. You can use the `interview_guidelines.md` to get some ideas on how to handle such interview and how to judge the candidate. - After judging both the takehome and the interview performance, make a decision. If you find that the set up is "too demanding" and is scaring candidates away, you can lower your standards by pivoting towards no takehome part. Instead, only use the case as a theoretical situation for the case interview. I would personally send the description the day before the interview so they can go through it.