Some background
Recruiting is a lengthy process, and we are now in the fourth month of trying to find a good fit.
Since I know people who are looking for a job are reading this, let me fill you in on a couple of "fails" some candidates make during interviews. (But frankly, this is mainly for amusement)
To give you a little context: we are in need of a full-stack developer. We have several projects requiring PHP, NET/ASP and Node on the back-end.
However, none of these projects justify dedicated positions. This leaves us with the problem of ideally finding someone who can either do it all or at least come with a solid understanding of at least two of those requirements and an eagerness to learn. Now, there are requirements for the front-end as well, but that is not relevant for this post. Here is a little "best of"
The boot-camp keyboard warrior
Candidate: "I don't write PHP"
Us: "We can see that from your resume. But since you have experience with high level languages, I was wondering how fast you would be able to pick it up."
Candidate: "PHP is not a high level language."
Us: "How would you categorize it?"
Candidate: "It is an inconsistent dinosaur that's why everybody hates it."
Us: "So you looked at it and disliked it?"
Candidate: "No, I haven't"
Us: "Is this the reason it is not a high level language?"
Candidate: "Yes, I think so"
Us: "OK. Let's skip that for now. I really like the design of your portfolio site. What did you use to build that?"
Candidate: "I designed it with tailwind and the animations are all done by hand with vanilla JS."
Us: "Very nice! But this is dynamic content, isn't it? Is that node?"
Candidate: "No. For the blog I used wordpress."
The artisan web ninja
Candidate: "Is this a trick question?" (pointing at a sheet for HR)
Us: "Which one?"
Candidate: "The one about professional recommendations."
Us: "No. This is in case HR wants to reach out to former employers or peers who have worked with you. This normally doesn't happen, though."
Candidate: "But. OK."
Us: "Don't worry, we will not call your current employer."
Candidate: "So it is a trick question."
Us: "I am not sure how you mean that. But we will not call anybody at [listed company in resume] as you still work there."
Candidate: "No"
Us: "You don't work at [listed company in resume]?"
Candidate: "Yes. I mean no, I did."
Us: "Ok. When did that change?"
Candidate: "In March."
Us: "It says here you are still working there. What have you done in the last six months?"
Candidate: "I knew I would fall for the first trick question."
The web guru
( this one has made it to a technical part )
Us: "You seem to be stuck here."
Candidate: "I don't understand this code base."
Us: "To be honest, this is how this part is designed. The target is to see how you go about understanding legacy code."
Candidate: "But it doesn't make any sense."
Us: "Where are you stuck?"
Candidate: "This variable is never declared, why does this work."
Us: "You mean this method?"
Candidate: "No, this function here."
Us: "Hm. Could this be a magic method?" (yes, it could)
Candidate (laughs): "Right. And I need a wand not a keyboard."
Us: "Are you familiar with magic methods?"
Candidate: "Are you serious?"
Us: "Yes. But it's okay if you haven't. It's not very common. How would you solve for such a case?"
Candidate (still grins): "Am I also allowed to use magic? Or am I only allowed to code?"
Us: "Seriously, there is such a thing as magic functions in PHP. And it's actually rather simple."
Candidate: "You really believe that?"
Us: "Yes. What? No, I know that."
Candidate (looking at my superior): "Is he for real?"
Top comments (4)
Have you considered using contractors? It seems like it would be way easier to find three competent contractors versus one all-star polygot programmer. PHP, .NET and Node are all so very different that I imagine it would be near-impossible to find a candidate who feels neutral about all three languages and their different approaches.
Uff. There would be so much to be said about that. So in general, contractors aren't an option as what I referred to as projects are all long time engagements. I would have to go down a rabbit hole to explain how we are structured and how this led to us being in a position where we should recruit 3 people but only have the budget for one.
Oh yes, nothing is worse than the hellish codebase produced by a long line of contractors (dealing with one of those myself right now).
Are any of the systems small enough that a rewrite would be possible. It might be motivating for some candidates. "Oh, you despise PHP? Well, if you think you can rewrite it in Node/ASP.NET, I'm all ears!"
The easy answer is no. But of course, reality is a bit more facetted. Especially the PHP codebase is gigantic while the node / .net projects could theoretically be rewritten.
But here is the actual catch: while further developing what is in production, we plan a complete rewrite of the front-end (mainly because we need an exit strategy for the end of life of AngularJS), a process this person would oversee and lead.
And this is just the tip of the iceberg. So yes, I am fully aware that we are searching for a unicorn.