Resumes and Storytelling
My most recent employer shut down operations last month, very sad. I enjoyed working with Ryan and Brendan and Alison and Joseph and our clients very much, but the time has come for change, as it always does.
Everything that has a beginning has an end.
~~ The Oracle, Matrix Revolutions (2003)
So now I am looking for a job in 2026. Because it is 2026 and I am a software engineer, I am, of course, using AI/agentic tools to help with that process. I plan, and maybe will follow through with, a series of blog posts here regarding how I’m doing that process. We’ll see if this is the first in that series… or not. 😉
Computers are Making Management Decisions
Today, I want to explain where I draw a line in the sand regarding the use of agentic tools. Employers are using agents to do all sorts of things in the HR space. These tools are:
- Dumb algorithms that are nonetheless effective at doing their work.
- Smarter algorithms using machine learning and LLMs, which are sometimes even more effective (though sometimes less effective than people might assume).
It is important to realize that algorithmic operations in HR have been going on for a long time. Despite the famous IBM quote from 1979 that I keep seeing:
A computer can never be held accountable therefore a computer must never make a management decision.
This has almost certainly been violated by IBM on a regular basis ever since. If a recruiter receives 300 applications for a job, she is not going to carefully read all 300. Not even in the days before computers would that have happened. She would have invented an algorithm on the fly to discard all but the number she could evaluate more carefully. In ye olden days, one of the better algorithms might have involved finding a buzzword or two on the front page of each and keeping those, throwing out the rest. Often, it also included things like: I don’t like staples; throw out the ones that are stapled.
In some ways, things are better today because the algorithms being used to sort resumes are smarter. At least in theory, they are more likely to be based on the content in the resume and the job description and involve some algorithm designed to find alignment between the two.
I had to start somewhere. Doing a better job of tailoring my resumes to each employer has been something I have always striven to do in honor of Ms. Nora Ransom, my professor of technical writing. (That is, most of her suggestions were obviously good ideas, so I should listen.) Thus, I chose resume customization and sort survival as my first task. How do I get my resume to float to the top of the stack? Or, at least, as high as it can get without resorting to sycophantic lying.
In my estimation, this requires a couple of activities:
- Evaluating jobs and making sure my skill set closely matches what the employer is looking for
- Making sure the resume they receive is written to showcase that match so that when it gets sorted, it rises to the top
Algorithm vs. Algorithm: FIGHT!
In this post, I’m focusing on how I solve that second problem: Once I have decided to apply to a job, how do I make sure I give them the best resume I can produce? Technical writing is never just about providing information, but it’s also about knowing your audience.
- Don’t waste their time with facts they don’t care about.
- Make sure that you provide them the facts they care about in a way they will be able to process and understand.
To this end, I have developed my own algorithm and a knowledge base of information to feed it. I have both dumb traditional algorithms and smart ones using LLM agents to oppose those that HR departments and applicant tracking systems have arrayed against me.
Telling my own Story
However, in that task, I do draw a line regarding what the algorithms are permitted to do on my behalf. There are tasks I will not allow the agent to do for me. The most important of these lines is this:
I do not allow an algorithm to tell my story.
This line is not crystal clear. Let me explain…
When I write a resume or a cover letter in my job search, every word and sentence in those documents must be mine. I want them to be written in my voice, with my cadence, and with my story. If someone arranges a job interview, I want them to hear me speaking as a continuation of how and what I wrote in my resume and cover letter.
However, to get past my opponent’s algorithm, I want my claims to rise to the top. So I need a counter-algorithm: a way to simulate the information retrieval and ranking algorithms the employer is using and then try to counter that. At the moment, I’m using a combination of information retrieval and ranking algorithms using traditional methods and an LLM agent to help me oversee it.
If I find a job quickly, maybe that’s evidence that I was right and if I don’t, maybe that’s evidence that I was wrong. Or maybe it’s just a sign of how generally hirable I am. It’s difficult to make correlations based on a single human.
The Knowledge-based Solution
I have built a knowledge base that is filled with claims about myself, categorized by former employer, education, etc. These say things like “I am experienced writing software in Go.” “I am familiar with Kubernetes.” “I wrote a CSRF mitigation scheme.” My actual claims are more dynamic than these, culled from past resumes that I have written with new claims added when I feel the need (read on), but this is the general idea.
My resume builder breaks down all the claims in the job requisition. Then, claim by claim, it matches those against claims I make about myself.
For example, if the requisition says:
Must Have: Experience writing software using Go.
My algorithm includes a matching claim for each employer it can:
ZipRecruiter: I wrote web application software in Go.
Solo.io: I worked on Kubernetes controllers written in Go.
Speakeasy: I worked on an OpenAPI SDK generator that output Go.
Full Stack GTM: I built SaaS applications from scratch with Go backends.
And so on.
Every claim in the resume is mine, but my algorithm, with oversight by my LLM agent, curates which of the available claims from the knowledge base are added to the resume. The idea being, hopefully, that my resume floats toward the top of their sort, which uses similar matching tools to decide how well my resume matches their job requisition.
Smash or Pass?

