Software engineering

A software engineering CV that survives the parser

Engineering CVs fail for a reason that has nothing to do with engineering: two columns of icons, a skills grid drawn as a table, and a stack listed but never used in a sentence.

A recruiter filling an engineering role almost never reads first. They search: a language, a framework, a cloud, sometimes a version. Whatever is not in the parsed text of your CV does not exist for that search, however prominent it looks on the page.

The second failure is subtler. A skills section that lists twenty technologies and an experience section that mentions none of them reads as a wish list. The technologies that count are the ones that appear inside a sentence about something you built.

Put the stack where it is searched

Name the technology in the bullet that describes the work, not only in a list at the bottom. A search for Kubernetes matches a sentence about migrating a service to it far better than a word floating in a grid, and a human reading the same line learns something.

  • Write the language and the framework in the same bullet as the outcome they produced.
  • Spell out both forms of anything with two names: Postgres and PostgreSQL, JS and JavaScript, K8s and Kubernetes.
  • Keep the skills section, but as a short index of what the experience already proves.

Bullets with a number in them

Engineering work has measurements built in, which is a luxury most fields do not have: latency, error rate, build time, cost per request, incidents. A bullet that carries one of them is checkable, and a checkable claim is what a technical interviewer opens the conversation with.

  • Cut the p95 of the checkout endpoint from 1.2 s to 300 ms, rather than improved performance.
  • Say the size of what you worked on: requests per second, rows, services, people on the team.
  • Name your part of a team result, because a claim that is obviously not yours alone costs you the rest of the page.

Common questions

Should a developer CV be one page?
One page up to about five years of experience, two after that. The rule that matters is not the count but the ratio: every additional page has to earn itself with work that a reader would be worse off not knowing about. Older jobs collapse into a line each.
Do I put my GitHub on it?
Put it in if the profile shows work: repositories with commits in the last year, or one project with a readme somebody could follow. An empty profile linked prominently invites the reader to go and find it empty, which is worse than the space it saved.