As a part of the recruitment process we ask you to complete a practical development challenge. The challenge consists of two parts:
- You solve the provided task.
- We host a session where you present your solution to us, and we all have a nice talk about it.
We suggest that you fork the repo to your personal Github profile and show off the solution. However, if you want to download the code and create your solution in another environment (ie. CodePen, CodeSandbox etc.) that is also acceptable.
Your solution is the foundation of our talk, not something that we do a technical review of — think of this as a session where we ask why you've chosen the approach you have, and where we have a frank and open conversation.
Imagine that we're in a hiring process, and the applicant has to fill out some personal details. The person we're looking for:
- lives in Europe
- is fluent in English
- can start within the next 90 days
We've created a very, very basic HTML form and some CSS and JavaScript for styling and functionality. (The pre-filled values and feedback messages are only there for the sake of example, so that you don't have to "invent" these.)
Your task is to take this and convert it into a React/Typescript application that validates the user input and provides a feedback response (success or failure).
As we're looking for someone to work in a design system team, your core focus should be on:
- component structure
- scalability and developer experience
- accessibility and usability
- code quality
This also means that not only are you free to question design decisions, it's something we expect you to do.
We expect you to use no more than three hours on this task, and we know that it will probably be a stretch to get done on time, but that's by design — we want you to focus on what you think is the most important part, and then spend some time thinking about whatever is left.
Also, please send us a link to your solution two days in advance of the interview, so that we have time to look it over and prepare questions.
If you have any questions or concerns please simply ask.