john mark lowry
§ field notes · oct 2026

a hiring screen that wouldn't screen me out

168 resumes, one AI-assisted pass, and the rules I rewrote after reading its work. Rank on substance; infer nothing.

I was hiring for a technical product owner this fall, someone who would report to me and sit right in the space between product and engineering. The posting went up and 168 resumes came in. That's a lot of reading for one person with a day job, so I did the obvious thing and built an AI-assisted first pass.

Then I read what it did, and I didn't love it.

Nothing it produced was outrageous. The problem was what it was free to weigh. A screening pass with no rules about inputs will happily read things that have nothing to do with whether someone can do the job: an address that implies a commute, dates that hint at an age, phrasing that brushes against a work-authorization question nobody asked, a resume that looks like it came off a template. Each of those calls can be defended on its own. Together they add up to a screen that rewards people for looking like the job description.

Here's the rub. I would not pass that screen.

the keyword problem

My path runs through music theory, coffee shops, print production, healthcare marketing systems, agency ops and, eventually, product leadership on a platform that serves millions of people a month. No keyword filter on earth connects those dots. The things that make me good at this job (pattern recognition across fields, comfort building the thing myself, a long memory for what breaks in production) live in the connections between the lines of a resume, not in the lines.

So the question wasn't how to make the screen faster. It was what the screen should be allowed to look at.

the rules I rewrote

I rewrote the pass after my own review, and the rewrite is mostly a list of things it may not do.

Rank on substance only. What has this person built, shipped, owned or fixed? How do they describe a problem and what they did about it? That's the whole input. Everything else is noise that happens to be easy to measure.

Infer nothing. The screen never guesses at work authorization, distance, age or what a resume's visual template says about someone. If a fact matters, we ask it directly, and we ask everyone. A model that infers is a model that discriminates politely.

Same questions for everyone. Every candidate who moves forward gets the same questions in the same order. It's the cheapest fairness tool there is, and it makes the comparisons honest.

Verify by demo or repo. Claims are cheap, and a resume is a list of claims. The proof is a walkthrough of something they made or a repository I can actually open. That cuts both ways: it's harder to bluff, and it's easier for someone with a weird path to show what they can do.

people like me

I was explicit about the calibration, because every screen has one whether you write it down or not. Mine was “people like me,” by which I mean a disposition, not a demographic: a bias to action, comfort with ambiguity, evidence of having built something nobody asked them to build. Non-linear paths were welcome. A match to the job description was not required.

That calibration is a choice, and I'd rather make it on purpose than inherit one from a keyword list. A screen that rewards job-description fluency hires people who are good at job descriptions.

what the AI was actually for

I'm not anti-tool here. The AI pass did real work. It read everything, summarized what each person had actually done, and flagged the specifics worth a closer look. What it didn't get to do was decide. I read the ranked list, checked it against the underlying resumes, overruled it where it was wrong, and the top of the list got interviews.

That's the same rule I teach in our AI sessions: plausible is the model's job, correct is yours. A screening model will happily give you a plausible ranking. Whether it's correct, and whether it's fair, is on whoever signs off on it. In this case that was me, and I wasn't willing to sign a list that would have filtered out the person writing the rules.

the part that generalizes

If you're using AI anywhere near hiring, read what it did before you trust what it decided. Then write down what it isn't allowed to consider, because that list is where the bias hides. The “reasonable” calls are the ones to watch. Nobody notices a screen that politely prefers people who look like the posting until they go looking for the people it never showed them.

I'd have been passed over by a keyword screen. So I built one that wouldn't do that, and I'd build it the same way again.

← all writing