Sketchy Job Interviews - 2022-09-29

Connor Tumbleson recently shared Someone is pretending to be me where at another company, he caught a group of people impersonating him to hire someone in his name. A follow-up post came on orange site, (Ask HN: Have you experienced "hiring fraud?") and I'd like to share my experience too.

I have been personally emailed the following:

Hope you're doing well.

We're a tightly-knit team of full-stack developers and we need someone who can help us with client communications. Most of our developers are not native English speakers and we often face communication issues. That's why we need someone who's based in the U.S and has technical background.

The main responsibility will be taking job interviews on our behalf. You should be able to join the meetings under someone else's name.

This is an hourly engagement and the rate is $40 ~ $80 / hr depending on your experience.

Please kindly reply to this email if you're interested.

scrungly

What in the world is this???

I had to reread this email several times to pick apart what it was wanting from me.

Lots of 🚩🚩🚩 for me here.

Side story: my time as an interviewer

I hire people on my team. I have built up other teams during a growth stage my employer had. Unfortunately, the market has changed, and consequently a "workforce reduction" cut out 50% of the company. A further 20% more have left since then without backfill.

I have interviewed around eighty candidates. Maybe more. Though I'm not hiring any more right now, sorry.

A recruiter would sift through the hundreds of applicants, they may do an initial feeler interview to assess communication skills, cultural match, and verbally verify circumstances that impact employment eligibility.

Once I get them, I review cover letters, resumés, and any other answers previously collected. Sometimes those answers include links to projects online!

Cendyne

Whoa, a candidate that shares a personal project github link? Time to analyze it.

Used git annotate for the first time, another helpful tool (on brew) git-quick-stats provides other helpful info.

Looks like this crew of uni students used github as a collaborative notepad

Feb 03 2022 23:09:22 UTC

Cendyne

I normally use annotate in the IDE, but there's no reason to open an untrusted project on my machine.

It is a discord bot in node js, they'd do some integration with a service and give summaries of it on demand.

I do not envy the recruiter who has to go through 180 entries.

Feb 03 2022 23:13:15 UTC

sweating
Be cautious about judging GitHub code samples as better than those without. Most that share these happen to be straight white men and you may be biasing against other cultures and genders.

At this stage, I craft an interview plan that specifically targets both their claimed strengths and pokes into any omissions in the public job requirements. Every interview has a unique script.

The problems are selected from a library that I and others have made to assess specific skill sets along with hints and the like for those who lack specific knowledge.

But some just outright will not try. I can try to force a hint and they make it clear they have given up.

Cendyne

Do you ever have such a dud of an interview where the candidate can't be bothered to critically think about the problem and ask questions?

*sees screens of metrics, gets forced hints* nope
*sees a challenge that graduates from college get* nope

Mar 04 2022 02:30:05 UTC

As an interviewer, I try my best to give everyone a chance, and that includes those who have less than stellar verbal English skills. I specifically have interviewed potential contractors from Ukraine. I patiently repeated my questions and rephrased questions and hints in different ways so they may prove their skills.

One of those who did get through. He had a companion already on the team who could speak the same tongue and that influenced my decision. After being hired onto the team I helped build on the side, he did fine. However due to the workforce reduction, I no longer have professional contact with him.

Over two years, I have seen how this contracting team needs rigorous communication to succeed. It is so obvious in person that it gets glossed over, communication is important. Cross-language communication is tricky.

It does not matter technically strong someone is if they cannot communicate. This goes for native English speakers too.

Shirt that reads Weeks of Programming can save you hours of planning

I have a shirt that reads "Weeks of programming can save you hours of planning", I believe the same concept applies to communicating too.

There is a tendency to be like "oh meetings are the bane of a developer's life." But if you literally build something that never gets deployed, guess what happens when a workforce reduction comes by? You get cut. And it sucks.

I am having a way easier time justifying positions and supporting people on my team when they have technology in production and they make an impact to the business to my superiors.

