What we're looking for in the take home test
What are we testing?
The homework will be about building a backend service that solves a real-life problem at Shapr3D. With the task we test whether you are able to design and build a scalable and fault tolerant backend service, and how you can navigate among constraints like scalability, code quality, testing, time, etc.
Why is this relevant to the application process?
The role of the backend team is to provide services that are able to support application workflows and technical requests by the rest of the company. The homework problem is designed to fit into this picture, while helping us assess your expertise in building scalable backend services and writing testable quality code.
What are the most important criteria to pay attention to?
The most important evaluation factors are whether your solution satisfies the requirements, and whether you managed to design and implement a horizontally scalable and fault tolerant architecture. Code quality is also a key factor, so we’ll look at how idiomatically you used the language you chose. We will also consider some other points, like API design, testing, error handling, the local development environment and your suggestions on scaling and operating the service.
How to prepare (if you need to):
Some areas that could be helpful to brush up on to work on the homework: