Towards a better take-home assignment

Posted at 03/2021

A take-home assignment is a task given to the candidate to complete at their pace. The task consists of implementing a project given the requirements.

The project tries to emulate a real-world situation, using the same tools the candidate will be working with on the job. Also, this project allows testing many skills at the same time.

However, the time to complete the task is too long. Thus many candidates give up in the middle of the process. Also, the project task may suffer from scope creep, because the requirements are open-ended. The test is hard to be broken down into discreet parts.

The solution is to have tasks with a more narrow scope, focusing only on a few skills. Thus, the task takes less time to complete, preferably in one sitting.

Here are some examples of tasks for mobile developer position:

Task 1: My Fruit Page

The task is to create a page that contains in the title the name of the fruit, an image, and the description.

Task 2: My Fruit List

Create a list that shows the fruit name, and when the item name is clicked a description appears.

Task 3: My Fruit Online

Create a page that displays a list of fruits received from an HTTP endpoint

Task 4: My Fruit Editor

Create a page with a text field that is edited, the change should persist if the app is closed.

The above tasks aim to test the knowledge of the candidate in the following topics:

The evaluation criteria should be: