At WBAA, we love data and exploring its opportunities. Therefore, for this assessment, you will build a front-end which visualises data about US states.
We would like you to build a small webapp that visualises this data in an attractive way. You are free to use any type of visualisation you want, and you can use any visualisation library you want. You are also not limited to a single visualization! The goal of this is for us to be able to assess your frontend development skills (and to have some fun :) ).
At WBAA, we normally use React, but we value a thorough knowledge of Javascript over a specific framework. That having said, you are allowed to build the front-end using the Javascript framework of your preference (Angular, React, Vue, Polymer, ...).
We have a couple of restrictions for this assignment:
- Please use ECMAScript 6 as the minimum Javascript language version
- The application should include at least 2 charts, which should be displayed simultaneously on a "dashboard"
- The application should be responsive
- The application should contain a search field through which a user can search for a particular state. Searching for a state will then show/highlight that state's data.
- Please provide us with your solution at least a day before we meet face to face, so that we can take a look in advance (please see the "Evaluation" section below for more details). During the technical interview we'll look at the code together, and will probably ask you some questions about you design choices and such.
Don't worry about setting up a webserver to host the app, that isn't the focus of this assignment. As long as we are able to run your application on our machines we're happy!
Included with this read me are 3 files containing data about US states:
- states.json: Contains information about the abbreviations of states.
- population.csv: Contains information about the composition of the population of all US states.
- jobs.json: Contains information about the type of jobs within each state.
If you feel the need to use more data, that's ok too (just be sure to be ready to explain why).
- A Dockerized solution
- Connect your application to the data.gov APIs
Please do not limit yourself to what we can come up with, we love being surprised by your awesome ideas!
In order to evaluate your solution, we ask you to present your solution to two members of our team. Please provide us with your solution by uploading it through https://wetransfer.com/ the day before the interview, so we can take a look and prepare. Please do not publish the assignment or your solution on public code repository services like Github.
Although the base assignment may seem relatively simple, we ask you not to treat this assessment as a simple coding-skill exercise (otherwise, you'd be writing another FizzBuzz implementation on a whiteboard ;-) ). Instead, we will be judging this solution from the perspective of a real user (if you build something really awesome, we will definitely use it). Of course, we don't expect you to re-invent the wheel, but we greatly appreciate if you show you have given thought to the problem and considered how you may improve on your solution in the future.
From our perspective, the goal of this assessment it to gain insight into your skills in terms of:
- Computer Science
- Software Development
- Coding productivity
- Clean code
Apart from a (correct) solution to the problem, we also value evidence of solid software engineering practices (e.g. code testability, separation of concerns, avoidance of code repetition, etc.)
If you have any questions, remarks, or would like further clarification on the topic, please don't hesistate to get in touch with us.
Happy Hacking!