Despite being a relative junior at work, I've spent the past year interviewing candidates for technical skills. It's worth reflecting upon.
You can read my initial thoughts on interviewing people here:
That article covers my ambitions toward technical leadership, and my role as the diverse perspective on the interview panel. Being a queer woman in tech is strange at times, since I'm "diverse" by virtue of being a non-dude. Though that's a bit flippant, as I do actually have many differences from the status quo besides just my gender.
Thus far I've not encountered any overtly sexist candidates, but I'm also interviewing for more junior roles. It feels as though junior roles bring younger generations, which are more progressive.
I've heard from others that they ran into sexists when hiring for senior roles – especially jobs where there's deep technical knowledge that leads to swelled egos.
It's nice to interview people who are lifelong learners instead.
Learners tend to be humbler, and willing to engage with anyone. Which is a crucial skill when dealing with tech work, as everyone tends to develop their own subject matter expertise in a narrow area. Even the most junior member of a team can know more about a specific topic than the seniors.
Interviewing For Potential
Few of my candidates are actually meeting the hiring criteria. How long do we want to spend hunting for someone who does?
I've found that we've needed to compromise on criteria and aim to snatch up those junior lifelong learners instead. The market is going quick, and we need to move fast on candidates that we're interested in.
When discussing this conundrum with my father, he mentioned that in his decades of corporate experience he's found this to be true:
Usually you hire a junior and hope to get enough years of service out of them to pay back your investment in their development. Then, once in a blue moon, you manage to poach a senior engineer that knows their stuff.
Thus it makes sense why picking a candidate who can learn effectively is our goal. We want someone with a short time before they're useful, that way if they leave for an outside opportunity we've still gotten some benefit from them.
Few People Can Handle the Technical Interview Challenge
Thus far, astonishingly few of my candidates have been able to tackle what I would consider a simple technical challenge.
There's a huge variety of reasons why this occurs. For one instance, there's language mismatches, where someone familiar with developing in one language and stack isn't familiar with my team's environment.
I try to mitigate this by focusing on high level problem solving. I also emphasise code quality elements, such as code review, documentation, and coding best practises. This has served me better than algorithmic puzzles and challenges.
Yet most candidates are coming from scripting and self-taught backgrounds. They have little development experience, and thus they struggle during my interviews. When I do receive the occasional skilled candidate, they breeze through it. It's an instance of feast or famine tests.
Another reason finding candidates that match is troublesome is because there's a shortfall in tech talent versus tech jobs. There are far more positions open than there are skilled workers.
Whether this is problematic or not depends a lot on your view of tech in the first place. I'm a cynic, and I'm scornful of a lot of the churning money-extraction schemes that pop up in tech. A significant number of tech jobs we could do without, for the betterment of society.
Yet I admit there are good reasons to work in tech, hence why I'm staying in the industry for the time being – at least until I become a real engineer and can pivot away:
In short, I see a "real engineer" as someone who is measured and experienced. This contrasts with the tech status quo, which is a wild west – a frontier with few established rules.
Mottos like "move fast and break things" embody the tech industry, and would make an engineer steeped in safety culture cringe. Due to the tech talent shortfall, there's few experts to mediate the chaos.
All these juniors run around getting stuff done quickly, albeit not well.
All this points to the next problem with hiring in tech: the industry is still relatively new. We're finally starting to see the effects of school pipelines spitting out candidates to train up. Yet there's a huge gap still remaining, and it takes time to turn juniors into seniors.
You can't teach students to become seniors, either. They need to learn by doing, building memories and experience that sharpens their skills.
Whiteboard Interview Challenges Are Awful
It's becoming more known in the industry that so-called "whiteboard interviews" are problematic. Especially the algorithmic focused ones, that present a puzzle that uses skills unrelated to the job.
This challenge is a pressure that affects neurodivergent people and juniors especially, and leads to less diversity in hiring in the long run. The blow post has a good quote that's worth reading in context:
"Technical interviews, at least the way they are conducted today, are problematic. Of course, no candidate looks forward to them. On the one hand, I understand that it’s a necessary evil to determine if candidates have the technical chops required for the role. But I believe that some of these interviews have gotten out of hand."
– Recruiting diverse engineering candidates: What tech companies still get wrong
What's wrong with technical interviews (and how to fix it) is a broad topic fit for a different day. However, I have this one observation:
Technical skills go both broad and deep, and thus few people can tackle a hard technical problem during an interview.
That's why the emphasis is on the learning process, and stepping through a problem. Take-home assignments are great, or even trial-run projects like temp-to-hire.
The breadth of technical knowledge is also why I run my interviews in a particular way: I show candidates what I'm looking for first by reviewing some code, then I ask them to implement their own code and see if they give me what I'm looking for.
The power dynamics of technical interviews are skewed heavily in the interviewer's favour. That's why I find it so important to ensure that my candidates have a decent time interviewing. It would be negligent for me to do otherwise.
I try to use my power and influence for the betterment of those around me, most especially for my dearheart:
Though it does not end there with just my dearheart, as I aim to help the world and its people too.
To that end, I ensure that my interviews are as low-stress and amicable as possible. I explain what the interview will look like, reassure the candidate when they're taken aback by my harder questions, and lead with empathy.
All these interviews are good practise for my eventual goal: leadership. I'm getting more and more comfortable judging the abilities of candidates.