The wattx Code Challenge is an opportunity to demonstrate proficiency with problem solving and collaboration skills we would expect you to use at wattx.
The Challenge creates a foundation for further onsite collaboration during your interview. Additionally, we want you to get a feel for some of the most common tasks you'll encounter at wattx.
- Select a challenge and create a new git repository for that project.
- Organize your work within that repository. When you get to a stopping point, archive the repository (or publish it, if you prefer) and send it to your wattx contact.
We respect your time and the challenge is designed in such a way as not to take more than 4 to 5 hours. We just want to get a sense of your thought process and the way you do the work. If there are features you don't have time to implement, feel free to describe the intended approach to implementation in the README.
Include the following in your README:
- A comprehensive description of how to run your solution. Assume that a person who will check your code has to install all the required dependencies and toolkits. Even better, use Docker and docker-compose to package your solution.
- A description of the problem and solution.
- The reasoning behind your technical choices: trade-offs you might have made, anything you left out, or what you might do differently if you had additional time.
- What you'd do next and why.
Use whatever development workflow works best for you. If your solution is small enough and a single commit is justified, that's fine; we just ask that you keep your commit history as clean as possible.
Reviewing the application we'll look at the following aspects:
- Clarity: Does the README clearly explain the problem and solution?
- Correctness: Does the submission accomplish what was asked? If there is anything missing, does the README explain why it is missing?
- Simplicity: Is the code simple, easy to understand, and maintainable? Is it aligned with the community-accepted way of solving similar problems?
- Testing: If required, what testing approach was taken? Will the tests be difficult to change if the requirements of the application changed?
- Technical Choices: Do choices of libraries, algorithms, and architecture seem appropriate for the challenge?
- The structure and description is taken from https://github.com/Guidebook/code-challenges
- The process is inspired by https://www.thoughtworks.com/