Hiring is a hard task. If you have tried it at least once, you will probably agree with me. We write a vacancy description, trying to dump as many skills and qualifications there as we can. Looking for a back-end developer? No problem! Let’s say the candidate we are looking for should be proficient with Python, Django, databases, Java, caching, DevOps, JavaScript, OOP… what else? Oh, yes! It would be nice if he or she knows NoSQL, distributed computations, functional programming, and how to cook pizza! Needless to say, most likely you won’t be able to apply all these skills to the problem you’re aiming to solve, but even if you will able to find someone with qualifications that perfectly match with your requirements, think again – it may be a trap!
If you are willing to hire someone, then, most likely, you have a project you need some help with. Your assumption is – a person experienced with the technologies which are in use in the project will be more likely to help to hit the deadline and deliver a high quality product. You interview a dozen applicants and finally find someone who, as you think, fits the project perfectly. In other words, you find the ideal candidate. Now you fall into the temptation to send him or her an offer immediately. My recommendation is – don’t do that right away!
The reason is good knowledge of a technology stack sometimes can be beaten by the drive of a person who is less proficient, but willing to learn. Let’s say, the deliverable of your project is the cooking of one thousand pizzas (we hired the back-end developer who knows how to cook them, remember?). Now imagine you have two guys – one who used to be a pizzaiolo and another one who has a clue about how to cook pizza, but has no or very little experience in it. During the first week the first guy’s performance is pretty high and the quality of pizza he cooks is very good too. The poor second guy can hardly cook one pizza, all of his other attempts ended up in a bin. Honestly, there were not many attempts, because he was too busy trying to figure out how the oven works and which ingredients are to be used for different kinds of pizza.
A month later, when you are ready to fire the second guy, you amusedly discover that his performance has graded up to the performance of the professional pizzaiolo. Now you decide to give this guy a chance. And your decision is right, because another month later he’s twice as efficient as the first guy. A few weeks after that this amateur pizzaiolo invents a new type of pizza which sells extremely well and makes you pizza restaurant famous. At this point you fire the first guy.
The situation I’ve just described is idealized, but I hope you understand what I mean. When hiring someone, don’t be blinded by his or her ideal CV and skill set. Ask yourself, does the person who sits in front of you have potential? Maybe you can afford to have low performance at the start in favor of future opportunities. Mathematically speaking, it’s better to choose someone whose performance and expertise grow as an exponential function rather than one whose performance is linear.
The world is a complex and unpredictable thing. Pursuing the illusion of control, we often become short-sighted, caring only about today, focused on solving a short-term problem, and ignoring what may happen tomorrow. Don’t be afraid to leave your comfort zone when hiring team members. Respect your team and give them the freedom to create. Acting on this, you can win a jackpot.
P.S. The guy who invented the new kind of pizza for you left your company one year later and opened his own pizza restaurant across the street. But that’s another story.