The smash or pass process.
Before I send the resume off, I do my own personal review, which I call the resume smash.
- The system identifies the weakest claims I have, those places where my resume does not match the job requisition, and points them out to me.
- For each claim, I decide whether to smash or pass.
- If I smash, it renders the resume as a Markdown document and opens it in my editor. I edit the resume there. The software notes what I changed or added. Those are added as new claims in the knowledge base and update the resume I’m about to send. Related claims are recorded as spins of hte same claim to help avoid making the same claim twice.
- If I pass, nothing happens. I am admitting defeat, for example, nope, I don’t have experience with Apache Kafka.
Returning real quick to the idea of a spin, often the same experience can be stated two ways that highlight different aspects. For example, I could say each of the following regarding my experience at ZipRecruiter.
- “I managed the bug bounty program, which paid out tens of thousands of dollars in security bounties and collaborated with software engineers regarding fixes.”
- “While running the bug bounty program, I worked with security researches to identify problems, triage them, and pass them on to software engineers to make fixes.”
If I were applying to a management position, I could prefer the first. However, for a staff or principal position might lean into the second.
My resume does not tell the complete truth. It only tells as much of the truth as is likely to matter to the audience that will read it. Sadly, my resume always omits that I was once a rad DJ on the FM radio waves back in the 1900s. Oh well.
The truth. It is a beautiful and terrible thing, and should therefore be treated with great caution. However, I shall answer your questions unless I have a very good reason not to, in which case I beg you’ll forgive me. I shall not, of course, lie.
~~ Albus Percival Wulfric Brian Dumbledore, Harry Potter and the Sorcerer’s Stone, J.K. Rowling
No false claims are made. No hallucinations are possible in what I claim about myself because I do not permit the agent to write claims for me. I only permit it to select claims. If there’s a hallucination, it made the mistake of putting the wrong claim onto my resume, but the inclusion is still my own claim about me. The words, the phrasing, and the voice are all mine. But the selection and ordering are determined largely by the algorithm.
I think the line is pretty clear, but the edges are slightly blurred if you look closely. So far, however, I am comfortable with it.
Does it work?

A sample resume generated by my system.
Is it working? Not yet, but I’ve only just started. While the resume problem was critical to solve early, there are bigger problems to solve that I think are preventing my success so far:
- Cold posting a resume is a terrible way to get a job. It can succeed, but it sucks. It’s a lot like cold calling in sales. You do it and sometimes you win, but it is a lot more toil per conversion than calling leads who have already shown interest.
- The best way is the networking way. Who do I know? At this point in my career, I know a lot of people. Some of them still like me. I am going down the list to find everyone who knows me and still might be willing to work with me again. Both of my favorite positions, ZipRecruiter and Full Stack GTM, came to me because of a network contact.
Networking aside, I need to refine my funnel. How do I find opportunities that have a higher likelihood of success? I’m thinking that LinkedIn, which worked okay last time, is not it this time. Nor is Indeed or ZipRecruiter. These leads are not just cold, but they feel frigid.
That problem is much more interesting and the one I’m just beginning to tackle. Perhaps I will consider an aspect of that problem as my next blog post. Or maybe I will go into how I evaluate the leads that enter the funnel. Either way, there are a lot of pieces to this puzzle and I am looking for the W-rizz on them all as my kids used to say, but probably don’t anymore.
Cheers.