I was on LinkedIn this morning looking for jobs and a post was recommended in my feed that’s been living rent free in my head all day, to my own detriment. Basically to paraphrase it was something like:
Had 3 developers on calls for interviews today. Had canned / AI generated answers to questions. Don’t developers know they need to prepare for these and be willing to go the extra mile, especially as a mid level / senior developer?
On the one hand, I sort of get it. Recruiting is expensive and hiring the wrong candidate costs a lot of time and money. So I understand the goal. My gripe is with the solution – what I hear is something I’ve always heard “devs must be willing to jump through hoops to prove themselves to me.”
But, why? What makes your company so special?
Hiring is a two way street. As a candidate I’m interviewing you just as much as you’re interviewing me. Which means the more friction you create, the more candidates you lose out on. My premise is – a lot of those ones you’re driving away might be really good candidates.
Some of the best developers I know are “lazy developers”. The ones that see a repetitive problem and write a script that automates it saving hundreds of hours. Or sees us doing basically the same bit of code multiple times in different places and moves it all to a function / component with parameters so they don’t have to change it multiple times the next time the requirements change, it all changes in one place (also they write a test around it to know if any future code breaks the assumptions). The ones that look for simple, reusable solutions that make everyone’s lives better, including stakeholders / customers, rather than trying to show off how much code they wrote or how many PRs they opened that week.
What I’m really asking for is a bit of grace for both sides. Because yes it sucks trying to recruit good, talented developers. But it also sucks from the other end. Sending out hundreds of applications to hear back from a tiny percentage many of which then grill you on technical questions that if you encounter on the job any good developer is going to look up anyways to remind themselves of the common solutions or make you build a sample application that isn’t something the developer can showcase on their github nor the company use in any meaningful way. All in an effort to prove yourself as a developer.
I sort of get this for entry level positions – you want them to show a basic understanding of the necessary skills. But even there a lot of it is going to be teaching and mentoring on the job, so I would argue to keep it to a bare minimum. But for a developer with say 8-12+ years experience, which seemed to be what this person was looking for, I find it unlikely that they’re going to have fooled companies for that long. I’ve met a few developers in my career that have “failed up” repeatedly. But it’s a rounding error. I’ve met way more really sharp developers that are just burnt out from the grind – both in a job and looking for jobs – that they’re mostly checked out. The lost productivity and creativity from all that is far greater than the few that got jobs they shouldn’t. And it’s amazing when you throw a problem in front of them that sparks their interest and then they just light up unexpectedly.
For me, based on my experience, it’s things like that original post that sort of feel like flags to me. That it’s likely a company that will worry more about RTO mandates than how many problems are solved. Or that people are “in their seats” (virtually or physically) for a certain number of hours, rather than other far more useful metrics. And my claim is not “you’re missing out on me, your company is doomed”. My point is – if I’m picking that up, all the people I know that are far, far more talented than me are as well. They’re the ones you should worry about missing out on. They’re the ones that will make everyone around them better.
My suggestion therefore is just to have a little faith in a body of work someone has and spend that time interviewing not forcing a candidate to prove their technical skills with LeetCode questions but whether they’re interested in the problems you’re facing and are a good personality match for the team you’ve already built. I already talked a bit about this in a previous post. Ironically in that process you’ll likely get them to open up and be a lot more excited about sharing how they’d approach solving real problems you’re working on – which is exactly what you want in the first place. Oh and keep the whole process as short as possible, because we all have but one precious life and time is our most valuable resource that none of us knows the remaining balance of.
Or maybe it’s just me and I’m seeking a way to justify my laziness or low tolerance for BS. I honestly don’t know.