Engineering Hiring

Our interview process is a little different from what you might expect. For instance, we do not test for skills like...

  • Whiteboard puzzle/problem solving!

  • Data structures and algorithms!

The detailed explanation on why we do not test for these skills can be found here. tl;dr? we fundamentally believe in testing only for skills that we expect will be needed for (most of) the kind of work that we do here.

Here's what our hiring process looks like:

1. Answer the "Opinion Questions"

As a team, we're quite an opinionated one! It helps us to listen to everyone -- we end up learning from each other's point of view. To know you better, we ask you to write down answers to these 4 questions:

  1. What advice would you give to your younger self (back when you started programming)?

  2. What is your favourite programming language, or framework? Why? What do you not like about it?

  3. What are some of your favourite technical essays, books, or videos? What do you like about them?

  4. Why do you want to be at Obvious?

We're not judging your English skills here. Instead, we're looking for clarity of thought and explanation. There are no right or wrong answers to these questions. All of us have very different thoughts on them, shaped by our experiences, and we hope your answers will make for a riveting discussion.

2. Take-home Exercise

Aha, finally some code! We will ask you to build a small app using publicly available resources.

  • You do this exercise at your own pace, on your own computer, and in an environment that is comfortable for you.

  • We expect you to use git, commit code as you go along, and build the app iteratively -- just as you would during a normal workday.

  • When you're done, make your repository public and send us a link to it. We'll go through what you've built and get back to you in a few days.

How we evaluate the exercise

The process for evaluating an exercise solution is detailed here.

3. Obvious Day

This is the last step in our process, congratulations! You will be spending a day at our office, meeting our team, seeing how we work, and writing some code. You'll eat lunch with the team, and if we can convince you, go out for some tea and snacks in the evening.

Technical interview: 1 hour

You talk to one or two engineers from our team about your technical journey. Expect the questions to be practical, platform specific, and related to the kind of work you've done. We might end up discussing your answers to the Opinion Questions, and talking about the choices you've made in the Homework Exercise.

Pairing exercise: 2 hours

You pair with an engineer on the Homework Exercise code you wrote. This might involve refactoring or adding some features. To make you comfortable, we will do this on your computer, or give you time to setup one of our computers to fit your usage.

Mentor a Junior Developer: 1 hour

If you're interviewing for an experienced position, we ask you to explain a concept/pattern to a junior developer. You may use a computer or whiteboard or anything else you feel comfortable with. One of our engineers will silently shadow this discussion.

4. In-person Conversation

We invite you to our office for an hour-long friendly conversation with our engineering lead to understand your journey so far, what you're looking for in the future, and any questions you might have about Obvious.

You should go through our Playbook beforehand -- it answers many frequently asked questions. We also welcome your feedback about the entire process -- bouquets and brickbats welcome!

And... that's all!

We'll get back to you with an answer in less than 7 days. Good luck!