I nearly lost two people on my team, only for two others to conveniently hand in their resignations before the workforce reduction went public.

I was traumatized by knowing until the last day that my team would be ripped apart because we failed to communicate. We failed to build the right thing. We failed to get stuff in production because we did not prioritize communication.

How I feel about proxy interviews

This is fraud. It is unethical. It is misrepresenting the person who will be doing the job.

This is harmful and sows mistrust in foreigners and other cultures.

If your excuse is you cannot communicate well enough, I am sorry. I cannot take on the risk of poor communication. I have gone through pain because I did not realize how important communication was.

Communication is essential to obtaining and keeping a job.
Communication is essential to making an impact to the organization.
Communication is essential to making a lasting change.

How to spot fraud

Sketchy Job Interviews and how to spot them
Unrealistic Seattle background by some input Xe Iaso tried in Stable Diffusion.

Use rigorous interviewing.

Do not ask someone to show their passport over a terrible webcam or ask questions like "What's your mother's maiden name?"

Instead, research their previous employer on the resumé. Develop theories between their declared accomplishments and the employer's needs. Verbally question them over their accomplishments and focus on detail. Dive into concrete experiences.

That, or let them drive the starting point. What is a recent project they found engaging and exciting? It can be professional or personal – the point is to get them to choose in this scenario.

If it's all "I helped with such and such," ask how they helped, ask about the challenges they faced. But specifically ask them how their work impacted their organization's customers, vendors, whoever was outside because of their efforts.

Let your bullsh*t detector take control as you honestly probe for their experience and passion.

Here's an example of how I might interview someone with my history.

Hi there, in your resumé for ${company here}, you mention getting multiple single-page-apps deployed to the same website. Would you talk about that?
talking
talking
A new frontend team came onboard that year and their goal was to get a new product launched for a new business vertical. I realized the new team was unable to deploy their work before they did, since I work on the platform team. I designed and led a team to produce a deployment technology to get their work out the door so this important product could launch on time.
What tech was the frontend team using and how did you set it up to work?
thinking
cupcake
They were using Angular. I set up a build process that overwrote some app variables for where its static assets would be hosted, since it was not going to be hosted on the same domain the single-page-app would launch on.
How were these assets stored and deployed?
hmm
laptop2
At build time, they are put into a tar.gz which lands in a "deployables" bucket. When it is deployed, it is unpacked into an S3 bucket which is accessible from a CloudFront distribution. It gets unpacked into an immutable directory path so it cannot disrupt any other deployment.
How does the server know which single-page-app to serve to the browser?
laptop-thinking
angel
The server has a background process that polls a central configuration store for what frontends to serve on which URLs. As part of the deployment process, it sets that configuration to say these paths should have this HTML sent to the browser. This enabled QA to test versions rapidly, since they did not have to wait for new backend resources to be deployed.
It sounds like multiple frontends could be deployed with this. Has that happened?
notes
dejected
You're right! That was part of the original design. Unfortunately, the workforce reduction happened before a second frontend application could be added since that new frontend team was dissolved.

If you're worried about fraud or someone who was just dead weight, this approach helps you with both! But this only works for those with existing experience.

If you're dealing with a junior role and a likewise junior candidate, craft a take home challenge beforehand. Allow them to solve multiple problems. Then, in the interview, ask them about their code changes. Ask even the obvious things like "What does this @ mean on this line?", "Why did you make this change here? What did that solve?"

If they truly solved it themselves, it is still so recent in their memories that they can enthusiastically discuss the experience they gained while solving your challenge.

With this method, I have found and vetted one of the best junior hires I have ever made. Every other week, he receives shout-outs from others in the engineering organization.

You too can make a good hire. It just takes good interviewing.

Oh, and don't forget to actually contact their references. However, you might find that the reference may be legally limited to what they can disclose.

I have seen a new hire get terminated on day one. The most you lose from this is a setback on your hiring schedule and a laptop. You have tools to deal with bad hires and fraud. Terminate early for misrepresentation, improper conduct, or non-cooperation.