September 9th, 2024

Reflections on interviewing and hiring

Over the years I've done my fair share of interviewing, as an applicant. It wasn't until recently that I started seeing the process from the other side - that of the hiring manager. It's certainly been an eye-opening experience. Interviewing from the perspective of the job searcher is certainly an uncomfortable undertaking, all the more so if you don't have a job. If you're doing it while already employed, perhaps to see what else is out there or perhaps just to keep your skills sharp, the pressure is certainly less, but I would still not call it fun, or even interesting. So recently, when I was asked to assist in the hiring process at my current employer, it was a bit surprising to learn which parts of the process can actually be fun or interesting. It is important to look for such things if you want to endure and break through the storm that is the hiring process. What I am about to describe here is the backend software engineering interviewing landscape in the USA. It may or may not look like that with other engineering roles, other industries, or other countries. Nevertheless, you may be surprised by my reflections.

Resumes

We had an opening for a backend engineering position that was open for five months before I was brought in to help. By this time there had been thousands of applicants, many of which unfortunately would just sit there indefintely unread due to the volume. If a hiring manager is not diligent and on top of things, there will simply be too much of a backlog to ever get through without taking shortcuts and skipping people here and there. When I came in, I decided to go through all applicants that were no older than 2 weeks. I made the assumption that any application that had been waiting longer than that time period had already moved on. This still meant going through a couple hundred resumes, and that's where the landscape really started to reveal itself. You, like most people, probably heard or read the recommendation to simplify your resume, to make it easily ingestible by an automated applicant tracking system, to highlight keywords, and to mention numbers. What you probably don't know, especially if you have never been a hiring manager in this space, is that 90% of applications are fake. There are people faking their experience and identities, blanket applying to as many positions as possible in the hope that somewhere they get a hit. And it must work, somewhere, because otherwise they wouldn't keep doing it.

Spotting fakes

Not all the fake applications are immediately obvious. In fact, it is becoming more and more difficult to spot the fake ones because legitimate people are writing their resumes to be easily interpretable by automated tracking systems, but in the process make them resemble almost entirely those generated by bots and scammers. This problem is only exacerbated by the use of LLMs by both sides, genuine and fake. It wasn't until I saw a resume that looked genuine describe a hobby project with the same name and same exact description, word for word, as one I had seen only an hour before in the resume of someone on the other side of the country with experience in an entirely different domain. How could these two seemingly unrelated people have worked on the same project? Because there was no such project, it was made up. That being said, I am not going to be able to catch every fake resume, in fact I just hope I can spot the majority of genuine ones. Some fake ones do get through, which then leads to interviews where you can see things like the applicant mouthing to an unseen person in the room to get answers to technical questions, constantly looking to a second monitor where they are checking responses from ChatGPT, or even overlaying a fake face over their own and speaking with a voice modulator. What we ended up doing to filter out fake applicants was to only really look at resumes that had a link to either a GitHub or LinkedIn profile. Now this comes with the obvious drawback that not every genuine person will have such a thing on their resume. In fact at the time of writing this blog, my resume has no such link! But with so many fake applicants and limited resources and time, concessions have to be made.

Actual interviewing

Even after filtering for genuine resumes, we still needed to find qualified candidates. Surprisingly, most of the resumes that got through the filter either matched or were close to matching the qualifications. I pushed for bringing the majority of them in for the screen round. Our interview format is quite technical, and we only had openings for senior engineers, so even after getting to the screen round most applicants were still rejected because they were unable to demonstrate sufficient technical knowledge. It's possible that what we were looking for is becoming outdated, seeing how so many applicants were only expecting high level questions and were used to having LLMs generate the majority of their code in their current positions. Our technical questions centered around the low level inner workings of .NET, and were more about learning how someone thinks than whether they can implement it. Nevertheless, eventually some people did get through, and less than a month after I was brought in to help, during which we had added a few more backend engineering openings, we hired four new backend engineers.

Lessons learned

If there is anything I got out of this experience it is the knowledge that applying to an engineering role is very hard, because not only are you competing with many of the very smart and skilled engineers that were affected by the industry-wide layoffs of 2023 and 2024, you are also competing with an ever-increasing number of bots sending out fabricated resumes. My recommendation is going to go against the norm - I recommend you make a resume that does not look like the others. It should not be built from a cookie cutter template. Try going with a unique layout, or add some other personal touch. I pushed one resume through simply because they had a section at the end of their resume stating what they like to do in their free time, even despite their experience not being a perfect match with the job requirements. You may not get to the first round with companies that only use automated applicant tracking systems, but you will stand out in the crowd when reviewed by hiring managers that do look at the actual resumes. After they just wasted time weeding out a dozen fake resumes, your quirky but genuine one is going to get a lot of leeway and second chances. Oh and make sure you include a link to some online profile.