Take-home Code Challenge for Employers
Welcome, and congratulations on reaching this exciting stage of the hiring process! I’m thrilled that you’re considering having me join your team.
To help me understand your team, and its problem-solving skills, technical proficiency, creativity, and collaborative dynamics, I’ve designed a take-home code challenge for your team. This challenge is your chance to showcase your team’s coding abilities in a relaxed, real-world environment. I’ve crafted the problem to be both engaging and fun, so it won’t seem like work. I’m looking forward to seeing what you come up with!
Please approach this as you would any internal project, including typical communication and code review processes. Make sure to leverage the whole team so it’ll go fast. This exercise is not just about the end product but also about showcasing your team’s work culture and communication.
Timeline:
Please spend about 30 minutes. But you will be given two weeks, just in case.
Evaluation Criteria:
I will use my proprietary rubric. It is based on numbers, so it’s scientific. Due to the number of jobs I am interested in, I’m not able to provide specific feedback on your submission.
Technical Requirements:
- Use a front-end framework/library of your choice. But, well, we use React, so how’s it going to look if you use Angular?
- Implement a back-end service using a technology stack you’re comfortable with, but we use GoLang.
- Use Oracle (rdb) to store user and task information.
- Include error handling and input validation.
- Write unit and integration tests.
- Deploy on your favorite cloud provider (e.g., Azure) using a CI/CD pipeline and Kubernetes.
Okay, finally, here’s the project:
Project: The GitHub Analyzer
Overview:
Develop an application that evaluates GitHub profiles. The goal is to assess job candidates based solely on their GitHub profile, in an automated way, and determine whether the candidate is a “good” fit or not for a job. (I know, meta, non?)
Project Description:
Implement 3 or more of these:
- Emotional Intelligence (EI) Score: Analyze commit messages for the number of emojis used. The more emojis, the higher the score.
- Dedication Score: Track the number of commits made between midnight and 4 AM to gauge dedication.
- Detail-Oriented Score: Score based on the average length of commit messages. Longer messages indicate a love for storytelling, but more importantly, knowing the details.
- Tech Savvy Score: Count the number of tech buzzwords in commit messages and documentation. Extra points for using “synergy,” “blockchain,” or “machine learning” in irrelevant contexts.
- Perfection Score: Measure how often files are renamed. Frequent renaming could indicate a quest for perfection.
- Maintainability Score: Assess the ratio of comments to actual code. A higher ratio often means the code is well-documented, which can make it easier to understand, especially for new developers or those maintaining the code in the future.
- Collaboration Score: Analyze the number of comments and discussions in pull requests. High activity suggests a love for drama or collaboration.
- Clarity Score: Reward candidates for the longest variable names. Because clearly,
supercalifragilisticexpialidociousVariableName
is better thani
. - Creativity and Thoughtfulness: Evaluate commit messages based on their poetic qualities. Extra points for haikus, limericks, and sonnets.
- Passion for the Job: Count the number of flame wars the candidate has engaged in over tabs vs. spaces. High engagement equals high passion, right?
- Fun Co-worker Score: Measure the number of hidden Easter eggs in the codebase. More Easter eggs, more fun!
- Productivity: Check how many commits happen per hour. More commits == more productivity!
- Planning Ability: Measure the amount of commented-out code. The more, the better, because YJMNI (“you just might need it”). Optionally, track the number of TODO comments left in the code. It shows they’re planning for the future.
- Technical Proficiency: Evaluate how much ASCII art is present in the code comments. True talent lies in drawing within the code!
- Code Readability Score: The more hardcoded magic numbers in the code, the higher the score.
7
is more readable thanseven
, right? - Make up your own! Show me your creativity by coming up with your own revealing metrics.