Position: Fullstack JavaScript Developer
Company: Oppizi
Category: Node.js
Experience required: 2y
English level: upper

**Overview**
Help us improve our product, we do offline marketing and we have various tech that allows our brand ambassadors around the world to distribute flyers. We’re looking for someone to review our PRs, pull us up on mistakes, architect solutions and produce great, quality, robust code. At this stage in our company, we’re a small team so we’re looking for a skilled developer, who may need to wear multiple hats. Front end dev, mobile dev, backend dev, dev ops, solution architect, etc. You don’t need to be across all the aspects but you have to be willing to learn.

Pretty much all of our stack is JavaScript and various flavours of it, React, React-native, GraphQL and we use AWS to manage our infrastructure.

**About Oppizi**
As mentioned above, we do offline marketing, the company has been around for roughly 5 years. Of which the last 2 it’s been elevating itself with in-house built tech. It started with the CEO standing on the street handing out flyers and, over the course, progressed to a network of brand ambassadors around the world standing on the street handing out flyers. That said, given the whole global pandemic issue, we’ve recently diversified to deliver flyers to letterboxes and that’s the most recent major feature we’ve built.

**The role**
It’s remote-based, so you must be comfortable with managing your own time and sticking to agreed upon core hours. You’ll need your own equipment, ideally a MacBook but diving on Linux will work too. It’s 7.6 hours per day, 38 hours a week, not including an hour lunch break each day. 

We do a retrospective stand up every day, i.e talk about what you worked on yesterday. We’re all remote so it’s important to keep the communication up and our team is distributed between Australia and Ukraine, so we maximize the little overlap we have each day.

**Why should you apply?**
Remote (If that tickles your fancy)
Working on interesting/exciting tech
Focus on quality, not quantity
Close-knit team

**The application process**
Step 1. 

Send a reply to this ad with your CV and cover letter. And somewhere in the reply answer these three questions.

1. Write a new array `push` function that is pure and does not mutate the array. Show an example of how to use the function.
2. Tabs or spaces? The answer to this won’t impact your application whatsoever. We use prettier anyway.
3. Name a country Oppizi operates in.

**These are screening questions, if you don’t provide an answer to them you may not receive a reply.**

Step 2.
If you pass the screening questions we’ll reach out to schedule a 20 minute 1 on 1 chat to discuss if we’re on the same page. Please ask questions about the position and about Oppizi. We’ll ask a bit about you. 

Step 3.
If we both decide to proceed, we’ll ask you to complete a 45-minute take-home challenge. This is a coding challenge designed by us to be completed in no more than 45 minutes. We’ve kept the scope of it very small, we really don’t want you to be spending any more of your time than that on it but we do want to verify that you can actually code.

Step 4.
Upon reviewing your coding challenge submission we will decide if you should proceed to the final interview. We’ll provide you with feedback, either way, it’s the least we can do after spending 45 minutes on it. If you are successful we will reach out to schedule a one hour 1 to 1 interview with a different team member, they will be a senior dev. They will ask you to complete a coding challenge for the first half of the meeting and they’ll chat with you about past experiences, recent projects you’ve worked on, etc. There will be time for you to ask questions too.

Step 5.
We will inform you within 5 working days on our decision.