Building the right team

In one of my ventures, I have the opportunity, and yet, the huge responsibility, to build the company all over again - basically from scratch.

Let's start with the good news. The company was already making 7 figures, the product was there and it was a great product. We had more than 1000 recurring, high-value customers.

The bad news was that there were a lot of technical debt and the quality of the code was bad : nothing was tested, people closed their eyes and crossing their fingers when they deployed the product, hoping that no disaster would happen - this time.

The team was of more than 15, but had just lost his top-management who left with a few other key employees. Out of those 15 persons, only 3 were employees and on site. All the other team members were contractors, living in 4 different countries and 3 time-zones. And you can imagine the contractors took notice of that situation. In short, the people were costing the company a fortune, even though they were doing a nice - outsider - work.

To make things more difficult, we had huge deadlines coming in and we had only one way to make this company work in the long run : internalize the team and the know-how.

The journey to find the team players

That is how my journey started, with a clear set of priorities among which the need to internalize the team (check my other post on how to work on the right things at the right moment).

I had a few options : use my network, which isn't always the best approach in my experience. You need to build the right team for the given context. A great product manager in a company could be a huge disappointment in another situation. Network is a better tool to add some traction to your talent search than to play the pool of talent.

So I started with a simple yet effective approach. First, I wrote the description of my needs. In my case, I needed someone to play the tech-lead role, to drive the team. That person should have a great emotional intelligence, someone I could trust and who could get the job done.

I also needed the pure-makers, the kind of people who loved to code from morning till evening, ideally who had side projects showing that coding wasn't just work for them. And I needed a bunch of them. I choose to get some senior profiles but also a few promising junior one. Not all tasks are necessarily complex and youth can bring a lot of energy to a team.

When the plan meets reality

I had my ideal picture of the team in mind, but soon enough, I was greeted by Miss Reality.

The senior developer you were looking for had a lot more capabilities and was an apprenti CTO in-the-making. That's good, but unplanned news. You find the perfect senior with the perfect mind-set, but without knowledge in your key technology, etc.

The key here is to work like a sculptor, a painter. You find peoples with different sets of personalities, skills and desires, like a palette of colors you have to mix to build your team. You sculpt the crew with everyone's key strengths, hoping that at the end of the day, it would work well. And without too much of your inputs.

Photo by NEW DATA SERVICES / Unsplash

The recruitment process

I decided that I would play with different sources to funnel my candidates in. I choose to work with 3 channels:

  • LinkedIn job posting offer
  • My Network
  • Sourcing partners

Let's go over each channel and their pros & cons.

LinkedIn job posting

I used LinkedIn Job posting offers for a generalist approach. It proved to be highly successful, yet at first inefficient.

I received a lot of candidates from different countries even though I had made explicit I was looking for on-site employees only, but go figure, people have to try their chance.

My stats were as follows :

  • 50% of candidates were outside my country,
  • 10% were a bad fit on paper (bad CV, not the right profile, etc).
  • 40% were good enough on paper to be worth a look.

Out of those 40% left, I therefore made them go through an automated test I put in place thanks to HackerRank (check my other post on the full comparison of tool to source candidates). Only 10% of the total candidates passed that test, which was quite basic (I don't like to grill candidates only).

The campaign costed ~1.500€ for 3-4 good & qualified profiles at the end of the funnel (this cost covers LinkedIn job offer + HackerRank subscription).

Network

Even though I stated that network wasn't the right pool to look into, I found some great candidates from word-of-mouth (hence, not directly within my network).

Sourcing partners

There is no secret when hiring people, it costs a lot of money. Good developers are either working for someone else, or they are getting recruited. It is really rare that they are free on the market without any ongoing gig. And if it is the case, it doesn't last for long.

Hence, I had to rely on key sourcing partners I trusted. Those companies take between 15% and 25% of commission (on the annual gross) to find a good profile (the rate being higher for employees than freelancers, as the annual cost is higher for freelancers). N.B. I never work with exclusivity, to allow diversity in my candidate's profiles.

That channel helped get a lot of great, senior, capable profiles. Often, they already went through some technical tests, making my life easier. However, be aware that it will take you a lot of time : you will get tens of CVs to get a few interviews.

Once I had the right candidates, I had to interview them.

Photo by Charles Deluvio / Unsplash

What surprises developers every-time

To build my team, you need the right people, with the right attitude. Look for attitude and personality over skills. Yet, obviously, you need skilled and talented people, but first, you need to go away from energy-seeker, pricks and divas (I go over those profiles in my other post).

As the saying goes, it is better to have a hole in your team, than an asshole inside.

So it kind of surprises me that, more than 75% of the time, developers are surprised that my first interview with them is all over behavioral, values and personality question. A lot of them try to get the conversation back into technical stuffs, with the bragging and the name-dropping of technologies that goes with it.

Per se, it is not a deal breaker for me that the developers doesn't understand the importance of those soft-skills, that allows me to grasp a bit of their technical knowledge while going through the interview, but that's not a great sign either.

A lot of developers still think that logic is the keyword in this world, while emotions actually rule us all (see my other post on the importance of Emotions on employees). Actually, developers more than anyone else are ruled by emotions. Emotional intelligence being not the key-strength of the job, they sometimes lack the introspection to get that.

At the end of the day, my goal was always to find people aligned with my needs : I wanted humble, efficient, growth oriented and nice-to-work-with peoples I could trust and who would deliver.

The tech tests

If the employee was a technical person, I then made him go through a technical test. My approach is that I hate grilling people (that is not how you get the best out of developers) and I despise trying to ask picky questions on rarely used features of some languages I would personally use Google to get a refresher.

Therefore, I like to go through that technical interview in two phases : first I ask a super stupid question. Usually, that question will take more time than required to get solved for the simple reason that people are stressed, that they have to take time to accustom to the process, get use to work with someone watching on the other side of the screen, etc.

The second question is the real deal, but not a too difficult one. I like a question where the candidate needs to prove he can cut a problem into 2-3 parts and solve each parts. I guide people into the problem, depending on their level, and try to spot silly typos (unless I want to see how he debugs) but that is rarely a good indicator of value. One time, I had a developer spelling a variable with the number 0 rather than the key o, which are just next to each other. None of us found the issue at first - and we lost some stupid time looking for that.

Recap of the whole process

Basically, my whole process was looking like:

  1. Define my needs before starting looking for peoples
  2. Funnel candidates through LinkedIn, my Network & Sourcing Partners
  3. (For tech people) Make good matches go through an automated test on HackerRank
  4. Have a personality interview (see my post on the idea interwiew questions)
  5. (For tech people) If passed, have a technical discussion asking for 1-2 problems, one super easy to get into the mood, and one medium/hard, with some help from me.
  6. Last but not least, do you homework and check references. More than helping check if the person is the right fit, it will help you know how to manage him should you move forward.

At the end of the day, you should have a good idea of the strengths of your candidates, and that is how you can start sculpting your team, break your initial utopian plan and build your dream-team.

You found this content helpful? Do not forget to subscribe to Focal's Newsletter to get better at managing your teams :-).