For current open positions, see our career page 👩💻
Hello! If you are reading this then we're likely in the process of chatting with you about a technical role at cargo.one. If so, congratulations 🎉 !
In order to move forward, we'd like to know a little about how you work. To that end, this repository contains a set of time-boxed (approximately 3-4 hours max) exercises that you can use to demonstrate your skills and abilities.
We know that 3-4 hours is not a lot of time and you will both not be able to complete everything you'd like and will feel pressure to do more. Please truly hold yourself to 4 hours max and make sure to create the ROADMAP.md
file as outlined in the instructions below.
We’d like to get an idea of how you write code in the real world, as it's a strong indicator of how you'd tackle day-to-day coding tasks at cargo.one. Although cargo.one's codebase is more extensive and complex than any technical exercise, we've found such exercises to be a reliable indicator of your potential performance in this role.
The primary reasons we ask candidates of all levels to complete these exercises are as follows.
-
🌎 ~ We're a fully-remote team and we hire candidates from across the globe. Async exercises allow you to show off your skills at a time/place that works for you.
-
⏳ ~ Take-home exercises allow you to work at your own pace. We intentionally structure these to take around 3-4ish hours of time and ask that you limit your investment to no more than the suggested time, however, you are free to break this into as many sessions as you wish.
-
🔄 ~ It matches the nature of our work. Most of being an engineer on a remote team is self-directed exploration of a problem, followed by period(s) of cyclic work/edit/review, followed by submittal for review and approval by your peers. Async exercises allow you to do the same.
-
👀 ~ It eliminates the performance anxiety of forced-pairing with someone whom you've just met.
-
🛠 ~ It allows you to use the tools, languages, and frameworks where you are the most productive.
-
Choose an exercise directory that matches the role you are applying to.
-
Read the
instructions.md
file in the matching directory. Be sure to read the instructions carefully and ask any clarifying questions either via Github issues or by emailing me@cargo.one -
Create a new private repository for your exercise and add the cargo.one hiring team members as private collaborators (We do this to preserve your anonymity so it's not obvious you are looking for a new role.)
-
Complete as much of the exercise as you can in 4 hours or less. Unless otherwise specified in the
instructions.md
document, you can use any language, framework, or toolchain you wish, although ideally, this would be Python, Javascript (VueJS), and SQL (purely because those are the languages we use to build Welcome and will be the most familiar with) -
Be sure to include the following in your submission
- a
README.md
with the following information- A few screenshots of the finished product. Show off that work! 📸
- A short explanation of what you built
- How to test/demo/run (if applicable)
- NOTE: a 'working' exercise is awesome, however, it is NOT a hard requirement. We mean it!
- Any feedback/notes (i.e. if something was hard, confusing, frustrating, etc)
- Anything else you'd like us to know about your submission
- a
ROADMAP.md
with what you would add/change if you had more time. Dream big. - a super-simple test suite if applicable (even one test is a bonus)
- Some form of lightweight technical documentation (code comments are fine)
- a
-
When complete email a link to the repository and any special instructions to coding.challenge@cargo.one in the cc.
-
Sit back and relax. We'll review your submission and get back to you within 48 hours 😃