We have amazing people working with us at Mobile Jazz. Not only because of their deep, strong knowledge of mobile, web, backend and design, but also because of the incredible stories behind each and every person. We enjoy working with great people in a familiar and non-formal environment, and whilst we’re sure there are many great people out there, we’ll only grow when we’re certain our philosophy and work environment won’t be compromised. Currently, we’re a collective of 20 people, from and working in different places all over the world, and we couldn’t be happier.

Our team is mainly composed of engineers, we don’t have a sales or HR team; we do everything ourselves. This means that someone may be coding in a project in the morning and later hosting a sales meeting or even conducting interviews.

Finding the right people to work with is a very complex task that requires a vast amount of time. It’s getting harder day by day as there are many agencies and recruiters also searching for the best possible candidates. We needed to create a great way to manage the hiring process, so here’s what we did.

Who We Want and How We Reach Them

It’s hugely important to us that we find the right people that fit our philosophy and culture. Not only are we looking for awesome engineers, designers and marketers, we look for responsible people with great communication skills, who go that extra mile to please our clients. We want people who enjoy travelling and team building exercises, and those who strive to add value even when working remotely. From our previous experience, these kind of people are rare and very hard to come by.

So how do we find new team members and how do we contact them? We often don’t have the time to trail LinkedIn pages and profiles on GitHub. Well, our solution is pretty simple; we let them come to us.

We’ve found it’s much easier to spread the word on who we are, rather than just publishing vacancies on various sites. Every company is advertising on these platforms, whereas not everyone is moving their offices to Thailand or Cape Town. We’ve found by posting these interesting articles, that the right people come to us.

The Hiring Process

We needed to set up a process to handle candidates, a place to accept applications and filter those out who don’t quite match our criteria. We’re software engineers looking for software engineers, so we built an API specifically for people to apply through.

The Jobs API is a web service where applicants must send an HTTP POST with specific data encoded in a JSON format. This challenge automatically filters out those who don’t know how to perform this task, a requirement for our teammates. There may be people who don’t know how to send API requests, but even with a little background knowledge and a pro-active approach – it can be researched and easily achieved.

Once an application is sent successfully, our system will reply with a message notifying the applicant that we’ll be reviewing the application shortly.


1. Entering the System

Our Jobs API system is connected to a Trello board. For each new applicant, a new card is added to the New Applications list. From here, we manually review each candidate and move his or her card either to the Discarded or First Check lists.

When applying through the API, the applicant must state which positions or teams they are interested in joining, for example, Mobile, iOS, Android, Server, Backend, Frontend etc. We use Trello tags to identify these across the board.
We have also written a script that lets us perform batch operations to cards in lists. For example, we can now email everyone in a specific list, or move all cards from one list to another.

2. Second Check

If an applicant is moved to the Check list, we’ll assign his or her Trello card to a member of their desired team. This way we can ask a specialist in the team for a final check before starting interviews.

3. First Interview: The Hello Call

The first interview is just a quick call to check the cultural fit of the applicant. We value this above technical knowledge and that’s why we start here.

During this interview, we first introduce Mobile Jazz and explain what we do, the clients we work with and what we expect from a team member. Secondly, we like to hear about the applicant’s story: where are they from, their previous work, short and long-term goals, and why they’d like to join Mobile Jazz.

The most important thing here is to make sure that both sides feel comfortable and enjoyed the conversation, it’s always a good sign that indicates if they’ll fit in well the team.

4. Second Interview: The Technical Interview

The second interview is a technical discussion in the applicant’s area of expertise, lead by a relevant engineer in the team. We don’t expect explicit answers to highly complex coding problems; that’s not what we’re after. Rather, we like to get to know the applicant’s experience and find out which technologies they’ve used to achieve it and to get an insight into the depth of their knowledge.

In the second half of the interview, we go deeper, asking more specific and challenging questions. Even at this stage, correct answers aren’t everything, we like to see bright, pro-active people with common sense and good working methodology.

5. Third Interview: The Final Interview

Finally, if the candidate is friendly, well-mannered and has impressed the team during the technical interview, we’ll chat to them one last time with another person from our team. The main goal of this final interview is to get a third MJ employee to get to know the highly-likely new team member!

After the third interview, the three who conducted interviews will meet to discuss and make the final decision on hiring. Usually, if someone has reached the third interview stage, we’ll almost always offer them a position.

Applications Vs Marketing Efforts

We’ve experienced a high correlation between the number of applicants and the marketing efforts we make. For example, after publishing a blog post about our company trip to Thailand, we received around 100 applications in less than two weeks. The same pattern occurred again after our Cape Town and Winter Skiing events; it seems our culture and philosophy is sought-after by remote workers.

Joan Martin

Starting with a mathematics degree, continuing with a computer science master's degree, and working on mobile and backend development during the past 10 years, Joan is a proficient software engineer. Motivated by great projects and an awesome team, Joan is currently leading the Mobile Jazz team and enjoying the MJ philosophy at its best.