One day, while The Manager was walking back from a morning coffee run, a group of frazzled engineers came near and spake unto him, saying: “Most Esteemed Boss, we are unable to hire Talent – and many of our candidates refuse to take our coding challenges! The labor market is tight and our staff are burning out, should we not ease our process and forgo coding challenges, so that we might secure butts-in-seats more quickly?”
The Manager turned to them, and upon seeing that they were truly desperate, sought to teach them them using this parable:
—–
A hiring manager interviewed four engineers for a new role, and as each one approached, the hiring manager explained that the candidate must first pass a simple, non-leetcode challenge in order to advance to the next stage. The first candidate heard this and scornfully mocked the hiring manager,
“Bro, I’m an experienced engineer, if you can’t look at my github and portfolio, and my work history and see that I can code, I don’t want to work with you.”
This made the hiring manager feel sad.
The second candidate was nicer and agreed to take the challenge. But upon failing, the candidate offered up many excuses and complaints about their local dev environment, troubles with the coding platform, and that they were just dealing with a stupid bug.
The third candidate accepted the challenge gladly, but upon seeing the problem and attempting it, hung their head and wept, for the problem was beyond their skill to complete. The hiring manager had pity on them, and gave them an easier problem, which they completed gladly.
The final candidate accepted the challenge gladly, completed it successfully in one-tenth the required time, and even managed to work in a few tests and an optimization before time expired. The hiring manager was overjoyed and the candidate moved on to the next stage.
The other candidates were outraged, and they spake angrily unto the hiring manager, saying:
“We were qualified too, bro (brothers? brethren?), if you just give us a chance! Not everyone can pass a coding interview under pressure, and furthermore, the problem you gave involved pirates and recursion, and pirates are clearly not what we’d be working on on a daily basis.”
But the wise hiring manager simply smiled and said, “Thank you for your time.”
——-
When the Manager finished the parable, the engineers asked him its meaning. So he explained it to them, saying, “The wise hiring manager knew that each of these candidates would approach their work much as they approached the interview.
The first candidate is the engineer who doesn’t seem to understand that they add value to the company by coding well and fast. Instead, they spend their time writing careful specs, crafting stories, practicing over-the-top-TDD, and writing pages of documentation that no one will ever read. But somehow, when it comes time to do work, they always seem to produce code at a snail’s pace. They work between 12 and 18 months at each job, careful to move on before their work product catches up to them and they’re fired. And they manage their job hunt carefully, so that each new job is slightly better-looking than the last, ensuring them a steady upward trajectory.
The second candidate is the engineer who will eagerly accept a new assignment or project, but once they encounter the typical obstacles, they will come up with every excuse they can think of, blaming anything or anyone else for why they’re still not done. They’re a pro at offering these excuses, and they can often keep stringing you along with very believable excuses for month after month, before they too move along to their next victim job.
The third candidate is the engineer who is extremely driven and willing to do whatever it takes, but at the end of the day, just can’t get the job done. It’s heartbreaking because this job will be disappointment to them, and to their manager. But this is a professional team, and lowering standards will hurt everyone on the team.
The final candidate is the engineer who is both humble and confident enough to be ok with a test of their skills, because they know that the way they add value in their job is by coding well, and they’re happy to prove it. Furthermore, they demonstrated problem solving by wrangling the buggy/broken tools they’re given, under pressure, which may not be their day to day job, but is great when the team is in a tight corner or when things go sideways in production on some legacy system.
This engineer is worth 10, sometimes 100 times the other developers.”
The engineers left, and everyone marveled at the common sense wisdom of The Manager.