Professional Documents
Culture Documents
Salestrekker DEV Test Case
Salestrekker DEV Test Case
Salestrekker DEV Test Case
This test is aimed at assessing your skills with JavaScript development, as well as
the understanding of SPA development. The test is not aimed at exploring just
ness. The test covers multiple roles as well as different levels of knowledge and ex-
perience.
Other skills will also be assessed with this test. Some of them that include, but
are not limited to UX, optimisation, implementation, integration and other. We’re
interested in finding out not just what, but how and why.
is to evaluate your resourcefulness. Thus, as with most other projects, this test im-
poses only limits on what can be used and how it is supposed to work.
Tools used to complete this test are not part of its scope, neither we believe
that there are the best tools to complete the job. You’re free to use whichever tools
you feel most comfortable with, or whichever you consider being the most appro-
priate ones.
1
Performance and ranking
Completing the test, or a part of it, allows for the assessment and ranking to take
place. Completing all the parts of the test should not be considered as demonstra-
tion of all of the required skills. Completing just some parts of the test should not
be considered as a failure.
We will consider all demonstrated skills, even if the test is just partially com-
pleted. Upon completion of the test, your skills and aptitude will be ranked as fol-
lows:
- Optimisation techniques
2
Use-case scenario
Do note that this is just a use-case scenario, and is only provided as a de-
A company has a need for a custom application which would track their leads. Ap-
plication would be accessible via Internet and work on desktop as well as mobile
devices. All of the employees would have access to the application, but just the
managers can delete the data. Data within the application is available to company’s
actual goals presented in above paragraph, you are supposed to create all, or at
3
1. Web service via NodeJS
1. ESLint
2. Prettier
1. Flow
2. Jest
3. BabelJS
4. Webpack
Backing data-storage is not a scope of this test thus it can be anything you
Web service should be implemented by using Koa and its sole purpose should be
At the minimum, web service should have a single endpoint which would serve
In the best case scenario, web service should be configured to parse requests
with body and cookies, to have CORS restrictions and to utilise helmet protections.
4
API via GraphQL
API should be implemented via Apollo and its sole purpose should be data re-
At the minimum, API should have at least one type, one input, one query, and
In the best case scenario, API should define two types with backing inputs, two
At the minimum, UI should be a single page with a list of all of the leads, a dia-
log for adding new lead and/or editing the existing one, as well as option to delete
existing lead.
the starting letter, dialog for adding a new lead and a dialog for editing the exist-
Expected results
On the first glance the goals can look overwhelming but broken down in separate
parts, each part can be just a single source file with a distinct role. Although in a
better solution, each part would be broken up in a number of smaller source files
and tied in via bundle so the final output is again just three distinct files.
In ideal case, all parts should be completed, tested and bundled before sub-
mitting them. But there is no requirement that all of the parts need to be complet-
5
ed. We will take into consideration qualifications and work experience and weight
able to complete all of the parts easily. Less versed developer should be able to at
We believe that this approach - where anybody can focus on the parts that suit
them the most, should alleviate the difference in skill and work experience and
provide everybody with the same chance. Since we’re looking for multiple employ-
ees with different skill sets we do believe that anybody can prove their skills in ap-
propriate manner.
You are not required to do more than test specifies, such as taking care of
UX, minifying code, writing tests or anything else that would improve upon
your solution for this test. But it is worth noting that all additional steps you
take to improve upon minimum required goals will count towards your rank-
ing.
Time-frame constraints
Imposed time limit for this test is fourteen (14) days, but you should be able to
world scenario, but it is worth noting that this limit is stretched out to account for
the current and previous obligations you might have besides this test.
6
Tips
This test, as well as any other development task, has a multitude of different possi-
ble approaches to solving the problem at hand. There is no best solution for this
test, but there are better and worse approaches for it.
We urge you to consider the problem at hand and to think it over before jump-
ing in. Building even the smallest part of the big solution calls for some planning
There is no single feature that cannot be improved upon, and such is the case
with this test. There are no requirements except the stated ones, but going one
mile further shows dedication and willingness to be better than the bare minimum.
Focus on your strengths. If you prefer working on the UI and have less experi-
ence with the back-end - focus on the UI and UX and do not waste time on other
parts. On the other hand, if you shine on the back-end, UI should be an af-
terthought. In every case, this test provides the means for all parts to be completed
Tools can be your best friend or worst enemy in the development world. There
are absolutely no limitations on what tool you can use to reach the best possible so-
lution, but excess of tools used can complicate the development process for a
large-scale application.
Your solution will be tested out in different environments, browsers and servers.
Thought process behind the solution is something that we will inquire about.