How does a company tell whether a candidate is the perfect fit for the job, and for the team? Many IT companies recruit when starting a new project, or after getting new clients. The hiring process then becomes an urgent one and finding the perfect candidate often degrades into finding a good-enough-for-the-job candidate, starting next week (on Monday, if possible).
At Manas we like doing things our own way, even if it goes against the industry norm. We never rush our hiring process: nothing's more important than making sure every new member of the team is the right fit for us (and that we are the right fit for them!).
We also pride ourselves in the fact that some members, like Juan or Lucila, have been with us almost since the beginning, 13 years ago. Others joined us 8, 6, 4 years ago and are still strong members of our team. This is not the norm for the IT industry. In IT, employee retention rates for developers go between 18 and 21 months!
We’d rather have a happy team that learns and evolves through time, than having to repeat the hiring process every 6 months because another company offered a salary just a little higher.
The hiring process
Every once in a while we find ourselves in the need of expanding our team. The hiring process starts one of three ways:
- Clari, Nico or Palla search for candidates online.
- We get referrals from a university colleague (many of our team members have teaching positions at the university)
- Candidates send us their CVs or contact us directly.
We normally end up with 1 or 2 candidates, 3 at most. Once we select our candidates (after reviewing their CVs and their GitHub profiles) the interview process begins.
These are the keys to our hiring process:
- The first interview is always done by Clari, who brings an initial people and team perspective to the process.
- At least 3 additional team members take turns to spend a nice stretch of time with the candidate, to make sure they can fit the team (and that the team can fit the candidate). We’ll have at least 2 of those interviewers be of similar roles if that’s possible.
- Any team member can volunteer to participate in the interview.
- Each interviewer has up to 1 hour of time with the candidate and total freedom to ask anything they think is necessary to make the right decision.
- Once the interview is over each interviewer must decide if the candidate is a Hire or Not Hire. If it’s a Hire the interviewer must also assess a salary offer. It’s important to make this decision as soon as possible after leaving the interview.
- If at the end of the interviews everyone voted for Hire it’s time to schedule an interview with Nico, the final step in the process.
During the hiring process we try to get to know the candidate in a normal environment, without the usual anxiety of interviews. If we are interviewing for a Senior position we like to invite the candidate to choose a personal project, something they have created, and present it to the team. This way we can evaluate their communication skills, which is something that often goes unnoticed in 1 on 1 interviews, as well as go with him through the design decisions made on a real-life project, which is next to impossible to evaluate in a 1-hour programming quiz.
On the other hand, if we are interviewing for a Junior position, we invite the candidate to work with us for a day. Don’t get me wrong, we don’t make the candidate work for free. We ask them to choose a personal project or an open source project they want to contribute and work with someone from our team helping them. This gives us the chance to get to know the candidate in a normal day to day work environment.
We first implemented this 2 years ago with Leandro. I’ve asked him to describe how he felt working with us that day:
I liked the interview format. It seemed like a good way for me to see if I would feel comfortable joining Manas.
I chose to write a program in Python that represented a text with images. Santiago suggested using TkInter library in order to implement the GUI. After that, he asked me if I had a laptop to work with to which I answered 'yes'. Finally, he asked me to set everything up in my computer so we could start working.
My interviewer turned out to be Mariano. He first asked me to create a new github repository for my project. After that we worked in an iterative and incremental way, creating the elements for our view and adding functionality for them.
Mariano is very friendly, so as the minutes went by I felt more comfortable. Development continued in a smooth way and, before I could realize, our program was able to show a sequence of images at the same time as a sentence was being written in the input field. Mission accomplished!
Santiago gave me green light when I showed him our work and that was it. All of a sudden the interview was over.
After that I kept an informal brief conversation with whom would be my future colleagues and then I left the office. My trial day at Manas was over.
After all the exercises, the collaborative working sessions and the interviews are done, we share our opinions on the candidate. If, and only if, everyone thinks it’s a Hire we make an offer. If one of the interviewers think it’s a No Hire we don’t make an offer.
How do we determine what offer to make? The process is simple, every interviewer thinks of a salary, and we take the average. Here’s what’s unique about this salary offer process: we’ll make a single offer and it’s not open for negotiation (of course we let the candidate know this beforehand). The offer the candidate gets is the best offer we can make, and since everyone at Manas knows everyone else’s salaries there’s no room for favorites or special considerations. Just one offer, either the candidate takes it or we move on. If the candidate takes our offer, we happily welcome them to the team.
As you can see we have designed the hiring process according to our needs and wants. This is not a standard process and I’m sure it won't fit in many companies. It’s just what works best for us.
Finally, something we get asked a lot: what do we look for in a candidate? Easy:
- Get things done
First and foremost, we want someone that shares our values. Given that, we second Joel: we want someone smart (and smart doesn’t mean a high IQ) with the ability to get things done with passion. Someone who can analyze a problem, learn how to solve it, solve it in time and have fun in the process. So there you have it, that’s how we hire at Manas.
PS: if you think you are a good candidate for us make sure to reach out!