Skip to content

pineapplehq/hiring-exercises

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

welcome logo!

For current open positions, see https://www.linkedin.com/company/welcomehq/jobs/ 👩‍💻


Hiring @ Welcome

hiring process graphic!

Hello! If you are reading this then we're likely in the process chatting with you about a technical role at Welcome. 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 short, time-boxed (approximately 1-3 hours max) that you can use demonstrate your skills and abilities.

These are NOT coding exercises. The goal of these exercises is to give you an asynchronous medium for demonstrating how you would break down a set of user stories and requirements into something akin to a rapid POC/spike. There is no grading or scoring, nor is it pass-fail, rather these are meant to serve a sample of your reductive thought processes as an engineer. We know that 3 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 3 hours max and make sure to create the ROADMAP.md file as outlined in the instructions below.

First, a few words about asynchronous/take-home exercises

We know that the technical hiring processes in our industry are generally broken. We also know that there are mixed opinions on take-home exercises in general. The primary reasons we ask candidates of all levels to complete these exercises are as follows.

  • 🌎 ~ We're a fully-remote team spread across multiple time zones and we hire candidates from across time and space. 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 1-3ish 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.

General Instructions

  1. Choose an exercise directory that matches your primary domain. This is the area in which you feel the most comfortable and have the highest degree of mastery

  2. 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 [email protected]

  3. Create a new private repository for your exercise and add the Welcome hiring team members as private collaborators (We do this to preserve your anonymity so it's not obvious you are looking for a new tole.)

  4. Complete as much of the exercise as you can in 3 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 (ReactJS), and SQL (purely because those are the languages we use to build Welcome and will be the most familiar with)

  5. 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! 📸
      • The exercise you choose and why
      • 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 lke 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)
  6. When complete email a link to the repository and any special instructions to [email protected]

  7. Sit back and relax. We'll review your submission and get back to you within 48 hours 😃