Tag Archives: hiring

Order Is Important

As someone that has built software for a long time it’s intrinsically understood by me that order matters. How you take in and verify data or the succession of steps you show a user to facilitate an action or transaction getting it correct matters.

Which is why despite the market we currently reside in, where hirers have far more power than seekers, it still surprises me when one doesn’t consider the order of steps in the process. Especially for a job hiring coders.

This morning I applied for a job. It had some minor red flags that stood out on the description, but overall it seemed legitimate including being – supposedly – from a domain that would require a fair amount of investment to obtain. However after applying the next steps were:

  1. Required to watch a 5 minute video describing the process, in order to trigger the next step.
  2. Required to take two assessments – one a generic comprehension test and one apparently a technical test.

All before even talking to a human being and being able to ask questions to even see if this job is right for me and worth investing time from my one wild and precious life to do all that work. Just to “earn” the right to talk to an actual human.

This was further compounded by a sales pitch that consisted of the introductory email outlining all this telling me it’s because I’d “earned” the right to move forward by being “assessed in the top 10% of applicants”. All within less than 3 minutes of applying. Which seems impressive, if not impossible.

I guess my point is that while the power dynamic shifts with the market this is a two dimensional conversation – you’re selling me why I should lease my time to you and I’m selling you why you should lease my time over someone else’s. So doing it in this order with a pitch and approach that seems right out of “this is just something to prey on desperate job seekers to give free labor to train our LLM” leaves a bad taste in my mouth.

I have, at least currently, the privilege of not wondering how I’m going to pay rent / mortgage or buy food next week. So I reported it as fake, which it seems to be, marked the emails as spam and moved on – other than writing this.

My point is mainly that there is an inherent social contract at play here. So if you have the same privilege and encounter this, please show courage and do similar. So that, hopefully, there’s less of this to take advantage of those that don’t have that same privilege. We need to look out for and support each other as best we can. Kindness matters.

Maybe a lazy developer is exactly what you want

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.